From: Leo C Date: Tue, 11 Dec 2018 13:24:25 +0000 (+0100) Subject: Reorg dissassembler tables (wip) X-Git-Tag: v0.5~22 X-Git-Url: http://cloudbase.mooo.com/gitweb/ddt180.git/commitdiff_plain/3b18d7aeb5d3ee97b5ac3dceda0b4363d94767b7 Reorg dissassembler tables (wip) --- diff --git a/ddt180.z80 b/ddt180.z80 index 6cafa0c..5c7ff3b 100644 --- a/ddt180.z80 +++ b/ddt180.z80 @@ -3270,84 +3270,98 @@ p_arg0: ;------------------------------------------------------------------------------- +opc_index defl 0 +opc_offset defl 0 + +opc macro x + local pos +pos defl $ +i_&x equ opc_index +o_&x equ opc_offset + dc '&x' +opc_index defl opc_index+1 +opc_offset defl opc_offset+$-pos + endm + + t_MNEMONICS: - DC 'ADC' - DC 'ADD' - DC 'AND' - DC 'BIT' - DC 'CALL' - DC 'CCF' - DC 'CP' - DC 'CPD' - DC 'CPDR' - DC 'CPI' - DC 'CPIR' - DC 'CPL' - DC 'DAA' - DC 'DEC' - DC 'DI' - DC 'DJNZ' - DC 'EI' - DC 'EX' - DC 'EXX' - DC 'HALT' - DC 'IM' - DC 'IN' - DC 'INC' - DC 'IND' - DC 'INDR' - DC 'INI' - DC 'INIR' - DC 'JP' - DC 'JR' - DC 'LD' - DC 'LDD' - DC 'LDDR' - DC 'LDI' - DC 'LDIR' - DC 'NEG' - DC 'NOP' - DC 'OR' - DC 'OTDR' - DC 'OTIR' - DC 'OUT' - DC 'OUTD' - DC 'OUTI' - DC 'POP' - DC 'PUSH' - DC 'RES' - DC 'RET' - DC 'RETI' - DC 'RETN' - DC 'RL' - DC 'RLA' - DC 'RLC' - DC 'RLCA' - DC 'RLD' - DC 'RR' - DC 'RRA' - DC 'RRC' - DC 'RRCA' - DC 'RRD' - DC 'RST' - DC 'SBC' - DC 'SCF' - DC 'SET' - DC 'SLA' - DC 'SRA' - DC 'SRL' - DC 'SUB' - DC 'XOR' - DC 'IN0' - DC 'MLT' - DC 'OTDM' - DC 'OTDMR' - DC 'OTIM' - DC 'OTIMR' - DC 'OUT0' - DC 'SLP' - DC 'TST' - DC 'TSTIO' + opc ADC + opc ADD + opc AND + opc BIT + opc CALL + opc CCF + opc CP + opc CPD + opc CPDR + opc CPI + opc CPIR + opc CPL + opc DAA + opc DEC + opc DI + opc DJNZ + opc EI + opc EX + opc EXX + opc HALT + opc IM + opc IN + opc INC + opc IND + opc INDR + opc INI + opc INIR + opc JP + opc JR + opc LD + opc LDD + opc LDDR + opc LDI + opc LDIR + opc NEG + opc NOP + opc OR + opc OTDR + opc OTIR + opc OUT + opc OUTD + opc OUTI + opc POP + opc PUSH + opc RES + opc RET + opc RETI + opc RETN + opc RL + opc RLA + opc RLC + opc RLCA + opc RLD + opc RR + opc RRA + opc RRC + opc RRCA + opc RRD + opc RST + opc SBC + opc SCF + opc SET + opc SLA + opc SRA + opc SRL + opc SUB + opc XOR + opc IN0 + opc MLT + opc OTDM + opc OTDMR + opc OTIM + opc OTIMR + opc OUT0 + opc SLP + opc TST + opc TSTIO DB 0 t_BCDEHL_HL_A: diff --git a/filter-unref.awk b/filter-unref.awk index c98c274..d0bf1c6 100644 --- a/filter-unref.awk +++ b/filter-unref.awk @@ -2,6 +2,161 @@ BEGIN { ign["DDTZ_END"] = 1 ign["DEFVERS"] = 1 ign["P_MSG_ERROR"] = 1 + + ign["I_ADC"] = 1 + ign["I_ADD"] = 1 + ign["I_AND"] = 1 + ign["I_BIT"] = 1 + ign["I_CALL"] = 1 + ign["I_CCF"] = 1 + ign["I_CP"] = 1 + ign["I_CPD"] = 1 + ign["I_CPDR"] = 1 + ign["I_CPI"] = 1 + ign["I_CPIR"] = 1 + ign["I_CPL"] = 1 + ign["I_DAA"] = 1 + ign["I_DEC"] = 1 + ign["I_DI"] = 1 + ign["I_DJNZ"] = 1 + ign["I_EI"] = 1 + ign["I_EX"] = 1 + ign["I_EXX"] = 1 + ign["I_HALT"] = 1 + ign["I_IM"] = 1 + ign["I_IN"] = 1 + ign["I_IN0"] = 1 + ign["I_INC"] = 1 + ign["I_IND"] = 1 + ign["I_INDR"] = 1 + ign["I_INI"] = 1 + ign["I_INIR"] = 1 + ign["I_JP"] = 1 + ign["I_JR"] = 1 + ign["I_LD"] = 1 + ign["I_LDD"] = 1 + ign["I_LDDR"] = 1 + ign["I_LDI"] = 1 + ign["I_LDIR"] = 1 + ign["I_MLT"] = 1 + ign["I_NEG"] = 1 + ign["I_NOP"] = 1 + ign["I_OR"] = 1 + ign["I_OTDM"] = 1 + ign["I_OTDMR"] = 1 + ign["I_OTDR"] = 1 + ign["I_OTIM"] = 1 + ign["I_OTIMR"] = 1 + ign["I_OTIR"] = 1 + ign["I_OUT"] = 1 + ign["I_OUT0"] = 1 + ign["I_OUTD"] = 1 + ign["I_OUTI"] = 1 + ign["I_POP"] = 1 + ign["I_PUSH"] = 1 + ign["I_RES"] = 1 + ign["I_RET"] = 1 + ign["I_RETI"] = 1 + ign["I_RETN"] = 1 + ign["I_RL"] = 1 + ign["I_RLA"] = 1 + ign["I_RLC"] = 1 + ign["I_RLCA"] = 1 + ign["I_RLD"] = 1 + ign["I_RR"] = 1 + ign["I_RRA"] = 1 + ign["I_RRC"] = 1 + ign["I_RRCA"] = 1 + ign["I_RRD"] = 1 + ign["I_RST"] = 1 + ign["I_SBC"] = 1 + ign["I_SCF"] = 1 + ign["I_SET"] = 1 + ign["I_SLA"] = 1 + ign["I_SLP"] = 1 + ign["I_SRA"] = 1 + ign["I_SRL"] = 1 + ign["I_SUB"] = 1 + ign["I_TST"] = 1 + ign["I_TSTIO"] = 1 + ign["I_XOR"] = 1 + ign["O_ADC"] = 1 + ign["O_ADD"] = 1 + ign["O_AND"] = 1 + ign["O_BIT"] = 1 + ign["O_CALL"] = 1 + ign["O_CCF"] = 1 + ign["O_CP"] = 1 + ign["O_CPD"] = 1 + ign["O_CPDR"] = 1 + ign["O_CPI"] = 1 + ign["O_CPIR"] = 1 + ign["O_CPL"] = 1 + ign["O_DAA"] = 1 + ign["O_DEC"] = 1 + ign["O_DI"] = 1 + ign["O_DJNZ"] = 1 + ign["O_EI"] = 1 + ign["O_EX"] = 1 + ign["O_EXX"] = 1 + ign["O_HALT"] = 1 + ign["O_IM"] = 1 + ign["O_IN"] = 1 + ign["O_IN0"] = 1 + ign["O_INC"] = 1 + ign["O_IND"] = 1 + ign["O_INDR"] = 1 + ign["O_INI"] = 1 + ign["O_INIR"] = 1 + ign["O_JP"] = 1 + ign["O_JR"] = 1 + ign["O_LD"] = 1 + ign["O_LDD"] = 1 + ign["O_LDDR"] = 1 + ign["O_LDI"] = 1 + ign["O_LDIR"] = 1 + ign["O_MLT"] = 1 + ign["O_NEG"] = 1 + ign["O_NOP"] = 1 + ign["O_OR"] = 1 + ign["O_OTDM"] = 1 + ign["O_OTDMR"] = 1 + ign["O_OTDR"] = 1 + ign["O_OTIM"] = 1 + ign["O_OTIMR"] = 1 + ign["O_OTIR"] = 1 + ign["O_OUT"] = 1 + ign["O_OUT0"] = 1 + ign["O_OUTD"] = 1 + ign["O_OUTI"] = 1 + ign["O_POP"] = 1 + ign["O_PUSH"] = 1 + ign["O_RES"] = 1 + ign["O_RET"] = 1 + ign["O_RETI"] = 1 + ign["O_RETN"] = 1 + ign["O_RL"] = 1 + ign["O_RLA"] = 1 + ign["O_RLC"] = 1 + ign["O_RLCA"] = 1 + ign["O_RLD"] = 1 + ign["O_RR"] = 1 + ign["O_RRA"] = 1 + ign["O_RRC"] = 1 + ign["O_RRCA"] = 1 + ign["O_RRD"] = 1 + ign["O_RST"] = 1 + ign["O_SBC"] = 1 + ign["O_SCF"] = 1 + ign["O_SET"] = 1 + ign["O_SLA"] = 1 + ign["O_SLP"] = 1 + ign["O_SRA"] = 1 + ign["O_SRL"] = 1 + ign["O_SUB"] = 1 + ign["O_TST"] = 1 + ign["O_TSTIO"] = 1 + ign["O_XOR"] = 1 } /\x1A/ { exit }