OpenCores
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]

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.