But we're still at a certain distance from assembling it with zasm: we're busting the 0x100 symbol limit.pull/10/head
@@ -1,68 +1,68 @@ | |||
; *** Consts *** | |||
; 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 | |||
INSTR_TBL_CNT .equ 150 | |||
.equ INSTR_TBL_CNT 150 | |||
; 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 | |||
I_ADC .equ 0x00 | |||
I_ADD .equ 0x01 | |||
I_AND .equ 0x02 | |||
I_BIT .equ 0x03 | |||
I_CALL .equ 0x04 | |||
I_CCF .equ 0x05 | |||
I_CP .equ 0x06 | |||
I_CPD .equ 0x07 | |||
I_CPDR .equ 0x08 | |||
I_CPI .equ 0x09 | |||
I_CPIR .equ 0x0a | |||
I_CPL .equ 0x0b | |||
I_DAA .equ 0x0c | |||
I_DEC .equ 0x0d | |||
I_DI .equ 0x0e | |||
I_DJNZ .equ 0x0f | |||
I_EI .equ 0x10 | |||
I_EX .equ 0x11 | |||
I_EXX .equ 0x12 | |||
I_HALT .equ 0x13 | |||
I_IM .equ 0x14 | |||
I_IN .equ 0x15 | |||
I_INC .equ 0x16 | |||
I_IND .equ 0x17 | |||
I_INDR .equ 0x18 | |||
I_INI .equ 0x19 | |||
I_INIR .equ 0x1a | |||
I_JP .equ 0x1b | |||
I_JR .equ 0x1c | |||
I_LD .equ 0x1d | |||
I_LDD .equ 0x1e | |||
I_LDDR .equ 0x1f | |||
I_LDI .equ 0x20 | |||
I_LDIR .equ 0x21 | |||
I_NEG .equ 0x22 | |||
I_NOP .equ 0x23 | |||
I_OR .equ 0x24 | |||
I_OTDR .equ 0x25 | |||
I_OTIR .equ 0x26 | |||
I_OUT .equ 0x27 | |||
I_POP .equ 0x28 | |||
I_PUSH .equ 0x29 | |||
I_RET .equ 0x2a | |||
I_RETI .equ 0x2b | |||
I_RETN .equ 0x2c | |||
I_RL .equ 0x2d | |||
I_RLA .equ 0x2e | |||
I_RLC .equ 0x2f | |||
I_RLCA .equ 0x30 | |||
I_RR .equ 0x31 | |||
I_RRA .equ 0x32 | |||
I_RRC .equ 0x33 | |||
I_RRCA .equ 0x34 | |||
I_SBC .equ 0x35 | |||
I_SCF .equ 0x36 | |||
I_SUB .equ 0x37 | |||
I_XOR .equ 0x38 | |||
.equ I_ADC 0x00 | |||
.equ I_ADD 0x01 | |||
.equ I_AND 0x02 | |||
.equ I_BIT 0x03 | |||
.equ I_CALL 0x04 | |||
.equ I_CCF 0x05 | |||
.equ I_CP 0x06 | |||
.equ I_CPD 0x07 | |||
.equ I_CPDR 0x08 | |||
.equ I_CPI 0x09 | |||
.equ I_CPIR 0x0a | |||
.equ I_CPL 0x0b | |||
.equ I_DAA 0x0c | |||
.equ I_DEC 0x0d | |||
.equ I_DI 0x0e | |||
.equ I_DJNZ 0x0f | |||
.equ I_EI 0x10 | |||
.equ I_EX 0x11 | |||
.equ I_EXX 0x12 | |||
.equ I_HALT 0x13 | |||
.equ I_IM 0x14 | |||
.equ I_IN 0x15 | |||
.equ I_INC 0x16 | |||
.equ I_IND 0x17 | |||
.equ I_INDR 0x18 | |||
.equ I_INI 0x19 | |||
.equ I_INIR 0x1a | |||
.equ I_JP 0x1b | |||
.equ I_JR 0x1c | |||
.equ I_LD 0x1d | |||
.equ I_LDD 0x1e | |||
.equ I_LDDR 0x1f | |||
.equ I_LDI 0x20 | |||
.equ I_LDIR 0x21 | |||
.equ I_NEG 0x22 | |||
.equ I_NOP 0x23 | |||
.equ I_OR 0x24 | |||
.equ I_OTDR 0x25 | |||
.equ I_OTIR 0x26 | |||
.equ I_OUT 0x27 | |||
.equ I_POP 0x28 | |||
.equ I_PUSH 0x29 | |||
.equ I_RET 0x2a | |||
.equ I_RETI 0x2b | |||
.equ I_RETN 0x2c | |||
.equ I_RL 0x2d | |||
.equ I_RLA 0x2e | |||
.equ I_RLC 0x2f | |||
.equ I_RLCA 0x30 | |||
.equ I_RR 0x31 | |||
.equ I_RRA 0x32 | |||
.equ I_RRC 0x33 | |||
.equ I_RRCA 0x34 | |||
.equ I_SBC 0x35 | |||
.equ I_SCF 0x36 | |||
.equ I_SUB 0x37 | |||
.equ I_XOR 0x38 | |||
; Checks whether A is 'N' or 'M' | |||
checkNOrM: | |||