Z80 REPLの意外なバグ:末尾の空白が命令を無効化
Hacker Newsで話題のZ80 REPL。命令後の空白でエラーになる問題や、fish風のTab補完が欲しいという声が上がっている。Z80アセンブリを対話的に試せる点は評価されている。
nop [<-- trailing space here] unknown instruction: nop
HNでの議論
16- jhallenworld
シンボルをサポートすべきです... 例えば、私の6800 / 6809 Exorciserシミュレータのモニタにはこれがあります(「Offset at...」は前方参照を修正するときに表示されます):
~/exorsim$ exor -d
% a 1000
1000: start bra skip
1002: nop
1003: nop
1004: skip ldx #10
Offset at 1001 set to 02
1007: loop dex
1008: nop
1009: bne loop
100b: rts
100c:
% sy
1007 loop
1004 skip
1000 start
% u 1000
1000: 20 02 BRA $1004
1002: 01 NOP
1003: 01 NOP
1004: CE 00 0A LDX #$000A
1007: 09 DEX
1008: 01 NOP
1009: 26 FC BNE $1007
100B: 39 RTS
さらに良いのは、「a」で内蔵のミニエディタが起動することです。終了すると、コードがアセンブルされます。
- flyinghamster
Apple II Plus(Integer BASIC搭載のオリジナルと比べて)について私が嘆いた唯一の点は、オートスタート用のスペースを確保するために、Monitor ROMのミニアセンブラを削除しなければならなかったことです。これは、これまでに見た中でアセンブリ言語のREPLに最も近いものでした。少なくとも、逆アセンブラは残すことができました。
- jottinger
これのソースコードはどうやら8年前のもののようです:https://github.com/abagames/z80-repl
そうは言っても、このアイデアは大好きです。