うーん、
ld a,(hl)
and a
jp %1z,%2 ;%3
ld hl,%4
and aの部分をor aにしてもおかしい。
cp 0、inc a + dec a、and a + nop、nop + and a、add a, 0の組み合わせなら問題ない。
あれか、最適化した後のコードをさらに最適化とかしていて、その際になんかおかしなことを始めちゃうんだろうかね?
and aの代わりにneg突っ込めば大丈夫。
でも何でor aじゃダメなんだろうね?
あー、NEGってed 44だから2byteコードか。8ステート。
AND rとかOR rの類は4ステートなので、なるたけこれを狙いたい。
and a→and (hl)もダメ、or (hl)もダメ。
nopを挟む, neg, inc a + dec aは8ステートなので、add/sub a,0ないしcp 0の7ステートで逃げるしかないか。