]> cloudbase.mooo.com Git - ddt180.git/blob - filter-unref.awk
Reorg dissassembler tables (wip)
[ddt180.git] / filter-unref.awk
1 BEGIN {
2 ign["DDTZ_END"] = 1
3 ign["DEFVERS"] = 1
4 ign["P_MSG_ERROR"] = 1
5
6 ign["I_ADC"] = 1
7 ign["I_ADD"] = 1
8 ign["I_AND"] = 1
9 ign["I_BIT"] = 1
10 ign["I_CALL"] = 1
11 ign["I_CCF"] = 1
12 ign["I_CP"] = 1
13 ign["I_CPD"] = 1
14 ign["I_CPDR"] = 1
15 ign["I_CPI"] = 1
16 ign["I_CPIR"] = 1
17 ign["I_CPL"] = 1
18 ign["I_DAA"] = 1
19 ign["I_DEC"] = 1
20 ign["I_DI"] = 1
21 ign["I_DJNZ"] = 1
22 ign["I_EI"] = 1
23 ign["I_EX"] = 1
24 ign["I_EXX"] = 1
25 ign["I_HALT"] = 1
26 ign["I_IM"] = 1
27 ign["I_IN"] = 1
28 ign["I_IN0"] = 1
29 ign["I_INC"] = 1
30 ign["I_IND"] = 1
31 ign["I_INDR"] = 1
32 ign["I_INI"] = 1
33 ign["I_INIR"] = 1
34 ign["I_JP"] = 1
35 ign["I_JR"] = 1
36 ign["I_LD"] = 1
37 ign["I_LDD"] = 1
38 ign["I_LDDR"] = 1
39 ign["I_LDI"] = 1
40 ign["I_LDIR"] = 1
41 ign["I_MLT"] = 1
42 ign["I_NEG"] = 1
43 ign["I_NOP"] = 1
44 ign["I_OR"] = 1
45 ign["I_OTDM"] = 1
46 ign["I_OTDMR"] = 1
47 ign["I_OTDR"] = 1
48 ign["I_OTIM"] = 1
49 ign["I_OTIMR"] = 1
50 ign["I_OTIR"] = 1
51 ign["I_OUT"] = 1
52 ign["I_OUT0"] = 1
53 ign["I_OUTD"] = 1
54 ign["I_OUTI"] = 1
55 ign["I_POP"] = 1
56 ign["I_PUSH"] = 1
57 ign["I_RES"] = 1
58 ign["I_RET"] = 1
59 ign["I_RETI"] = 1
60 ign["I_RETN"] = 1
61 ign["I_RL"] = 1
62 ign["I_RLA"] = 1
63 ign["I_RLC"] = 1
64 ign["I_RLCA"] = 1
65 ign["I_RLD"] = 1
66 ign["I_RR"] = 1
67 ign["I_RRA"] = 1
68 ign["I_RRC"] = 1
69 ign["I_RRCA"] = 1
70 ign["I_RRD"] = 1
71 ign["I_RST"] = 1
72 ign["I_SBC"] = 1
73 ign["I_SCF"] = 1
74 ign["I_SET"] = 1
75 ign["I_SLA"] = 1
76 ign["I_SLP"] = 1
77 ign["I_SRA"] = 1
78 ign["I_SRL"] = 1
79 ign["I_SUB"] = 1
80 ign["I_TST"] = 1
81 ign["I_TSTIO"] = 1
82 ign["I_XOR"] = 1
83 ign["O_ADC"] = 1
84 ign["O_ADD"] = 1
85 ign["O_AND"] = 1
86 ign["O_BIT"] = 1
87 ign["O_CALL"] = 1
88 ign["O_CCF"] = 1
89 ign["O_CP"] = 1
90 ign["O_CPD"] = 1
91 ign["O_CPDR"] = 1
92 ign["O_CPI"] = 1
93 ign["O_CPIR"] = 1
94 ign["O_CPL"] = 1
95 ign["O_DAA"] = 1
96 ign["O_DEC"] = 1
97 ign["O_DI"] = 1
98 ign["O_DJNZ"] = 1
99 ign["O_EI"] = 1
100 ign["O_EX"] = 1
101 ign["O_EXX"] = 1
102 ign["O_HALT"] = 1
103 ign["O_IM"] = 1
104 ign["O_IN"] = 1
105 ign["O_IN0"] = 1
106 ign["O_INC"] = 1
107 ign["O_IND"] = 1
108 ign["O_INDR"] = 1
109 ign["O_INI"] = 1
110 ign["O_INIR"] = 1
111 ign["O_JP"] = 1
112 ign["O_JR"] = 1
113 ign["O_LD"] = 1
114 ign["O_LDD"] = 1
115 ign["O_LDDR"] = 1
116 ign["O_LDI"] = 1
117 ign["O_LDIR"] = 1
118 ign["O_MLT"] = 1
119 ign["O_NEG"] = 1
120 ign["O_NOP"] = 1
121 ign["O_OR"] = 1
122 ign["O_OTDM"] = 1
123 ign["O_OTDMR"] = 1
124 ign["O_OTDR"] = 1
125 ign["O_OTIM"] = 1
126 ign["O_OTIMR"] = 1
127 ign["O_OTIR"] = 1
128 ign["O_OUT"] = 1
129 ign["O_OUT0"] = 1
130 ign["O_OUTD"] = 1
131 ign["O_OUTI"] = 1
132 ign["O_POP"] = 1
133 ign["O_PUSH"] = 1
134 ign["O_RES"] = 1
135 ign["O_RET"] = 1
136 ign["O_RETI"] = 1
137 ign["O_RETN"] = 1
138 ign["O_RL"] = 1
139 ign["O_RLA"] = 1
140 ign["O_RLC"] = 1
141 ign["O_RLCA"] = 1
142 ign["O_RLD"] = 1
143 ign["O_RR"] = 1
144 ign["O_RRA"] = 1
145 ign["O_RRC"] = 1
146 ign["O_RRCA"] = 1
147 ign["O_RRD"] = 1
148 ign["O_RST"] = 1
149 ign["O_SBC"] = 1
150 ign["O_SCF"] = 1
151 ign["O_SET"] = 1
152 ign["O_SLA"] = 1
153 ign["O_SLP"] = 1
154 ign["O_SRA"] = 1
155 ign["O_SRL"] = 1
156 ign["O_SUB"] = 1
157 ign["O_TST"] = 1
158 ign["O_TSTIO"] = 1
159 ign["O_XOR"] = 1
160 }
161
162 /\x1A/ { exit }
163 /^Cross Reference/ { cross = 1 }
164
165 { if (cross != 1) next }
166 { if ($2 in ign) next }
167
168 /^[0-9A-F]{4}/ { if (NF == 3) printf "%s\n", $0 }