summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo C2018-12-11 14:24:25 +0100
committerLeo C2018-12-11 14:24:25 +0100
commit3b18d7aeb5d3ee97b5ac3dceda0b4363d94767b7 (patch)
treeb07fec9f2433a0aa2c9890d01e7d50a95db92497
parente611c31d0ae7d51b9ee6d55d1a97eb83cde1df7f (diff)
downloadddt180-3b18d7aeb5d3ee97b5ac3dceda0b4363d94767b7.zip
Reorg dissassembler tables (wip)
-rw-r--r--ddt180.z80168
-rw-r--r--filter-unref.awk155
2 files changed, 246 insertions, 77 deletions
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 }