Minimize mos65816 decoding tables

This commit is contained in:
gingerBill
2026-06-14 19:24:16 +01:00
parent 70e92d2a4d
commit cd4b4e1f36
3 changed files with 259 additions and 261 deletions

View File

@@ -152,10 +152,8 @@ encode_flags_literal :: proc(f: m.Encoding_Flags) -> string {
emit_range_table :: proc(sb: ^strings.Builder, name: string, ranges: []Range) {
fmt.sbprintfln(sb, "%s := [%d]Decode_Index{{", name, len(ranges))
for r, i in ranges {
if r.count == 0 {
fmt.sbprintfln(sb, "\t/* %02X */ {{0, 0}},", i)
} else {
fmt.sbprintfln(sb, "\t/* %02X */ {{%d, %d}},", i, r.start, r.count)
if r.count != 0 {
fmt.sbprintfln(sb, "\t0x%02X = {{%d, %d}},", i, r.start, r.count)
}
}
strings.write_string(sb, "}\n\n")