6802アセンブラで逆アセンブラ形式の出力に対応した。こんな感じで出力する。とりあえず相対分岐命令の時にラベル名を出すようにした。理想的にはアドレッシングモードがdirectとextendedのときもラベル名を出すべきな気もするけどまだできていない。まあいいか。だいぶ完成形に近づいてきた気がするな。
START:
3000 CE C8 00 LDX 0xC800
3003 A6 0B LDAA [X+0x0B]
3005 8A D0 ORAA 0xD0
3007 A7 0B STAA [X+0x0B]
3009 CE 31 00 LDX 0x3100
300C FF 31 82 STX [0x3182]
LOOP:
300F A6 00 LDAA [X+0x00]
3011 81 FF CMPA 0xFF
3013 27 20 BEQ END
3015 FE 31 80 LDX [0x3180]
3018 48 ASLA
3019 BB 31 81 ADDA [0x3181]
301C 84 00 ANDA 0x00
301E F9 31 80 ADCB [0x3180]
3021 CE C8 00 LDX 0xC800
3024 A7 04 STAA [X+0x04]
3026 E7 05 STAB [X+0x05]
3028 8D 15 BSR WAIT
302A 8D 13 BSR WAIT
302C CE 31 82 LDX 0x3182
302F 08 INX
3030 FF 31 82 STX [0x3182]
3033 20 DA BRA LOOP
END:
....


コメント