mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-27 13:28:05 +11:00
zasm: make instr a bit more zasm-friendly
But we're still at a certain distance from assembling it with zasm: we're busting the 0x100 symbol limit.
This commit is contained in:
parent
bccf933ea9
commit
c01816b055
@ -1,68 +1,68 @@
|
|||||||
; *** Consts ***
|
; *** Consts ***
|
||||||
; Number of rows in the argspec table
|
; Number of rows in the argspec table
|
||||||
ARGSPEC_TBL_CNT .equ 31
|
.equ ARGSPEC_TBL_CNT 31
|
||||||
; Number of rows in the primary instructions table
|
; Number of rows in the primary instructions table
|
||||||
INSTR_TBL_CNT .equ 150
|
.equ INSTR_TBL_CNT 150
|
||||||
; size in bytes of each row in the primary instructions table
|
; size in bytes of each row in the primary instructions table
|
||||||
INSTR_TBL_ROWSIZE .equ 6
|
.equ INSTR_TBL_ROWSIZE 6
|
||||||
; Instruction IDs They correspond to the index of the table in instrNames
|
; Instruction IDs They correspond to the index of the table in instrNames
|
||||||
I_ADC .equ 0x00
|
.equ I_ADC 0x00
|
||||||
I_ADD .equ 0x01
|
.equ I_ADD 0x01
|
||||||
I_AND .equ 0x02
|
.equ I_AND 0x02
|
||||||
I_BIT .equ 0x03
|
.equ I_BIT 0x03
|
||||||
I_CALL .equ 0x04
|
.equ I_CALL 0x04
|
||||||
I_CCF .equ 0x05
|
.equ I_CCF 0x05
|
||||||
I_CP .equ 0x06
|
.equ I_CP 0x06
|
||||||
I_CPD .equ 0x07
|
.equ I_CPD 0x07
|
||||||
I_CPDR .equ 0x08
|
.equ I_CPDR 0x08
|
||||||
I_CPI .equ 0x09
|
.equ I_CPI 0x09
|
||||||
I_CPIR .equ 0x0a
|
.equ I_CPIR 0x0a
|
||||||
I_CPL .equ 0x0b
|
.equ I_CPL 0x0b
|
||||||
I_DAA .equ 0x0c
|
.equ I_DAA 0x0c
|
||||||
I_DEC .equ 0x0d
|
.equ I_DEC 0x0d
|
||||||
I_DI .equ 0x0e
|
.equ I_DI 0x0e
|
||||||
I_DJNZ .equ 0x0f
|
.equ I_DJNZ 0x0f
|
||||||
I_EI .equ 0x10
|
.equ I_EI 0x10
|
||||||
I_EX .equ 0x11
|
.equ I_EX 0x11
|
||||||
I_EXX .equ 0x12
|
.equ I_EXX 0x12
|
||||||
I_HALT .equ 0x13
|
.equ I_HALT 0x13
|
||||||
I_IM .equ 0x14
|
.equ I_IM 0x14
|
||||||
I_IN .equ 0x15
|
.equ I_IN 0x15
|
||||||
I_INC .equ 0x16
|
.equ I_INC 0x16
|
||||||
I_IND .equ 0x17
|
.equ I_IND 0x17
|
||||||
I_INDR .equ 0x18
|
.equ I_INDR 0x18
|
||||||
I_INI .equ 0x19
|
.equ I_INI 0x19
|
||||||
I_INIR .equ 0x1a
|
.equ I_INIR 0x1a
|
||||||
I_JP .equ 0x1b
|
.equ I_JP 0x1b
|
||||||
I_JR .equ 0x1c
|
.equ I_JR 0x1c
|
||||||
I_LD .equ 0x1d
|
.equ I_LD 0x1d
|
||||||
I_LDD .equ 0x1e
|
.equ I_LDD 0x1e
|
||||||
I_LDDR .equ 0x1f
|
.equ I_LDDR 0x1f
|
||||||
I_LDI .equ 0x20
|
.equ I_LDI 0x20
|
||||||
I_LDIR .equ 0x21
|
.equ I_LDIR 0x21
|
||||||
I_NEG .equ 0x22
|
.equ I_NEG 0x22
|
||||||
I_NOP .equ 0x23
|
.equ I_NOP 0x23
|
||||||
I_OR .equ 0x24
|
.equ I_OR 0x24
|
||||||
I_OTDR .equ 0x25
|
.equ I_OTDR 0x25
|
||||||
I_OTIR .equ 0x26
|
.equ I_OTIR 0x26
|
||||||
I_OUT .equ 0x27
|
.equ I_OUT 0x27
|
||||||
I_POP .equ 0x28
|
.equ I_POP 0x28
|
||||||
I_PUSH .equ 0x29
|
.equ I_PUSH 0x29
|
||||||
I_RET .equ 0x2a
|
.equ I_RET 0x2a
|
||||||
I_RETI .equ 0x2b
|
.equ I_RETI 0x2b
|
||||||
I_RETN .equ 0x2c
|
.equ I_RETN 0x2c
|
||||||
I_RL .equ 0x2d
|
.equ I_RL 0x2d
|
||||||
I_RLA .equ 0x2e
|
.equ I_RLA 0x2e
|
||||||
I_RLC .equ 0x2f
|
.equ I_RLC 0x2f
|
||||||
I_RLCA .equ 0x30
|
.equ I_RLCA 0x30
|
||||||
I_RR .equ 0x31
|
.equ I_RR 0x31
|
||||||
I_RRA .equ 0x32
|
.equ I_RRA 0x32
|
||||||
I_RRC .equ 0x33
|
.equ I_RRC 0x33
|
||||||
I_RRCA .equ 0x34
|
.equ I_RRCA 0x34
|
||||||
I_SBC .equ 0x35
|
.equ I_SBC 0x35
|
||||||
I_SCF .equ 0x36
|
.equ I_SCF 0x36
|
||||||
I_SUB .equ 0x37
|
.equ I_SUB 0x37
|
||||||
I_XOR .equ 0x38
|
.equ I_XOR 0x38
|
||||||
|
|
||||||
; Checks whether A is 'N' or 'M'
|
; Checks whether A is 'N' or 'M'
|
||||||
checkNOrM:
|
checkNOrM:
|
||||||
|
Loading…
Reference in New Issue
Block a user