URL
https://opencores.org/ocsvn/s80186/s80186/trunk
Subversion Repositories s80186
[/] [s80186/] [trunk/] [documentation/] [instructions.yaml] - Rev 2
Compare with Previous | Blame | View Log
add:flags:O: MS: MZ: MA: MC: MP: Mencodings:- opcode: 0x00operands: [Eb, Gb]- opcode: 0x01operands: [Ew, Gw]- opcode: 0x02operands: [Gb, Eb]- opcode: 0x03operands: [Gw, Ew]- opcode: 0x04operands: [AL, Ib]- opcode: 0x05operands: [AX, Iw]- opcode: 0x80operands: [Eb, Ib]reg: 0- opcode: 0x81operands: [Ew, Iw]reg: 0- opcode: 0x82operands: [Eb, Ib]reg: 0- opcode: 0x83operands: [Ew, Ib]reg: 0adc:flags:O: MS: MZ: MA: MC: MP: Mencodings:- opcode: 0x10operands: [Eb, Gb]- opcode: 0x11operands: [Ew, Gw]- opcode: 0x12operands: [Gb, Eb]- opcode: 0x13operands: [Gw, Ew]- opcode: 0x14operands: [AL, Ib]- opcode: 0x15operands: [AX, Iw]- opcode: 0x80operands: [Eb, Ib]reg: 2- opcode: 0x81operands: [Ew, Iw]reg: 2- opcode: 0x82operands: [Eb, Ib]reg: 2- opcode: 0x83operands: [Ew, Ib]reg: 2sub:flags:O: MS: MZ: MA: MC: MP: Mencodings:- opcode: 0x28operands: [Eb, Gb]- opcode: 0x29operands: [Ew, Gw]- opcode: 0x2aoperands: [Gb, Eb]- opcode: 0x2boperands: [Gw, Ew]- opcode: 0x2coperands: [AL, Ib]- opcode: 0x2doperands: [AX, Iw]- opcode: 0x80operands: [Eb, Ib]reg: 5- opcode: 0x81operands: [Ew, Iw]reg: 5- opcode: 0x82operands: [Eb, Ib]reg: 5- opcode: 0x83operands: [Ew, Ib]reg: 5sbb:flags:O: MS: MZ: MA: MC: MP: Mencodings:- opcode: 0x18operands: [Eb, Gb]- opcode: 0x19operands: [Ew, Gw]- opcode: 0x1aoperands: [Gb, Eb]- opcode: 0x1boperands: [Gw, Ew]- opcode: 0x1coperands: [AL, Ib]- opcode: 0x1doperands: [AX, Iw]- opcode: 0x80operands: [Eb, Ib]reg: 3- opcode: 0x81operands: [Ew, Iw]reg: 3- opcode: 0x82operands: [Eb, Ib]reg: 3- opcode: 0x83operands: [Ew, Ib]reg: 3and:flags:O: MS: MZ: MC: MP: Mencodings:- opcode: 0x20operands: [Eb, Gb]- opcode: 0x21operands: [Ew, Gw]- opcode: 0x22operands: [Gb, Eb]- opcode: 0x23operands: [Gw, Ew]- opcode: 0x24operands: [AL, Ib]- opcode: 0x25operands: [AX, Iw]- opcode: 0x80operands: [Eb, Ib]reg: 4- opcode: 0x81operands: [Ew, Iw]reg: 4- opcode: 0x82operands: [Eb, Ib]reg: 4- opcode: 0x83operands: [Ew, Ib]reg: 4test:flags:O: MS: MZ: MC: MP: Mencodings:- opcode: 0x84operands: [Gb, Eb]- opcode: 0x85operands: [Gw, Ew]- opcode: 0xa8operands: [AL, Ib]- opcode: 0xa9operands: [AX, Iw]- opcode: 0xf6operands: [Eb, Ib]reg: 0- opcode: 0xf6operands: [Eb, Ib]reg: 1- opcode: 0xf7operands: [Ew, Iw]reg: 0- opcode: 0xf7operands: [Ew, Iw]reg: 1neg:flags:O: MS: MZ: MC: MP: MA: Mencodings:- opcode: 0xf6operands: [Eb, Ib]reg: 3- opcode: 0xf7operands: [Ew, Iw]reg: 3not:flags:O: MS: MZ: MC: MP: MA: Mencodings:- opcode: 0xf6operands: [Eb, Ib]reg: 2- opcode: 0xf7operands: [Ew, Iw]reg: 2or:flags:O: MS: MZ: MC: MP: Mencodings:- opcode: 0x08operands: [Eb, Gb]- opcode: 0x09operands: [Ew, Gw]- opcode: 0x0aoperands: [Gb, Eb]- opcode: 0x0boperands: [Gw, Ew]- opcode: 0x0coperands: [AL, Ib]- opcode: 0x0doperands: [AX, Iw]- opcode: 0x80operands: [Eb, Ib]reg: 1- opcode: 0x81operands: [Ew, Iw]reg: 1- opcode: 0x82operands: [Eb, Ib]reg: 1- opcode: 0x83operands: [Ew, Ib]reg: 1xor:flags:O: MS: MZ: MC: MP: Mencodings:- opcode: 0x30operands: [Eb, Gb]- opcode: 0x31operands: [Ew, Gw]- opcode: 0x32operands: [Gb, Eb]- opcode: 0x33operands: [Gw, Ew]- opcode: 0x34operands: [AL, Ib]- opcode: 0x35operands: [AX, Iw]- opcode: 0x80operands: [Eb, Ib]reg: 6- opcode: 0x81operands: [Ew, Iw]reg: 6- opcode: 0x82operands: [Eb, Ib]reg: 6- opcode: 0x83operands: [Ew, Ib]reg: 6cmp:flags:O: MS: MZ: MA: MC: MP: Mencodings:- opcode: 0x38operands: [Eb, Gb]- opcode: 0x39operands: [Ew, Gw]- opcode: 0x3aoperands: [Gb, Eb]- opcode: 0x3boperands: [Gw, Ew]- opcode: 0x3coperands: [AL, Ib]- opcode: 0x3doperands: [AX, Iw]- opcode: 0x80operands: [Eb, Ib]reg: 7- opcode: 0x81operands: [Ew, Iw]reg: 7- opcode: 0x82operands: [Eb, Ib]reg: 7- opcode: 0x83operands: [Ew, Ib]reg: 7nop:encodings:- opcode: 0x90pop:encodings:- opcode: 0x58operands: [AX]- opcode: 0x59operands: [CX]- opcode: 0x5aoperands: [DX]- opcode: 0x5boperands: [BX]- opcode: 0x5coperands: [SP]- opcode: 0x5doperands: [BP]- opcode: 0x5eoperands: [SI]- opcode: 0x5foperands: [DI]- opcode: 0x07operands: [ES]- opcode: 0x17operands: [SS]- opcode: 0x1foperands: [DS]- opcode: 0x8foperands: [Ew]popf:flags:O: MS: MZ: MA: MC: MP: MT: MI: MD: Mencodings:- opcode: 0x9dpush:encodings:- opcode: 0xffreg: 6operands: [Ew]- opcode: 0x06operands: [ES]- opcode: 0x0eoperands: [CS]- opcode: 0x16operands: [SS]- opcode: 0x1eoperands: [DS]- opcode: 0x50operands: [AX]- opcode: 0x51operands: [CX]- opcode: 0x52operands: [DX]- opcode: 0x53operands: [BX]- opcode: 0x54operands: [SP]- opcode: 0x55operands: [BP]- opcode: 0x56operands: [SI]- opcode: 0x57operands: [DI]- opcode: 0x68operands: [Iw]- opcode: 0x6aoperands: [Ib]notes:- The core implements the original 8086/80186 behaviour of pushing thedecremented value of SP in a 'push sp' instruction rather than theoriginal value.pushf:encodings:- opcode: 0x9cpopa:encodings:- opcode: 0x61pusha:encodings:- opcode: 0x60clc:flags:C: 0encodings:- opcode: 0xf8stc:flags:C: 1encodings:- opcode: 0xf9cli:flags:I: 0encodings:- opcode: 0xfasti:flags:I: 1encodings:- opcode: 0xfbcld:flags:D: 0encodings:- opcode: 0xfcstd:flags:D: 1encodings:- opcode: 0xfdcmc:flags:C: Mencodings:- opcode: 0xf5lahf:encodings:- opcode: 0x9foperands: [AH]sahf:flags:C: MP: MA: MZ: MS: Mencodings:- opcode: 0x9eoperands: [AH]setalc:flags:C: Mencodings:- opcode: 0xd6operands: [AL]xlat:encodings:- opcode: 0xd7operands: [AL, BX]leave:encodings:- opcode: 0xc9cbw:encodings:- opcode: 0x98operands: [AL]cwd:encodings:- opcode: 0x99operands: [AX]inc:flags:O: MS: MZ: MA: MP: Mencodings:- opcode: 0xfereg: 0operands: [Eb]- opcode: 0xffreg: 0operands: [Ew]- opcode: 0x40operands: [AX]- opcode: 0x41operands: [CX]- opcode: 0x42operands: [DX]- opcode: 0x43operands: [BX]- opcode: 0x44operands: [SP]- opcode: 0x45operands: [BP]- opcode: 0x46operands: [SI]- opcode: 0x47operands: [DI]dec:flags:O: MS: MZ: MA: MP: Mencodings:- opcode: 0xfereg: 1operands: [Eb]- opcode: 0xffreg: 1operands: [Ew]- opcode: 0x48operands: [AX]- opcode: 0x49operands: [CX]- opcode: 0x4aoperands: [DX]- opcode: 0x4boperands: [BX]- opcode: 0x4coperands: [SP]- opcode: 0x4doperands: [BP]- opcode: 0x4eoperands: [SI]- opcode: 0x4foperands: [DI]lds:encodings:- opcode: 0xc5operands: [Gw, Mp]lea:encodings:- opcode: 0x8doperands: [Gw, Mw]les:encodings:- opcode: 0xc4operands: [Gw, Mp]mov:encodings:- opcode: 0x88operands: [Eb, Gb]- opcode: 0x89operands: [Ew, Gw]- opcode: 0x8aoperands: [Gb, Eb]- opcode: 0x8boperands: [Gw, Ew]- opcode: 0xc6reg: 0operands: [Eb, Ib]- opcode: 0xc7reg: 0operands: [Ew, Iw]- opcode: 0xb0operands: [AL, Ib]- opcode: 0xb1operands: [CL, Ib]- opcode: 0xb2operands: [DL, Ib]- opcode: 0xb3operands: [BL, Ib]- opcode: 0xb4operands: [AH, Ib]- opcode: 0xb5operands: [CH, Ib]- opcode: 0xb6operands: [DH, Ib]- opcode: 0xb7operands: [BH, Ib]- opcode: 0xb8operands: [AX, Iw]- opcode: 0xb9operands: [CX, Iw]- opcode: 0xbaoperands: [DX, Iw]- opcode: 0xbboperands: [BX, Iw]- opcode: 0xbcoperands: [SP, Iw]- opcode: 0xbdoperands: [BP, Iw]- opcode: 0xbeoperands: [SI, Iw]- opcode: 0xbfoperands: [DI, Iw]- opcode: 0x8ereg: 0operands: [ES, Ew]- opcode: 0x8ereg: 1operands: [CS, Ew]- opcode: 0x8ereg: 2operands: [SS, Ew]- opcode: 0x8ereg: 3operands: [DS, Ew]- opcode: 0x8ereg: 4operands: [ES, Ew]- opcode: 0x8ereg: 5operands: [CS, Ew]- opcode: 0x8ereg: 6operands: [SS, Ew]- opcode: 0x8ereg: 7operands: [DS, Ew]- opcode: 0x8creg: 0operands: [Ew, ES]- opcode: 0x8creg: 1operands: [Ew, CS]- opcode: 0x8creg: 2operands: [Ew, SS]- opcode: 0x8creg: 3operands: [Ew, DS]- opcode: 0x8creg: 4operands: [Ew, ES]- opcode: 0x8creg: 5operands: [Ew, CS]- opcode: 0x8creg: 6operands: [Ew, SS]- opcode: 0x8creg: 7operands: [Ew, DS]- opcode: 0xa0operands: [AL, Ob]- opcode: 0xa1operands: [AX, Ow]- opcode: 0xa2operands: [Ob, AL]- opcode: 0xa3operands: [Ow, AX]aaa:flags:A: MC: Mencodings:- opcode: 0x37operands: [AX]aad:flags:S: MZ: MP: Mencodings:- opcode: 0xd5operands: [AX, Ib]aas:flags:A: MC: Mencodings:- opcode: 0x3foperands: [AX]daa:flags:S: MZ: MA: MC: MP: Mencodings:- opcode: 0x27operands: [AL]das:flags:S: MZ: MA: MC: MP: Mencodings:- opcode: 0x2foperands: [AX]imul:flags:C: MO: MZ: Mencodings:- opcode: 0xf6reg: 5operands: [Eb]- opcode: 0xf7reg: 5operands: [Ew]- opcode: 0x69operands: [Ew, Iw]- opcode: 0x6boperands: [Ew, Ib]mul:flags:C: MO: MZ: Mencodings:- opcode: 0xf6reg: 4operands: [Eb, Ib]- opcode: 0xf7reg: 4operands: [Ew, Iw]int3:encodings:- opcode: 0xccint:encodings:- opcode: 0xcdoperands: [Ib]xchg:encodings:- opcode: 0x86operands: [Gb, Eb]- opcode: 0x87operands: [Gw, Ew]- opcode: 0x91operands: [CX, AX]- opcode: 0x92operands: [DX, AX]- opcode: 0x93operands: [BX, AX]- opcode: 0x94operands: [SP, AX]- opcode: 0x95operands: [BP, AX]- opcode: 0x96operands: [SI, AX]- opcode: 0x97operands: [DI, AX]call:encodings:- opcode: 0xe8operands: [Iw]- opcode: 0x9aoperands: [Jp]- opcode: 0xffreg: 2operands: [Ew]- opcode: 0xffreg: 3operands: [Mp]iret:flags:C: MP: MA: MZ: MS: MT: MI: MD: MO: Mencodings:- opcode: 0xcfret:encodings:- opcode: 0xc3- opcode: 0xc2operands: [Iw]- opcode: 0xcb- opcode: 0xcaoperands: [Iw]rcl:flags:C: MO: Mencodings:# Single bit- opcode: 0xd0reg: 2operands: [Eb]- opcode: 0xd1reg: 2operands: [Ew]# By immediate- opcode: 0xc0reg: 2operands: [Eb, Ib]note: "+ (n-1)"- opcode: 0xc1reg: 2operands: [Ew, Ib]note: "+ (n-1)"# By reg- opcode: 0xd2reg: 2operands: [Eb, CL]note: "+ (n-1)"- opcode: 0xd3reg: 2operands: [Ew, CL]note: "+ (n-1)"rcr:flags:C: MO: Mencodings:# Single bit- opcode: 0xd0reg: 3operands: [Eb]- opcode: 0xd1reg: 3operands: [Ew]# By immediate- opcode: 0xc0reg: 3operands: [Eb, Ib]note: "+ (n-1)"- opcode: 0xc1reg: 3operands: [Ew, Ib]note: "+ (n-1)"# By reg- opcode: 0xd2reg: 3operands: [Eb, CL]note: "+ (n-1)"- opcode: 0xd3reg: 3operands: [Ew, CL]note: "+ (n-1)"rol:flags:C: MO: Mencodings:# Single bit- opcode: 0xd0reg: 0operands: [Eb]- opcode: 0xd1reg: 0operands: [Ew]# By immediate- opcode: 0xc0reg: 0operands: [Eb, Ib]note: "+ (n-1)"- opcode: 0xc1reg: 0operands: [Ew, Ib]note: "+ (n-1)"# By reg- opcode: 0xd2reg: 0operands: [Eb, CL]note: "+ (n-1)"- opcode: 0xd3reg: 0operands: [Ew, CL]note: "+ (n-1)"ror:flags:C: MO: Mencodings:# Single bit- opcode: 0xd0reg: 1operands: [Eb]- opcode: 0xd1reg: 1operands: [Ew]# By immediate- opcode: 0xc0reg: 1operands: [Eb, Ib]note: "+ (n-1)"- opcode: 0xc1reg: 1operands: [Ew, Ib]note: "+ (n-1)"# By reg- opcode: 0xd2reg: 1operands: [Eb, CL]note: "+ (n-1)"- opcode: 0xd3reg: 1operands: [Ew, CL]note: "+ (n-1)"sar:flags:C: MO: MZ: MP: MS: Mencodings:# Single bit- opcode: 0xd0reg: 7operands: [Eb]- opcode: 0xd1reg: 7operands: [Ew]# By immediate- opcode: 0xc0reg: 7operands: [Eb, Ib]note: "+ (n-1)"- opcode: 0xc1reg: 7operands: [Ew, Ib]note: "+ (n-1)"# By reg- opcode: 0xd2reg: 7operands: [Eb, CL]note: "+ (n-1)"- opcode: 0xd3reg: 7operands: [Ew, CL]note: "+ (n-1)"shl:flags:C: MO: MZ: MP: MS: Mencodings:# Single bit- opcode: 0xd0reg: 6operands: [Eb]- opcode: 0xd1reg: 6operands: [Ew]# By immediate- opcode: 0xc0reg: 6operands: [Eb, Ib]note: "+ (n-1)"- opcode: 0xc1reg: 6operands: [Ew, Ib]note: "+ (n-1)"# By reg- opcode: 0xd2reg: 6operands: [Eb, CL]note: "+ (n-1)"- opcode: 0xd3reg: 6operands: [Ew, CL]note: "+ (n-1)"sal:flags:C: MO: MZ: MP: MS: Mencodings:# Single bit- opcode: 0xd0reg: 6operands: [Eb]- opcode: 0xd1reg: 6operands: [Ew]# By immediate- opcode: 0xc0reg: 6operands: [Eb, Ib]note: "+ (n-1)"- opcode: 0xc1reg: 6operands: [Ew, Ib]note: "+ (n-1)"# By reg- opcode: 0xd2reg: 6operands: [Eb, CL]note: "+ (n-1)"- opcode: 0xd3reg: 6operands: [Ew, CL]note: "+ (n-1)"shr:flags:C: MO: MZ: MP: MS: Mencodings:# Single bit- opcode: 0xd0reg: 5operands: [Eb]- opcode: 0xd1reg: 5operands: [Ew]# By immediate- opcode: 0xc0reg: 5operands: [Eb, Ib]note: "+ (n-1)"- opcode: 0xc1reg: 5operands: [Ew, Ib]note: "+ (n-1)"# By reg- opcode: 0xd2reg: 5operands: [Eb, CL]note: "+ (n-1)"- opcode: 0xd3reg: 5operands: [Ew, CL]note: "+ (n-1)"esc:encodings:- opcode: 0xd8- opcode: 0xd9- opcode: 0xda- opcode: 0xdb- opcode: 0xdc- opcode: 0xdd- opcode: 0xde- opcode: 0xdfnotes:- Acts as a NOP unless built with -S80X86_TRAP_ESCAPE=ON otherwise raisestrap 7.hlt:encodings:- opcode: 0xf4notime: truewait:encodings:- opcode: 0x9bnotime: trueinb:encodings:- opcode: 0xe4operands: [Ib]- opcode: 0xecoperands: [DX]inw:encodings:- opcode: 0xe5operands: [Ib]- opcode: 0xedoperands: [DX]outb:encodings:- opcode: 0xe6operands: [Ib]- opcode: 0xeeoperands: [DX]outw:encodings:- opcode: 0xe7operands: [Ib]- opcode: 0xefoperands: [DX]aam:flags:S: MZ: MP: Mencodings:- opcode: 0xd4operands: [Ib]timing_operands:- [1]div:encodings:- opcode: 0xf6reg: 6operands: [Eb]timing_operands:- [10]- opcode: 0xf7reg: 6operands: [Ew]timing_operands:- [10]idiv:encodings:- opcode: 0xf6reg: 7operands: [Eb]timing_operands:- [10]- opcode: 0xf7reg: 7operands: [Ew]timing_operands:- [10]jmp:encodings:- opcode: 0xe9operands: [Iw]- opcode: 0xeaoperands: [Iw, Iw]- opcode: 0xeboperands: [Ib]- opcode: 0xffreg: 4operands: [Ew]- opcode: 0xffreg: 5operands: [Mp]je:encodings:- opcode: 0x74operands: [Ib]taken:ZF: 1not_taken:ZF: 0jl:encodings:- opcode: 0x7coperands: [Ib]taken:ZF: 1SF: 0not_taken:ZF: 0SF: 0jle:encodings:- opcode: 0x7eoperands: [Ib]taken:ZF: 1not_taken:ZF: 0OF: 0SF: 0jb:encodings:- opcode: 0x72operands: [Ib]taken:CF: 1not_taken:CF: 0jbe:encodings:- opcode: 0x76operands: [Ib]taken:ZF: 1not_taken:ZF: 0CF: 0jp:encodings:- opcode: 0x7aoperands: [Ib]taken:PF: 1not_taken:PF: 0jo:encodings:- opcode: 0x70operands: [Ib]taken:OF: 1not_taken:OF: 0js:encodings:- opcode: 0x78operands: [Ib]taken:SF: 1not_taken:SF: 0jne:encodings:- opcode: 0x75operands: [Ib]taken:ZF: 0not_taken:ZF: 1jnl:encodings:- opcode: 0x7doperands: [Ib]taken:SF: 0OF: 0not_taken:SF: 1OF: 0jnle:encodings:- opcode: 0x7foperands: [Ib]taken:SF: 0OF: 0ZF: 0not_taken:ZF: 1jnb:encodings:- opcode: 0x73operands: [Ib]taken:CF: 0not_taken:CF: 1jnbe:encodings:- opcode: 0x77operands: [Ib]taken:CF: 0ZF: 0not_taken:ZF: 1jnp:encodings:- opcode: 0x7boperands: [Ib]taken:PF: 0not_taken:PF: 1jno:encodings:- opcode: 0x71operands: [Ib]taken:OF: 0not_taken:OF: 1jns:encodings:- opcode: 0x79operands: [Ib]taken:SF: 0not_taken:SF: 1jcxz:encodings:- opcode: 0xe3operands: [Ib]taken:CX: 0not_taken:CX: 1bound:encodings:- opcode: 0x62operands: [Mp]into:encodings:- opcode: 0xceloop:encodings:- opcode: 0xe2operands: [Ib]taken:CX: 2not_taken:CX: 1loope:encodings:- opcode: 0xe1operands: [Ib]taken:CX: 2ZF: 1not_taken:CX: 1ZF: 0loopne:encodings:- opcode: 0xe0operands: [Ib]taken:CX: 2ZF: 0not_taken:CX: 1ZF: 1stos:encodings:- opcode: 0xaaoperands: [AL]- opcode: 0xaboperands: [AX]cmps:flags:O: MS: MZ: MA: MC: MP: Mencodings:- opcode: 0xa6use_prefix: 0xf3base:CX: 1next:CX: 2- opcode: 0xa7use_prefix: 0xf3base:CX: 1next:CX: 2lods:encodings:- opcode: 0xacuse_prefix: 0xf3base:CX: 1next:CX: 2- opcode: 0xaduse_prefix: 0xf3base:CX: 1next:CX: 2movs:encodings:- opcode: 0xa4use_prefix: 0xf3base:CX: 1next:CX: 2- opcode: 0xa5use_prefix: 0xf3base:CX: 1next:CX: 2ins:encodings:- opcode: 0x6cuse_prefix: 0xf3base:CX: 1next:CX: 2- opcode: 0x6duse_prefix: 0xf3base:CX: 1next:CX: 2outs:encodings:- opcode: 0x6euse_prefix: 0xf3base:CX: 1next:CX: 2- opcode: 0x6fuse_prefix: 0xf3base:CX: 1next:CX: 2scas:flags:O: MS: MZ: MA: MC: MP: Mencodings:- opcode: 0xaeuse_prefix: 0xf2base:AL: 0x77CX: 1next:AX: 0x7777CX: 2- opcode: 0xafuse_prefix: 0xf2base:AX: 0x7777CX: 1next:AX: 0x7777CX: 2enter:encodings:- opcode: 0xc8operands: [Iw, Ib]timing_operands:- [0, 0]- [32, 0]- [0, 1]- [0, 2]
