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: M
S: M
Z: M
A: M
C: M
P: M
encodings:
- opcode: 0x00
operands: [Eb, Gb]
- opcode: 0x01
operands: [Ew, Gw]
- opcode: 0x02
operands: [Gb, Eb]
- opcode: 0x03
operands: [Gw, Ew]
- opcode: 0x04
operands: [AL, Ib]
- opcode: 0x05
operands: [AX, Iw]
- opcode: 0x80
operands: [Eb, Ib]
reg: 0
- opcode: 0x81
operands: [Ew, Iw]
reg: 0
- opcode: 0x82
operands: [Eb, Ib]
reg: 0
- opcode: 0x83
operands: [Ew, Ib]
reg: 0
adc:
flags:
O: M
S: M
Z: M
A: M
C: M
P: M
encodings:
- opcode: 0x10
operands: [Eb, Gb]
- opcode: 0x11
operands: [Ew, Gw]
- opcode: 0x12
operands: [Gb, Eb]
- opcode: 0x13
operands: [Gw, Ew]
- opcode: 0x14
operands: [AL, Ib]
- opcode: 0x15
operands: [AX, Iw]
- opcode: 0x80
operands: [Eb, Ib]
reg: 2
- opcode: 0x81
operands: [Ew, Iw]
reg: 2
- opcode: 0x82
operands: [Eb, Ib]
reg: 2
- opcode: 0x83
operands: [Ew, Ib]
reg: 2
sub:
flags:
O: M
S: M
Z: M
A: M
C: M
P: M
encodings:
- opcode: 0x28
operands: [Eb, Gb]
- opcode: 0x29
operands: [Ew, Gw]
- opcode: 0x2a
operands: [Gb, Eb]
- opcode: 0x2b
operands: [Gw, Ew]
- opcode: 0x2c
operands: [AL, Ib]
- opcode: 0x2d
operands: [AX, Iw]
- opcode: 0x80
operands: [Eb, Ib]
reg: 5
- opcode: 0x81
operands: [Ew, Iw]
reg: 5
- opcode: 0x82
operands: [Eb, Ib]
reg: 5
- opcode: 0x83
operands: [Ew, Ib]
reg: 5
sbb:
flags:
O: M
S: M
Z: M
A: M
C: M
P: M
encodings:
- opcode: 0x18
operands: [Eb, Gb]
- opcode: 0x19
operands: [Ew, Gw]
- opcode: 0x1a
operands: [Gb, Eb]
- opcode: 0x1b
operands: [Gw, Ew]
- opcode: 0x1c
operands: [AL, Ib]
- opcode: 0x1d
operands: [AX, Iw]
- opcode: 0x80
operands: [Eb, Ib]
reg: 3
- opcode: 0x81
operands: [Ew, Iw]
reg: 3
- opcode: 0x82
operands: [Eb, Ib]
reg: 3
- opcode: 0x83
operands: [Ew, Ib]
reg: 3
and:
flags:
O: M
S: M
Z: M
C: M
P: M
encodings:
- opcode: 0x20
operands: [Eb, Gb]
- opcode: 0x21
operands: [Ew, Gw]
- opcode: 0x22
operands: [Gb, Eb]
- opcode: 0x23
operands: [Gw, Ew]
- opcode: 0x24
operands: [AL, Ib]
- opcode: 0x25
operands: [AX, Iw]
- opcode: 0x80
operands: [Eb, Ib]
reg: 4
- opcode: 0x81
operands: [Ew, Iw]
reg: 4
- opcode: 0x82
operands: [Eb, Ib]
reg: 4
- opcode: 0x83
operands: [Ew, Ib]
reg: 4
test:
flags:
O: M
S: M
Z: M
C: M
P: M
encodings:
- opcode: 0x84
operands: [Gb, Eb]
- opcode: 0x85
operands: [Gw, Ew]
- opcode: 0xa8
operands: [AL, Ib]
- opcode: 0xa9
operands: [AX, Iw]
- opcode: 0xf6
operands: [Eb, Ib]
reg: 0
- opcode: 0xf6
operands: [Eb, Ib]
reg: 1
- opcode: 0xf7
operands: [Ew, Iw]
reg: 0
- opcode: 0xf7
operands: [Ew, Iw]
reg: 1
neg:
flags:
O: M
S: M
Z: M
C: M
P: M
A: M
encodings:
- opcode: 0xf6
operands: [Eb, Ib]
reg: 3
- opcode: 0xf7
operands: [Ew, Iw]
reg: 3
not:
flags:
O: M
S: M
Z: M
C: M
P: M
A: M
encodings:
- opcode: 0xf6
operands: [Eb, Ib]
reg: 2
- opcode: 0xf7
operands: [Ew, Iw]
reg: 2
or:
flags:
O: M
S: M
Z: M
C: M
P: M
encodings:
- opcode: 0x08
operands: [Eb, Gb]
- opcode: 0x09
operands: [Ew, Gw]
- opcode: 0x0a
operands: [Gb, Eb]
- opcode: 0x0b
operands: [Gw, Ew]
- opcode: 0x0c
operands: [AL, Ib]
- opcode: 0x0d
operands: [AX, Iw]
- opcode: 0x80
operands: [Eb, Ib]
reg: 1
- opcode: 0x81
operands: [Ew, Iw]
reg: 1
- opcode: 0x82
operands: [Eb, Ib]
reg: 1
- opcode: 0x83
operands: [Ew, Ib]
reg: 1
xor:
flags:
O: M
S: M
Z: M
C: M
P: M
encodings:
- opcode: 0x30
operands: [Eb, Gb]
- opcode: 0x31
operands: [Ew, Gw]
- opcode: 0x32
operands: [Gb, Eb]
- opcode: 0x33
operands: [Gw, Ew]
- opcode: 0x34
operands: [AL, Ib]
- opcode: 0x35
operands: [AX, Iw]
- opcode: 0x80
operands: [Eb, Ib]
reg: 6
- opcode: 0x81
operands: [Ew, Iw]
reg: 6
- opcode: 0x82
operands: [Eb, Ib]
reg: 6
- opcode: 0x83
operands: [Ew, Ib]
reg: 6
cmp:
flags:
O: M
S: M
Z: M
A: M
C: M
P: M
encodings:
- opcode: 0x38
operands: [Eb, Gb]
- opcode: 0x39
operands: [Ew, Gw]
- opcode: 0x3a
operands: [Gb, Eb]
- opcode: 0x3b
operands: [Gw, Ew]
- opcode: 0x3c
operands: [AL, Ib]
- opcode: 0x3d
operands: [AX, Iw]
- opcode: 0x80
operands: [Eb, Ib]
reg: 7
- opcode: 0x81
operands: [Ew, Iw]
reg: 7
- opcode: 0x82
operands: [Eb, Ib]
reg: 7
- opcode: 0x83
operands: [Ew, Ib]
reg: 7
nop:
encodings:
- opcode: 0x90
pop:
encodings:
- opcode: 0x58
operands: [AX]
- opcode: 0x59
operands: [CX]
- opcode: 0x5a
operands: [DX]
- opcode: 0x5b
operands: [BX]
- opcode: 0x5c
operands: [SP]
- opcode: 0x5d
operands: [BP]
- opcode: 0x5e
operands: [SI]
- opcode: 0x5f
operands: [DI]
- opcode: 0x07
operands: [ES]
- opcode: 0x17
operands: [SS]
- opcode: 0x1f
operands: [DS]
- opcode: 0x8f
operands: [Ew]
popf:
flags:
O: M
S: M
Z: M
A: M
C: M
P: M
T: M
I: M
D: M
encodings:
- opcode: 0x9d
push:
encodings:
- opcode: 0xff
reg: 6
operands: [Ew]
- opcode: 0x06
operands: [ES]
- opcode: 0x0e
operands: [CS]
- opcode: 0x16
operands: [SS]
- opcode: 0x1e
operands: [DS]
- opcode: 0x50
operands: [AX]
- opcode: 0x51
operands: [CX]
- opcode: 0x52
operands: [DX]
- opcode: 0x53
operands: [BX]
- opcode: 0x54
operands: [SP]
- opcode: 0x55
operands: [BP]
- opcode: 0x56
operands: [SI]
- opcode: 0x57
operands: [DI]
- opcode: 0x68
operands: [Iw]
- opcode: 0x6a
operands: [Ib]
notes:
- The core implements the original 8086/80186 behaviour of pushing the
decremented value of SP in a 'push sp' instruction rather than the
original value.
pushf:
encodings:
- opcode: 0x9c
popa:
encodings:
- opcode: 0x61
pusha:
encodings:
- opcode: 0x60
clc:
flags:
C: 0
encodings:
- opcode: 0xf8
stc:
flags:
C: 1
encodings:
- opcode: 0xf9
cli:
flags:
I: 0
encodings:
- opcode: 0xfa
sti:
flags:
I: 1
encodings:
- opcode: 0xfb
cld:
flags:
D: 0
encodings:
- opcode: 0xfc
std:
flags:
D: 1
encodings:
- opcode: 0xfd
cmc:
flags:
C: M
encodings:
- opcode: 0xf5
lahf:
encodings:
- opcode: 0x9f
operands: [AH]
sahf:
flags:
C: M
P: M
A: M
Z: M
S: M
encodings:
- opcode: 0x9e
operands: [AH]
setalc:
flags:
C: M
encodings:
- opcode: 0xd6
operands: [AL]
xlat:
encodings:
- opcode: 0xd7
operands: [AL, BX]
leave:
encodings:
- opcode: 0xc9
cbw:
encodings:
- opcode: 0x98
operands: [AL]
cwd:
encodings:
- opcode: 0x99
operands: [AX]
inc:
flags:
O: M
S: M
Z: M
A: M
P: M
encodings:
- opcode: 0xfe
reg: 0
operands: [Eb]
- opcode: 0xff
reg: 0
operands: [Ew]
- opcode: 0x40
operands: [AX]
- opcode: 0x41
operands: [CX]
- opcode: 0x42
operands: [DX]
- opcode: 0x43
operands: [BX]
- opcode: 0x44
operands: [SP]
- opcode: 0x45
operands: [BP]
- opcode: 0x46
operands: [SI]
- opcode: 0x47
operands: [DI]
dec:
flags:
O: M
S: M
Z: M
A: M
P: M
encodings:
- opcode: 0xfe
reg: 1
operands: [Eb]
- opcode: 0xff
reg: 1
operands: [Ew]
- opcode: 0x48
operands: [AX]
- opcode: 0x49
operands: [CX]
- opcode: 0x4a
operands: [DX]
- opcode: 0x4b
operands: [BX]
- opcode: 0x4c
operands: [SP]
- opcode: 0x4d
operands: [BP]
- opcode: 0x4e
operands: [SI]
- opcode: 0x4f
operands: [DI]
lds:
encodings:
- opcode: 0xc5
operands: [Gw, Mp]
lea:
encodings:
- opcode: 0x8d
operands: [Gw, Mw]
les:
encodings:
- opcode: 0xc4
operands: [Gw, Mp]
mov:
encodings:
- opcode: 0x88
operands: [Eb, Gb]
- opcode: 0x89
operands: [Ew, Gw]
- opcode: 0x8a
operands: [Gb, Eb]
- opcode: 0x8b
operands: [Gw, Ew]
- opcode: 0xc6
reg: 0
operands: [Eb, Ib]
- opcode: 0xc7
reg: 0
operands: [Ew, Iw]
- opcode: 0xb0
operands: [AL, Ib]
- opcode: 0xb1
operands: [CL, Ib]
- opcode: 0xb2
operands: [DL, Ib]
- opcode: 0xb3
operands: [BL, Ib]
- opcode: 0xb4
operands: [AH, Ib]
- opcode: 0xb5
operands: [CH, Ib]
- opcode: 0xb6
operands: [DH, Ib]
- opcode: 0xb7
operands: [BH, Ib]
- opcode: 0xb8
operands: [AX, Iw]
- opcode: 0xb9
operands: [CX, Iw]
- opcode: 0xba
operands: [DX, Iw]
- opcode: 0xbb
operands: [BX, Iw]
- opcode: 0xbc
operands: [SP, Iw]
- opcode: 0xbd
operands: [BP, Iw]
- opcode: 0xbe
operands: [SI, Iw]
- opcode: 0xbf
operands: [DI, Iw]
- opcode: 0x8e
reg: 0
operands: [ES, Ew]
- opcode: 0x8e
reg: 1
operands: [CS, Ew]
- opcode: 0x8e
reg: 2
operands: [SS, Ew]
- opcode: 0x8e
reg: 3
operands: [DS, Ew]
- opcode: 0x8e
reg: 4
operands: [ES, Ew]
- opcode: 0x8e
reg: 5
operands: [CS, Ew]
- opcode: 0x8e
reg: 6
operands: [SS, Ew]
- opcode: 0x8e
reg: 7
operands: [DS, Ew]
- opcode: 0x8c
reg: 0
operands: [Ew, ES]
- opcode: 0x8c
reg: 1
operands: [Ew, CS]
- opcode: 0x8c
reg: 2
operands: [Ew, SS]
- opcode: 0x8c
reg: 3
operands: [Ew, DS]
- opcode: 0x8c
reg: 4
operands: [Ew, ES]
- opcode: 0x8c
reg: 5
operands: [Ew, CS]
- opcode: 0x8c
reg: 6
operands: [Ew, SS]
- opcode: 0x8c
reg: 7
operands: [Ew, DS]
- opcode: 0xa0
operands: [AL, Ob]
- opcode: 0xa1
operands: [AX, Ow]
- opcode: 0xa2
operands: [Ob, AL]
- opcode: 0xa3
operands: [Ow, AX]
aaa:
flags:
A: M
C: M
encodings:
- opcode: 0x37
operands: [AX]
aad:
flags:
S: M
Z: M
P: M
encodings:
- opcode: 0xd5
operands: [AX, Ib]
aas:
flags:
A: M
C: M
encodings:
- opcode: 0x3f
operands: [AX]
daa:
flags:
S: M
Z: M
A: M
C: M
P: M
encodings:
- opcode: 0x27
operands: [AL]
das:
flags:
S: M
Z: M
A: M
C: M
P: M
encodings:
- opcode: 0x2f
operands: [AX]
imul:
flags:
C: M
O: M
Z: M
encodings:
- opcode: 0xf6
reg: 5
operands: [Eb]
- opcode: 0xf7
reg: 5
operands: [Ew]
- opcode: 0x69
operands: [Ew, Iw]
- opcode: 0x6b
operands: [Ew, Ib]
mul:
flags:
C: M
O: M
Z: M
encodings:
- opcode: 0xf6
reg: 4
operands: [Eb, Ib]
- opcode: 0xf7
reg: 4
operands: [Ew, Iw]
int3:
encodings:
- opcode: 0xcc
int:
encodings:
- opcode: 0xcd
operands: [Ib]
xchg:
encodings:
- opcode: 0x86
operands: [Gb, Eb]
- opcode: 0x87
operands: [Gw, Ew]
- opcode: 0x91
operands: [CX, AX]
- opcode: 0x92
operands: [DX, AX]
- opcode: 0x93
operands: [BX, AX]
- opcode: 0x94
operands: [SP, AX]
- opcode: 0x95
operands: [BP, AX]
- opcode: 0x96
operands: [SI, AX]
- opcode: 0x97
operands: [DI, AX]
call:
encodings:
- opcode: 0xe8
operands: [Iw]
- opcode: 0x9a
operands: [Jp]
- opcode: 0xff
reg: 2
operands: [Ew]
- opcode: 0xff
reg: 3
operands: [Mp]
iret:
flags:
C: M
P: M
A: M
Z: M
S: M
T: M
I: M
D: M
O: M
encodings:
- opcode: 0xcf
ret:
encodings:
- opcode: 0xc3
- opcode: 0xc2
operands: [Iw]
- opcode: 0xcb
- opcode: 0xca
operands: [Iw]
rcl:
flags:
C: M
O: M
encodings:
# Single bit
- opcode: 0xd0
reg: 2
operands: [Eb]
- opcode: 0xd1
reg: 2
operands: [Ew]
# By immediate
- opcode: 0xc0
reg: 2
operands: [Eb, Ib]
note: "+ (n-1)"
- opcode: 0xc1
reg: 2
operands: [Ew, Ib]
note: "+ (n-1)"
# By reg
- opcode: 0xd2
reg: 2
operands: [Eb, CL]
note: "+ (n-1)"
- opcode: 0xd3
reg: 2
operands: [Ew, CL]
note: "+ (n-1)"
rcr:
flags:
C: M
O: M
encodings:
# Single bit
- opcode: 0xd0
reg: 3
operands: [Eb]
- opcode: 0xd1
reg: 3
operands: [Ew]
# By immediate
- opcode: 0xc0
reg: 3
operands: [Eb, Ib]
note: "+ (n-1)"
- opcode: 0xc1
reg: 3
operands: [Ew, Ib]
note: "+ (n-1)"
# By reg
- opcode: 0xd2
reg: 3
operands: [Eb, CL]
note: "+ (n-1)"
- opcode: 0xd3
reg: 3
operands: [Ew, CL]
note: "+ (n-1)"
rol:
flags:
C: M
O: M
encodings:
# Single bit
- opcode: 0xd0
reg: 0
operands: [Eb]
- opcode: 0xd1
reg: 0
operands: [Ew]
# By immediate
- opcode: 0xc0
reg: 0
operands: [Eb, Ib]
note: "+ (n-1)"
- opcode: 0xc1
reg: 0
operands: [Ew, Ib]
note: "+ (n-1)"
# By reg
- opcode: 0xd2
reg: 0
operands: [Eb, CL]
note: "+ (n-1)"
- opcode: 0xd3
reg: 0
operands: [Ew, CL]
note: "+ (n-1)"
ror:
flags:
C: M
O: M
encodings:
# Single bit
- opcode: 0xd0
reg: 1
operands: [Eb]
- opcode: 0xd1
reg: 1
operands: [Ew]
# By immediate
- opcode: 0xc0
reg: 1
operands: [Eb, Ib]
note: "+ (n-1)"
- opcode: 0xc1
reg: 1
operands: [Ew, Ib]
note: "+ (n-1)"
# By reg
- opcode: 0xd2
reg: 1
operands: [Eb, CL]
note: "+ (n-1)"
- opcode: 0xd3
reg: 1
operands: [Ew, CL]
note: "+ (n-1)"
sar:
flags:
C: M
O: M
Z: M
P: M
S: M
encodings:
# Single bit
- opcode: 0xd0
reg: 7
operands: [Eb]
- opcode: 0xd1
reg: 7
operands: [Ew]
# By immediate
- opcode: 0xc0
reg: 7
operands: [Eb, Ib]
note: "+ (n-1)"
- opcode: 0xc1
reg: 7
operands: [Ew, Ib]
note: "+ (n-1)"
# By reg
- opcode: 0xd2
reg: 7
operands: [Eb, CL]
note: "+ (n-1)"
- opcode: 0xd3
reg: 7
operands: [Ew, CL]
note: "+ (n-1)"
shl:
flags:
C: M
O: M
Z: M
P: M
S: M
encodings:
# Single bit
- opcode: 0xd0
reg: 6
operands: [Eb]
- opcode: 0xd1
reg: 6
operands: [Ew]
# By immediate
- opcode: 0xc0
reg: 6
operands: [Eb, Ib]
note: "+ (n-1)"
- opcode: 0xc1
reg: 6
operands: [Ew, Ib]
note: "+ (n-1)"
# By reg
- opcode: 0xd2
reg: 6
operands: [Eb, CL]
note: "+ (n-1)"
- opcode: 0xd3
reg: 6
operands: [Ew, CL]
note: "+ (n-1)"
sal:
flags:
C: M
O: M
Z: M
P: M
S: M
encodings:
# Single bit
- opcode: 0xd0
reg: 6
operands: [Eb]
- opcode: 0xd1
reg: 6
operands: [Ew]
# By immediate
- opcode: 0xc0
reg: 6
operands: [Eb, Ib]
note: "+ (n-1)"
- opcode: 0xc1
reg: 6
operands: [Ew, Ib]
note: "+ (n-1)"
# By reg
- opcode: 0xd2
reg: 6
operands: [Eb, CL]
note: "+ (n-1)"
- opcode: 0xd3
reg: 6
operands: [Ew, CL]
note: "+ (n-1)"
shr:
flags:
C: M
O: M
Z: M
P: M
S: M
encodings:
# Single bit
- opcode: 0xd0
reg: 5
operands: [Eb]
- opcode: 0xd1
reg: 5
operands: [Ew]
# By immediate
- opcode: 0xc0
reg: 5
operands: [Eb, Ib]
note: "+ (n-1)"
- opcode: 0xc1
reg: 5
operands: [Ew, Ib]
note: "+ (n-1)"
# By reg
- opcode: 0xd2
reg: 5
operands: [Eb, CL]
note: "+ (n-1)"
- opcode: 0xd3
reg: 5
operands: [Ew, CL]
note: "+ (n-1)"
esc:
encodings:
- opcode: 0xd8
- opcode: 0xd9
- opcode: 0xda
- opcode: 0xdb
- opcode: 0xdc
- opcode: 0xdd
- opcode: 0xde
- opcode: 0xdf
notes:
- Acts as a NOP unless built with -S80X86_TRAP_ESCAPE=ON otherwise raises
trap 7.
hlt:
encodings:
- opcode: 0xf4
notime: true
wait:
encodings:
- opcode: 0x9b
notime: true
inb:
encodings:
- opcode: 0xe4
operands: [Ib]
- opcode: 0xec
operands: [DX]
inw:
encodings:
- opcode: 0xe5
operands: [Ib]
- opcode: 0xed
operands: [DX]
outb:
encodings:
- opcode: 0xe6
operands: [Ib]
- opcode: 0xee
operands: [DX]
outw:
encodings:
- opcode: 0xe7
operands: [Ib]
- opcode: 0xef
operands: [DX]
aam:
flags:
S: M
Z: M
P: M
encodings:
- opcode: 0xd4
operands: [Ib]
timing_operands:
- [1]
div:
encodings:
- opcode: 0xf6
reg: 6
operands: [Eb]
timing_operands:
- [10]
- opcode: 0xf7
reg: 6
operands: [Ew]
timing_operands:
- [10]
idiv:
encodings:
- opcode: 0xf6
reg: 7
operands: [Eb]
timing_operands:
- [10]
- opcode: 0xf7
reg: 7
operands: [Ew]
timing_operands:
- [10]
jmp:
encodings:
- opcode: 0xe9
operands: [Iw]
- opcode: 0xea
operands: [Iw, Iw]
- opcode: 0xeb
operands: [Ib]
- opcode: 0xff
reg: 4
operands: [Ew]
- opcode: 0xff
reg: 5
operands: [Mp]
je:
encodings:
- opcode: 0x74
operands: [Ib]
taken:
ZF: 1
not_taken:
ZF: 0
jl:
encodings:
- opcode: 0x7c
operands: [Ib]
taken:
ZF: 1
SF: 0
not_taken:
ZF: 0
SF: 0
jle:
encodings:
- opcode: 0x7e
operands: [Ib]
taken:
ZF: 1
not_taken:
ZF: 0
OF: 0
SF: 0
jb:
encodings:
- opcode: 0x72
operands: [Ib]
taken:
CF: 1
not_taken:
CF: 0
jbe:
encodings:
- opcode: 0x76
operands: [Ib]
taken:
ZF: 1
not_taken:
ZF: 0
CF: 0
jp:
encodings:
- opcode: 0x7a
operands: [Ib]
taken:
PF: 1
not_taken:
PF: 0
jo:
encodings:
- opcode: 0x70
operands: [Ib]
taken:
OF: 1
not_taken:
OF: 0
js:
encodings:
- opcode: 0x78
operands: [Ib]
taken:
SF: 1
not_taken:
SF: 0
jne:
encodings:
- opcode: 0x75
operands: [Ib]
taken:
ZF: 0
not_taken:
ZF: 1
jnl:
encodings:
- opcode: 0x7d
operands: [Ib]
taken:
SF: 0
OF: 0
not_taken:
SF: 1
OF: 0
jnle:
encodings:
- opcode: 0x7f
operands: [Ib]
taken:
SF: 0
OF: 0
ZF: 0
not_taken:
ZF: 1
jnb:
encodings:
- opcode: 0x73
operands: [Ib]
taken:
CF: 0
not_taken:
CF: 1
jnbe:
encodings:
- opcode: 0x77
operands: [Ib]
taken:
CF: 0
ZF: 0
not_taken:
ZF: 1
jnp:
encodings:
- opcode: 0x7b
operands: [Ib]
taken:
PF: 0
not_taken:
PF: 1
jno:
encodings:
- opcode: 0x71
operands: [Ib]
taken:
OF: 0
not_taken:
OF: 1
jns:
encodings:
- opcode: 0x79
operands: [Ib]
taken:
SF: 0
not_taken:
SF: 1
jcxz:
encodings:
- opcode: 0xe3
operands: [Ib]
taken:
CX: 0
not_taken:
CX: 1
bound:
encodings:
- opcode: 0x62
operands: [Mp]
into:
encodings:
- opcode: 0xce
loop:
encodings:
- opcode: 0xe2
operands: [Ib]
taken:
CX: 2
not_taken:
CX: 1
loope:
encodings:
- opcode: 0xe1
operands: [Ib]
taken:
CX: 2
ZF: 1
not_taken:
CX: 1
ZF: 0
loopne:
encodings:
- opcode: 0xe0
operands: [Ib]
taken:
CX: 2
ZF: 0
not_taken:
CX: 1
ZF: 1
stos:
encodings:
- opcode: 0xaa
operands: [AL]
- opcode: 0xab
operands: [AX]
cmps:
flags:
O: M
S: M
Z: M
A: M
C: M
P: M
encodings:
- opcode: 0xa6
use_prefix: 0xf3
base:
CX: 1
next:
CX: 2
- opcode: 0xa7
use_prefix: 0xf3
base:
CX: 1
next:
CX: 2
lods:
encodings:
- opcode: 0xac
use_prefix: 0xf3
base:
CX: 1
next:
CX: 2
- opcode: 0xad
use_prefix: 0xf3
base:
CX: 1
next:
CX: 2
movs:
encodings:
- opcode: 0xa4
use_prefix: 0xf3
base:
CX: 1
next:
CX: 2
- opcode: 0xa5
use_prefix: 0xf3
base:
CX: 1
next:
CX: 2
ins:
encodings:
- opcode: 0x6c
use_prefix: 0xf3
base:
CX: 1
next:
CX: 2
- opcode: 0x6d
use_prefix: 0xf3
base:
CX: 1
next:
CX: 2
outs:
encodings:
- opcode: 0x6e
use_prefix: 0xf3
base:
CX: 1
next:
CX: 2
- opcode: 0x6f
use_prefix: 0xf3
base:
CX: 1
next:
CX: 2
scas:
flags:
O: M
S: M
Z: M
A: M
C: M
P: M
encodings:
- opcode: 0xae
use_prefix: 0xf2
base:
AL: 0x77
CX: 1
next:
AX: 0x7777
CX: 2
- opcode: 0xaf
use_prefix: 0xf2
base:
AX: 0x7777
CX: 1
next:
AX: 0x7777
CX: 2
enter:
encodings:
- opcode: 0xc8
operands: [Iw, Ib]
timing_operands:
- [0, 0]
- [32, 0]
- [0, 1]
- [0, 2]