あなたが探している情報は、この日記には記されていない可能性が高いです。(検索で来た人用)
にらどんは一杯500円。尚、出前は承っておりません。ご了承下さい。

金銀VC

30D6	inc b
30D7	inc c
30D8	jr 30DDh
30DA	ldi a, (hl)
30DB	ld (de), a
30DC	inc de
30DD	dec c
30DE	jr nz, 30DAh
30E0	dec b
30E1	jr nz, 30DAh
30E3	ret

なんでループをdec bcじゃなくてbとc別々にまわしてるんだろう。意味は一緒ですよね?何か違うのかな・・・
あ、30D7から入るとbが加算されないからループ回数が256回ずれる。これがミソかな。そんな気がする。
だよね、bcのチェックをしっかりしてあるなら30DAから入っても動作は同じだし、
そのずれを利用してオーバーロード的な使い方をできるようにしてあるんだ。なるほろなるほろ。
で根本的なバグの原因はldi a, (hl)だ。これhl元に戻してくれないんだ。
bは使わないで欲しいし、やっぱりこれを元に自分用の範囲コピーを書き直すしかないかな・・・
つかそのままでいいよね。たった7バイトでかける。
これなら起動用メールに書き足せあーー、jr nzがないんだった。jp nzでもいいけどそっちも文字があるかわからん。そこチェックしておくか。

0000	ldi a, (hl)
0001	ld (de), a
0002	inc de
0003	dec c
0004	jp nz, 0000h
0007	ret