mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-27 12:58:09 +11:00
zasm: add IX/IY support to SRL, RR and RL
This commit is contained in:
parent
506c3d0a96
commit
5f6b303e75
@ -2,7 +2,7 @@
|
||||
; Number of rows in the argspec table
|
||||
.equ ARGSPEC_TBL_CNT 33
|
||||
; Number of rows in the primary instructions table
|
||||
.equ INSTR_TBL_CNT 144
|
||||
.equ INSTR_TBL_CNT 147
|
||||
; size in bytes of each row in the primary instructions table
|
||||
.equ INSTR_TBL_ROWSIZE 6
|
||||
; Instruction IDs They correspond to the index of the table in instrNames
|
||||
@ -1081,7 +1081,7 @@ instrTBl:
|
||||
.db I_AND, 0xb, 0, 0, 0b10100000 , 0 ; AND r
|
||||
.db I_AND, 'n', 0, 0, 0xe6 , 0 ; AND n
|
||||
.db I_BIT, 0xc, 'l', 0x53, 0xcb, 0b01000110 ; BIT b, (HL) + (IX/Y)
|
||||
.db I_BIT, 'n', 0xb, 0x20 \ .dw handleBITR ; BIT b, r
|
||||
.db I_BIT, 0xc, 0xb, 0x20 \ .dw handleBITR ; BIT b, r
|
||||
.db I_CALL,0xa, 'N', 3, 0b11000100 , 0 ; CALL cc, NN
|
||||
.db I_CALL,'N', 0, 0, 0xcd , 0 ; CALL NN
|
||||
.db I_CCF, 0, 0, 0, 0x3f , 0 ; CCF
|
||||
@ -1184,16 +1184,18 @@ instrTBl:
|
||||
.db I_PUSH,'Y', 0, 0, 0xfd, 0xe5 ; PUSH IY
|
||||
.db I_PUSH,0x1, 0, 4, 0b11000101 , 0 ; PUSH qq
|
||||
.db I_RES, 0xc, 'l', 0x53, 0xcb, 0b10000110 ; RES b, (HL) + (IX/Y)
|
||||
.db I_RES, 'n', 0xb, 0x20 \ .dw handleRESR ; RES b, r
|
||||
.db I_RES, 0xc, 0xb, 0x20 \ .dw handleRESR ; RES b, r
|
||||
.db I_RET, 0, 0, 0, 0xc9 , 0 ; RET
|
||||
.db I_RET, 0xa, 0, 3, 0b11000000 , 0 ; RET cc
|
||||
.db I_RETI,0, 0, 0, 0xed, 0x4d ; RETI
|
||||
.db I_RETN,0, 0, 0, 0xed, 0x45 ; RETN
|
||||
.db I_RL, 0xb, 0,0x40, 0xcb, 0b00010000 ; RL r
|
||||
.db I_RL, 'l', 0,0x10, 0xcb, 0b00010110 ; RL (HL) + (IX/Y)
|
||||
.db I_RLA, 0, 0, 0, 0x17 , 0 ; RLA
|
||||
.db I_RLC, 0xb, 0,0x40, 0xcb, 0b00000000 ; RLC r
|
||||
.db I_RLCA,0, 0, 0, 0x07 , 0 ; RLCA
|
||||
.db I_RR, 0xb, 0,0x40, 0xcb, 0b00011000 ; RR r
|
||||
.db I_RR, 'l', 0,0x10, 0xcb, 0b00011110 ; RR (HL) + (IX/Y)
|
||||
.db I_RRA, 0, 0, 0, 0x1f , 0 ; RRA
|
||||
.db I_RRC, 0xb, 0,0x40, 0xcb, 0b00001000 ; RRC r
|
||||
.db I_RRCA,0, 0, 0, 0x0f , 0 ; RRCA
|
||||
@ -1202,9 +1204,10 @@ instrTBl:
|
||||
.db I_SBC,'h',0x3,0x44, 0xed, 0b01000010 ; SBC HL, ss
|
||||
.db I_SCF, 0, 0, 0, 0x37 , 0 ; SCF
|
||||
.db I_SET, 0xc, 'l', 0x53, 0xcb, 0b11000110 ; SET b, (HL) + (IX/Y)
|
||||
.db I_SET, 'n', 0xb, 0x20 \ .dw handleSETR ; SET b, r
|
||||
.db I_SET, 0xc, 0xb, 0x20 \ .dw handleSETR ; SET b, r
|
||||
.db I_SLA, 0xb, 0,0x40, 0xcb, 0b00100000 ; SLA r
|
||||
.db I_SRL, 0xb, 0,0x40, 0xcb, 0b00111000 ; SRL r
|
||||
.db I_SRL, 'l', 0,0x10, 0xcb, 0b00111110 ; SRL (HL) + (IX/Y)
|
||||
.db I_SUB, 'l', 0, 0, 0x96 , 0 ; SUB (HL)
|
||||
.db I_SUB, 0xb, 0, 0, 0b10010000 , 0 ; SUB r
|
||||
.db I_SUB, 'n', 0, 0, 0xd6 , 0 ; SUB n
|
||||
|
@ -19,6 +19,24 @@ ADC HL, DE
|
||||
ADC HL, HL
|
||||
ADC HL, SP
|
||||
ADD A, (HL)
|
||||
ADD A, (IX)
|
||||
ADD A, (IX+1)
|
||||
ADD A, (IX-1)
|
||||
ADD A, (IX+10)
|
||||
ADD A, (IX-10)
|
||||
ADD A, (IX+100)
|
||||
ADD A, (IX-100)
|
||||
ADD A, (IX+127)
|
||||
ADD A, (IX-127)
|
||||
ADD A, (IY)
|
||||
ADD A, (IY+1)
|
||||
ADD A, (IY-1)
|
||||
ADD A, (IY+10)
|
||||
ADD A, (IY-10)
|
||||
ADD A, (IY+100)
|
||||
ADD A, (IY-100)
|
||||
ADD A, (IY+127)
|
||||
ADD A, (IY-127)
|
||||
ADD A, B
|
||||
ADD A, C
|
||||
ADD A, D
|
||||
@ -46,40 +64,7 @@ ADD IY, BC
|
||||
ADD IY, DE
|
||||
ADD IY, IY
|
||||
ADD IY, SP
|
||||
ADD A, (IX)
|
||||
ADD A, (IX+1)
|
||||
ADD A, (IX-1)
|
||||
ADD A, (IX+10)
|
||||
ADD A, (IX-10)
|
||||
ADD A, (IX+100)
|
||||
ADD A, (IX-100)
|
||||
ADD A, (IX+127)
|
||||
ADD A, (IX-127)
|
||||
ADD A, (IY)
|
||||
ADD A, (IY+1)
|
||||
ADD A, (IY-1)
|
||||
ADD A, (IY+10)
|
||||
ADD A, (IY-10)
|
||||
ADD A, (IY+100)
|
||||
ADD A, (IY-100)
|
||||
ADD A, (IY+127)
|
||||
ADD A, (IY-127)
|
||||
AND (HL)
|
||||
AND B
|
||||
AND C
|
||||
AND D
|
||||
AND E
|
||||
AND H
|
||||
AND L
|
||||
AND A
|
||||
AND 1
|
||||
AND 2
|
||||
AND 4
|
||||
AND 8
|
||||
AND 16
|
||||
AND 32
|
||||
AND 64
|
||||
AND 128
|
||||
AND (IX+1)
|
||||
AND (IX-1)
|
||||
AND (IX+10)
|
||||
@ -96,84 +81,99 @@ AND (IY+100)
|
||||
AND (IY-100)
|
||||
AND (IY+127)
|
||||
AND (IY-127)
|
||||
BIT 1, (HL)
|
||||
BIT 2, (HL)
|
||||
BIT 4, (HL)
|
||||
BIT 1, (IX)
|
||||
BIT 1, (IX+1)
|
||||
BIT 1, (IX-1)
|
||||
BIT 1, (IX+10)
|
||||
BIT 1, (IX-10)
|
||||
BIT 1, (IX+100)
|
||||
BIT 1, (IX-100)
|
||||
BIT 1, (IX+127)
|
||||
BIT 1, (IX-127)
|
||||
BIT 2, (IX)
|
||||
BIT 2, (IX+1)
|
||||
BIT 2, (IX-1)
|
||||
BIT 2, (IX+10)
|
||||
BIT 2, (IX-10)
|
||||
BIT 2, (IX+100)
|
||||
BIT 2, (IX-100)
|
||||
BIT 2, (IX+127)
|
||||
BIT 2, (IX-127)
|
||||
BIT 4, (IX)
|
||||
BIT 4, (IX+1)
|
||||
BIT 4, (IX-1)
|
||||
BIT 4, (IX+10)
|
||||
BIT 4, (IX-10)
|
||||
BIT 4, (IX+100)
|
||||
BIT 4, (IX-100)
|
||||
BIT 4, (IX+127)
|
||||
BIT 4, (IX-127)
|
||||
BIT 1, (IY)
|
||||
BIT 1, (IY+1)
|
||||
BIT 1, (IY-1)
|
||||
BIT 1, (IY+10)
|
||||
BIT 1, (IY-10)
|
||||
BIT 1, (IY+100)
|
||||
BIT 1, (IY-100)
|
||||
BIT 1, (IY+127)
|
||||
BIT 1, (IY-127)
|
||||
BIT 2, (IY)
|
||||
BIT 2, (IY+1)
|
||||
BIT 2, (IY-1)
|
||||
BIT 2, (IY+10)
|
||||
BIT 2, (IY-10)
|
||||
BIT 2, (IY+100)
|
||||
BIT 2, (IY-100)
|
||||
BIT 2, (IY+127)
|
||||
BIT 2, (IY-127)
|
||||
BIT 4, (IY)
|
||||
BIT 4, (IY+1)
|
||||
BIT 4, (IY-1)
|
||||
BIT 4, (IY+10)
|
||||
BIT 4, (IY-10)
|
||||
BIT 4, (IY+100)
|
||||
BIT 4, (IY-100)
|
||||
BIT 4, (IY+127)
|
||||
BIT 4, (IY-127)
|
||||
BIT 1, B
|
||||
BIT 1, C
|
||||
BIT 1, D
|
||||
BIT 1, E
|
||||
BIT 1, H
|
||||
BIT 1, L
|
||||
BIT 1, A
|
||||
BIT 2, B
|
||||
BIT 2, C
|
||||
BIT 2, D
|
||||
BIT 2, E
|
||||
BIT 2, H
|
||||
BIT 2, L
|
||||
BIT 2, A
|
||||
BIT 4, B
|
||||
BIT 4, C
|
||||
BIT 4, D
|
||||
BIT 4, E
|
||||
BIT 4, H
|
||||
BIT 4, L
|
||||
BIT 4, A
|
||||
AND B
|
||||
AND C
|
||||
AND D
|
||||
AND E
|
||||
AND H
|
||||
AND L
|
||||
AND A
|
||||
AND 1
|
||||
AND 2
|
||||
AND 4
|
||||
AND 8
|
||||
AND 16
|
||||
AND 32
|
||||
AND 64
|
||||
AND 128
|
||||
BIT 0, (HL)
|
||||
BIT 0, (IX)
|
||||
BIT 0, (IX+1)
|
||||
BIT 0, (IX-1)
|
||||
BIT 0, (IX+10)
|
||||
BIT 0, (IX-10)
|
||||
BIT 0, (IX+100)
|
||||
BIT 0, (IX-100)
|
||||
BIT 0, (IX+127)
|
||||
BIT 0, (IX-127)
|
||||
BIT 0, (IY)
|
||||
BIT 0, (IY+1)
|
||||
BIT 0, (IY-1)
|
||||
BIT 0, (IY+10)
|
||||
BIT 0, (IY-10)
|
||||
BIT 0, (IY+100)
|
||||
BIT 0, (IY-100)
|
||||
BIT 0, (IY+127)
|
||||
BIT 0, (IY-127)
|
||||
BIT 3, (HL)
|
||||
BIT 3, (IX)
|
||||
BIT 3, (IX+1)
|
||||
BIT 3, (IX-1)
|
||||
BIT 3, (IX+10)
|
||||
BIT 3, (IX-10)
|
||||
BIT 3, (IX+100)
|
||||
BIT 3, (IX-100)
|
||||
BIT 3, (IX+127)
|
||||
BIT 3, (IX-127)
|
||||
BIT 3, (IY)
|
||||
BIT 3, (IY+1)
|
||||
BIT 3, (IY-1)
|
||||
BIT 3, (IY+10)
|
||||
BIT 3, (IY-10)
|
||||
BIT 3, (IY+100)
|
||||
BIT 3, (IY-100)
|
||||
BIT 3, (IY+127)
|
||||
BIT 3, (IY-127)
|
||||
BIT 7, (HL)
|
||||
BIT 7, (IX)
|
||||
BIT 7, (IX+1)
|
||||
BIT 7, (IX-1)
|
||||
BIT 7, (IX+10)
|
||||
BIT 7, (IX-10)
|
||||
BIT 7, (IX+100)
|
||||
BIT 7, (IX-100)
|
||||
BIT 7, (IX+127)
|
||||
BIT 7, (IX-127)
|
||||
BIT 7, (IY)
|
||||
BIT 7, (IY+1)
|
||||
BIT 7, (IY-1)
|
||||
BIT 7, (IY+10)
|
||||
BIT 7, (IY-10)
|
||||
BIT 7, (IY+100)
|
||||
BIT 7, (IY-100)
|
||||
BIT 7, (IY+127)
|
||||
BIT 7, (IY-127)
|
||||
BIT 0, B
|
||||
BIT 0, C
|
||||
BIT 0, D
|
||||
BIT 0, E
|
||||
BIT 0, H
|
||||
BIT 0, L
|
||||
BIT 0, A
|
||||
BIT 3, B
|
||||
BIT 3, C
|
||||
BIT 3, D
|
||||
BIT 3, E
|
||||
BIT 3, H
|
||||
BIT 3, L
|
||||
BIT 3, A
|
||||
BIT 7, B
|
||||
BIT 7, C
|
||||
BIT 7, D
|
||||
BIT 7, E
|
||||
BIT 7, H
|
||||
BIT 7, L
|
||||
BIT 7, A
|
||||
CALL Z, 1
|
||||
CALL Z, 2
|
||||
CALL Z, 4
|
||||
@ -320,21 +320,6 @@ CALL 16384
|
||||
CALL 32768
|
||||
CCF
|
||||
CP (HL)
|
||||
CP B
|
||||
CP C
|
||||
CP D
|
||||
CP E
|
||||
CP H
|
||||
CP L
|
||||
CP A
|
||||
CP 1
|
||||
CP 2
|
||||
CP 4
|
||||
CP 8
|
||||
CP 16
|
||||
CP 32
|
||||
CP 64
|
||||
CP 128
|
||||
CP (IX)
|
||||
CP (IX+1)
|
||||
CP (IX-1)
|
||||
@ -353,6 +338,21 @@ CP (IY+100)
|
||||
CP (IY-100)
|
||||
CP (IY+127)
|
||||
CP (IY-127)
|
||||
CP B
|
||||
CP C
|
||||
CP D
|
||||
CP E
|
||||
CP H
|
||||
CP L
|
||||
CP A
|
||||
CP 1
|
||||
CP 2
|
||||
CP 4
|
||||
CP 8
|
||||
CP 16
|
||||
CP 32
|
||||
CP 64
|
||||
CP 128
|
||||
CPD
|
||||
CPDR
|
||||
CPI
|
||||
@ -360,7 +360,6 @@ CPIR
|
||||
CPL
|
||||
DAA
|
||||
DEC (HL)
|
||||
DEC IX
|
||||
DEC (IX)
|
||||
DEC (IX+1)
|
||||
DEC (IX-1)
|
||||
@ -370,7 +369,6 @@ DEC (IX+100)
|
||||
DEC (IX-100)
|
||||
DEC (IX+127)
|
||||
DEC (IX-127)
|
||||
DEC IY
|
||||
DEC (IY)
|
||||
DEC (IY+1)
|
||||
DEC (IY-1)
|
||||
@ -380,6 +378,8 @@ DEC (IY+100)
|
||||
DEC (IY-100)
|
||||
DEC (IY+127)
|
||||
DEC (IY-127)
|
||||
DEC IX
|
||||
DEC IY
|
||||
DEC B
|
||||
DEC C
|
||||
DEC D
|
||||
@ -433,7 +433,6 @@ IN H, (C)
|
||||
IN L, (C)
|
||||
IN A, (C)
|
||||
INC (HL)
|
||||
INC IX
|
||||
INC (IX)
|
||||
INC (IX+1)
|
||||
INC (IX-1)
|
||||
@ -443,7 +442,6 @@ INC (IX+100)
|
||||
INC (IX-100)
|
||||
INC (IX+127)
|
||||
INC (IX-127)
|
||||
INC IY
|
||||
INC (IY)
|
||||
INC (IY+1)
|
||||
INC (IY-1)
|
||||
@ -453,6 +451,8 @@ INC (IY+100)
|
||||
INC (IY-100)
|
||||
INC (IY+127)
|
||||
INC (IY-127)
|
||||
INC IX
|
||||
INC IY
|
||||
INC B
|
||||
INC C
|
||||
INC D
|
||||
@ -468,6 +468,8 @@ IND
|
||||
INDR
|
||||
INI
|
||||
INIR
|
||||
JP (IX)
|
||||
JP (IY)
|
||||
JP (HL)
|
||||
JP Z, 1
|
||||
JP Z, 2
|
||||
@ -613,8 +615,6 @@ JP 4096
|
||||
JP 8192
|
||||
JP 16384
|
||||
JP 32768
|
||||
JP (IX)
|
||||
JP (IY)
|
||||
JR $+1
|
||||
JR $+2
|
||||
JR $+4
|
||||
@ -1576,21 +1576,6 @@ LDIR
|
||||
NEG
|
||||
NOP
|
||||
OR (HL)
|
||||
OR B
|
||||
OR C
|
||||
OR D
|
||||
OR E
|
||||
OR H
|
||||
OR L
|
||||
OR A
|
||||
OR 1
|
||||
OR 2
|
||||
OR 4
|
||||
OR 8
|
||||
OR 16
|
||||
OR 32
|
||||
OR 64
|
||||
OR 128
|
||||
OR (IX)
|
||||
OR (IX+1)
|
||||
OR (IX-1)
|
||||
@ -1609,6 +1594,21 @@ OR (IY+100)
|
||||
OR (IY-100)
|
||||
OR (IY+127)
|
||||
OR (IY-127)
|
||||
OR B
|
||||
OR C
|
||||
OR D
|
||||
OR E
|
||||
OR H
|
||||
OR L
|
||||
OR A
|
||||
OR 1
|
||||
OR 2
|
||||
OR 4
|
||||
OR 8
|
||||
OR 16
|
||||
OR 32
|
||||
OR 64
|
||||
OR 128
|
||||
OTDR
|
||||
OTIR
|
||||
OUT (1), A
|
||||
@ -1638,84 +1638,84 @@ PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
PUSH AF
|
||||
RES 1, (HL)
|
||||
RES 2, (HL)
|
||||
RES 4, (HL)
|
||||
RES 1, (IX)
|
||||
RES 1, (IX+1)
|
||||
RES 1, (IX-1)
|
||||
RES 1, (IX+10)
|
||||
RES 1, (IX-10)
|
||||
RES 1, (IX+100)
|
||||
RES 1, (IX-100)
|
||||
RES 1, (IX+127)
|
||||
RES 1, (IX-127)
|
||||
RES 2, (IX)
|
||||
RES 2, (IX+1)
|
||||
RES 2, (IX-1)
|
||||
RES 2, (IX+10)
|
||||
RES 2, (IX-10)
|
||||
RES 2, (IX+100)
|
||||
RES 2, (IX-100)
|
||||
RES 2, (IX+127)
|
||||
RES 2, (IX-127)
|
||||
RES 4, (IX)
|
||||
RES 4, (IX+1)
|
||||
RES 4, (IX-1)
|
||||
RES 4, (IX+10)
|
||||
RES 4, (IX-10)
|
||||
RES 4, (IX+100)
|
||||
RES 4, (IX-100)
|
||||
RES 4, (IX+127)
|
||||
RES 4, (IX-127)
|
||||
RES 1, (IY)
|
||||
RES 1, (IY+1)
|
||||
RES 1, (IY-1)
|
||||
RES 1, (IY+10)
|
||||
RES 1, (IY-10)
|
||||
RES 1, (IY+100)
|
||||
RES 1, (IY-100)
|
||||
RES 1, (IY+127)
|
||||
RES 1, (IY-127)
|
||||
RES 2, (IY)
|
||||
RES 2, (IY+1)
|
||||
RES 2, (IY-1)
|
||||
RES 2, (IY+10)
|
||||
RES 2, (IY-10)
|
||||
RES 2, (IY+100)
|
||||
RES 2, (IY-100)
|
||||
RES 2, (IY+127)
|
||||
RES 2, (IY-127)
|
||||
RES 4, (IY)
|
||||
RES 4, (IY+1)
|
||||
RES 4, (IY-1)
|
||||
RES 4, (IY+10)
|
||||
RES 4, (IY-10)
|
||||
RES 4, (IY+100)
|
||||
RES 4, (IY-100)
|
||||
RES 4, (IY+127)
|
||||
RES 4, (IY-127)
|
||||
RES 1, B
|
||||
RES 1, C
|
||||
RES 1, D
|
||||
RES 1, E
|
||||
RES 1, H
|
||||
RES 1, L
|
||||
RES 1, A
|
||||
RES 2, B
|
||||
RES 2, C
|
||||
RES 2, D
|
||||
RES 2, E
|
||||
RES 2, H
|
||||
RES 2, L
|
||||
RES 2, A
|
||||
RES 4, B
|
||||
RES 4, C
|
||||
RES 4, D
|
||||
RES 4, E
|
||||
RES 4, H
|
||||
RES 4, L
|
||||
RES 4, A
|
||||
RES 0, (HL)
|
||||
RES 0, (IX)
|
||||
RES 0, (IX+1)
|
||||
RES 0, (IX-1)
|
||||
RES 0, (IX+10)
|
||||
RES 0, (IX-10)
|
||||
RES 0, (IX+100)
|
||||
RES 0, (IX-100)
|
||||
RES 0, (IX+127)
|
||||
RES 0, (IX-127)
|
||||
RES 0, (IY)
|
||||
RES 0, (IY+1)
|
||||
RES 0, (IY-1)
|
||||
RES 0, (IY+10)
|
||||
RES 0, (IY-10)
|
||||
RES 0, (IY+100)
|
||||
RES 0, (IY-100)
|
||||
RES 0, (IY+127)
|
||||
RES 0, (IY-127)
|
||||
RES 3, (HL)
|
||||
RES 3, (IX)
|
||||
RES 3, (IX+1)
|
||||
RES 3, (IX-1)
|
||||
RES 3, (IX+10)
|
||||
RES 3, (IX-10)
|
||||
RES 3, (IX+100)
|
||||
RES 3, (IX-100)
|
||||
RES 3, (IX+127)
|
||||
RES 3, (IX-127)
|
||||
RES 3, (IY)
|
||||
RES 3, (IY+1)
|
||||
RES 3, (IY-1)
|
||||
RES 3, (IY+10)
|
||||
RES 3, (IY-10)
|
||||
RES 3, (IY+100)
|
||||
RES 3, (IY-100)
|
||||
RES 3, (IY+127)
|
||||
RES 3, (IY-127)
|
||||
RES 7, (HL)
|
||||
RES 7, (IX)
|
||||
RES 7, (IX+1)
|
||||
RES 7, (IX-1)
|
||||
RES 7, (IX+10)
|
||||
RES 7, (IX-10)
|
||||
RES 7, (IX+100)
|
||||
RES 7, (IX-100)
|
||||
RES 7, (IX+127)
|
||||
RES 7, (IX-127)
|
||||
RES 7, (IY)
|
||||
RES 7, (IY+1)
|
||||
RES 7, (IY-1)
|
||||
RES 7, (IY+10)
|
||||
RES 7, (IY-10)
|
||||
RES 7, (IY+100)
|
||||
RES 7, (IY-100)
|
||||
RES 7, (IY+127)
|
||||
RES 7, (IY-127)
|
||||
RES 0, B
|
||||
RES 0, C
|
||||
RES 0, D
|
||||
RES 0, E
|
||||
RES 0, H
|
||||
RES 0, L
|
||||
RES 0, A
|
||||
RES 3, B
|
||||
RES 3, C
|
||||
RES 3, D
|
||||
RES 3, E
|
||||
RES 3, H
|
||||
RES 3, L
|
||||
RES 3, A
|
||||
RES 7, B
|
||||
RES 7, C
|
||||
RES 7, D
|
||||
RES 7, E
|
||||
RES 7, H
|
||||
RES 7, L
|
||||
RES 7, A
|
||||
RET
|
||||
RET Z
|
||||
RET NZ
|
||||
@ -1734,6 +1734,25 @@ RL E
|
||||
RL H
|
||||
RL L
|
||||
RL A
|
||||
RL (HL)
|
||||
RL (IX)
|
||||
RL (IX+1)
|
||||
RL (IX-1)
|
||||
RL (IX+10)
|
||||
RL (IX-10)
|
||||
RL (IX+100)
|
||||
RL (IX-100)
|
||||
RL (IX+127)
|
||||
RL (IX-127)
|
||||
RL (IY)
|
||||
RL (IY+1)
|
||||
RL (IY-1)
|
||||
RL (IY+10)
|
||||
RL (IY-10)
|
||||
RL (IY+100)
|
||||
RL (IY-100)
|
||||
RL (IY+127)
|
||||
RL (IY-127)
|
||||
RLA
|
||||
RLC B
|
||||
RLC C
|
||||
@ -1750,6 +1769,25 @@ RR E
|
||||
RR H
|
||||
RR L
|
||||
RR A
|
||||
RR (HL)
|
||||
RR (IX)
|
||||
RR (IX+1)
|
||||
RR (IX-1)
|
||||
RR (IX+10)
|
||||
RR (IX-10)
|
||||
RR (IX+100)
|
||||
RR (IX-100)
|
||||
RR (IX+127)
|
||||
RR (IX-127)
|
||||
RR (IY)
|
||||
RR (IY+1)
|
||||
RR (IY-1)
|
||||
RR (IY+10)
|
||||
RR (IY-10)
|
||||
RR (IY+100)
|
||||
RR (IY-100)
|
||||
RR (IY+127)
|
||||
RR (IY-127)
|
||||
RRA
|
||||
RRC B
|
||||
RRC C
|
||||
@ -1772,84 +1810,84 @@ SBC HL, DE
|
||||
SBC HL, HL
|
||||
SBC HL, SP
|
||||
SCF
|
||||
SET 1, (HL)
|
||||
SET 2, (HL)
|
||||
SET 4, (HL)
|
||||
SET 1, (IX)
|
||||
SET 1, (IX+1)
|
||||
SET 1, (IX-1)
|
||||
SET 1, (IX+10)
|
||||
SET 1, (IX-10)
|
||||
SET 1, (IX+100)
|
||||
SET 1, (IX-100)
|
||||
SET 1, (IX+127)
|
||||
SET 1, (IX-127)
|
||||
SET 2, (IX)
|
||||
SET 2, (IX+1)
|
||||
SET 2, (IX-1)
|
||||
SET 2, (IX+10)
|
||||
SET 2, (IX-10)
|
||||
SET 2, (IX+100)
|
||||
SET 2, (IX-100)
|
||||
SET 2, (IX+127)
|
||||
SET 2, (IX-127)
|
||||
SET 4, (IX)
|
||||
SET 4, (IX+1)
|
||||
SET 4, (IX-1)
|
||||
SET 4, (IX+10)
|
||||
SET 4, (IX-10)
|
||||
SET 4, (IX+100)
|
||||
SET 4, (IX-100)
|
||||
SET 4, (IX+127)
|
||||
SET 4, (IX-127)
|
||||
SET 1, (IY)
|
||||
SET 1, (IY+1)
|
||||
SET 1, (IY-1)
|
||||
SET 1, (IY+10)
|
||||
SET 1, (IY-10)
|
||||
SET 1, (IY+100)
|
||||
SET 1, (IY-100)
|
||||
SET 1, (IY+127)
|
||||
SET 1, (IY-127)
|
||||
SET 2, (IY)
|
||||
SET 2, (IY+1)
|
||||
SET 2, (IY-1)
|
||||
SET 2, (IY+10)
|
||||
SET 2, (IY-10)
|
||||
SET 2, (IY+100)
|
||||
SET 2, (IY-100)
|
||||
SET 2, (IY+127)
|
||||
SET 2, (IY-127)
|
||||
SET 4, (IY)
|
||||
SET 4, (IY+1)
|
||||
SET 4, (IY-1)
|
||||
SET 4, (IY+10)
|
||||
SET 4, (IY-10)
|
||||
SET 4, (IY+100)
|
||||
SET 4, (IY-100)
|
||||
SET 4, (IY+127)
|
||||
SET 4, (IY-127)
|
||||
SET 1, B
|
||||
SET 1, C
|
||||
SET 1, D
|
||||
SET 1, E
|
||||
SET 1, H
|
||||
SET 1, L
|
||||
SET 1, A
|
||||
SET 2, B
|
||||
SET 2, C
|
||||
SET 2, D
|
||||
SET 2, E
|
||||
SET 2, H
|
||||
SET 2, L
|
||||
SET 2, A
|
||||
SET 4, B
|
||||
SET 4, C
|
||||
SET 4, D
|
||||
SET 4, E
|
||||
SET 4, H
|
||||
SET 4, L
|
||||
SET 4, A
|
||||
SET 0, (HL)
|
||||
SET 0, (IX)
|
||||
SET 0, (IX+1)
|
||||
SET 0, (IX-1)
|
||||
SET 0, (IX+10)
|
||||
SET 0, (IX-10)
|
||||
SET 0, (IX+100)
|
||||
SET 0, (IX-100)
|
||||
SET 0, (IX+127)
|
||||
SET 0, (IX-127)
|
||||
SET 0, (IY)
|
||||
SET 0, (IY+1)
|
||||
SET 0, (IY-1)
|
||||
SET 0, (IY+10)
|
||||
SET 0, (IY-10)
|
||||
SET 0, (IY+100)
|
||||
SET 0, (IY-100)
|
||||
SET 0, (IY+127)
|
||||
SET 0, (IY-127)
|
||||
SET 3, (HL)
|
||||
SET 3, (IX)
|
||||
SET 3, (IX+1)
|
||||
SET 3, (IX-1)
|
||||
SET 3, (IX+10)
|
||||
SET 3, (IX-10)
|
||||
SET 3, (IX+100)
|
||||
SET 3, (IX-100)
|
||||
SET 3, (IX+127)
|
||||
SET 3, (IX-127)
|
||||
SET 3, (IY)
|
||||
SET 3, (IY+1)
|
||||
SET 3, (IY-1)
|
||||
SET 3, (IY+10)
|
||||
SET 3, (IY-10)
|
||||
SET 3, (IY+100)
|
||||
SET 3, (IY-100)
|
||||
SET 3, (IY+127)
|
||||
SET 3, (IY-127)
|
||||
SET 7, (HL)
|
||||
SET 7, (IX)
|
||||
SET 7, (IX+1)
|
||||
SET 7, (IX-1)
|
||||
SET 7, (IX+10)
|
||||
SET 7, (IX-10)
|
||||
SET 7, (IX+100)
|
||||
SET 7, (IX-100)
|
||||
SET 7, (IX+127)
|
||||
SET 7, (IX-127)
|
||||
SET 7, (IY)
|
||||
SET 7, (IY+1)
|
||||
SET 7, (IY-1)
|
||||
SET 7, (IY+10)
|
||||
SET 7, (IY-10)
|
||||
SET 7, (IY+100)
|
||||
SET 7, (IY-100)
|
||||
SET 7, (IY+127)
|
||||
SET 7, (IY-127)
|
||||
SET 0, B
|
||||
SET 0, C
|
||||
SET 0, D
|
||||
SET 0, E
|
||||
SET 0, H
|
||||
SET 0, L
|
||||
SET 0, A
|
||||
SET 3, B
|
||||
SET 3, C
|
||||
SET 3, D
|
||||
SET 3, E
|
||||
SET 3, H
|
||||
SET 3, L
|
||||
SET 3, A
|
||||
SET 7, B
|
||||
SET 7, C
|
||||
SET 7, D
|
||||
SET 7, E
|
||||
SET 7, H
|
||||
SET 7, L
|
||||
SET 7, A
|
||||
SLA B
|
||||
SLA C
|
||||
SLA D
|
||||
@ -1864,6 +1902,25 @@ SRL E
|
||||
SRL H
|
||||
SRL L
|
||||
SRL A
|
||||
SRL (HL)
|
||||
SRL (IX)
|
||||
SRL (IX+1)
|
||||
SRL (IX-1)
|
||||
SRL (IX+10)
|
||||
SRL (IX-10)
|
||||
SRL (IX+100)
|
||||
SRL (IX-100)
|
||||
SRL (IX+127)
|
||||
SRL (IX-127)
|
||||
SRL (IY)
|
||||
SRL (IY+1)
|
||||
SRL (IY-1)
|
||||
SRL (IY+10)
|
||||
SRL (IY-10)
|
||||
SRL (IY+100)
|
||||
SRL (IY-100)
|
||||
SRL (IY+127)
|
||||
SRL (IY-127)
|
||||
SUB (HL)
|
||||
SUB B
|
||||
SUB C
|
||||
|
Binary file not shown.
@ -56,6 +56,12 @@ argGrpTbl = {
|
||||
chr(0x0b): "BCDEHLA",
|
||||
}
|
||||
|
||||
# whenever we encounter the "(HL)" version of these instructions, spit IX/IY
|
||||
# too.
|
||||
instrsWithIXY = {
|
||||
'ADD', 'AND', 'BIT', 'CP', 'DEC', 'INC', 'OR', 'RES', 'RL', 'RR', 'SET',
|
||||
'SRL'}
|
||||
|
||||
def cleanupLine(line):
|
||||
line = line.strip()
|
||||
idx = line.rfind(';')
|
||||
@ -107,6 +113,8 @@ def genargs(argspec):
|
||||
return result
|
||||
if argspec in argspecTbl:
|
||||
return [argspecTbl[argspec]]
|
||||
if argspec == chr(0xc): # special BIT "b" group
|
||||
return ['0', '3', '7']
|
||||
grp = argGrpTbl[argspec]
|
||||
return [argspecTbl[a] for a in grp]
|
||||
|
||||
@ -131,13 +139,14 @@ def main():
|
||||
a2 = eval(row[2])
|
||||
args1 = genargs(a1)
|
||||
# special case handling
|
||||
if n in instrsWithIXY and a1 == 'l':
|
||||
args1 += genargs('x')
|
||||
args1 += genargs('y')
|
||||
|
||||
if n == 'JP' and isinstance(a1, str) and a1 in 'xy':
|
||||
# we don't test the displacements for IX/IY because there can't be
|
||||
# any.
|
||||
args1 = args1[:1]
|
||||
if n in {'BIT', 'SET', 'RES'}:
|
||||
# we only want to keep 1, 2, 4
|
||||
args1 = args1[:3]
|
||||
if n in {'JR', 'DJNZ'} and a1 == 'n':
|
||||
args1 = eargs(args1)
|
||||
if n == 'IM':
|
||||
@ -145,6 +154,9 @@ def main():
|
||||
if args1:
|
||||
for arg1 in args1:
|
||||
args2 = genargs(a2)
|
||||
if n in instrsWithIXY and a2 == 'l':
|
||||
args2 += genargs('x')
|
||||
args2 += genargs('y')
|
||||
if args2:
|
||||
if n in {'JR', 'DJNZ'} and a2 == 'n':
|
||||
args2 = eargs(args2)
|
||||
|
Loading…
Reference in New Issue
Block a user