1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-11-30 19:58: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:
Virgil Dupras 2019-05-18 21:07:35 -04:00
parent bccf933ea9
commit c01816b055

View File

@ -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: