From c01816b0553a195b21431d117285fa83b1953acd Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Sat, 18 May 2019 21:07:35 -0400 Subject: [PATCH] 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. --- apps/zasm/instr.asm | 120 ++++++++++++++++++++++---------------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/apps/zasm/instr.asm b/apps/zasm/instr.asm index 144bd17..d8ec6d3 100644 --- a/apps/zasm/instr.asm +++ b/apps/zasm/instr.asm @@ -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: