誰得 Z80 Tips
xevixeviさんがTwitterのフォロー/フォロワー0状態にお怒りあそばされてポストしたZ80のTips。覚えておいていざというときに使おう!
ぜび
@xevixevi
誰得 Z80 Tips 1。A レジスタを 0 にするなら、XOR A が速い。4clk。LD A,0 は 7clk。ただし XOR A はフラグ変化する。
2010-08-20 10:07:26
ぜび
@xevixevi
誰得 Z80 Tips 2。A レジスタが 0 かどうかを判定するなら、AND A もしくは OR A が速い。4clk。CP 0 は 7clk。
2010-08-20 10:07:31
ぜび
@xevixevi
誰得 Z80 Tips 3。A レジスタを壊さずに B レジスタが 0 かどうかを判定するなら、INC B; DEC B が速い。計 8clk。
2010-08-20 10:07:35
ぜび
@xevixevi
誰得 Z80 Tips 4。BC レジスタが 0 かどうかを判定するなら、LD A,B; OR C が速い。計 8clk。ちなみに DEC BC ではフラグ変化しないので注意。
2010-08-20 10:07:40
ぜび
@xevixevi
誰得 Z80 Tips 5。C フラグを 0 にするなら、AND A もしくは OR A が速い。4clk。ただし他のフラグも変化する。さらに A レジスタを 0 にするなら XOR A。
2010-08-20 10:07:46
ぜび
@xevixevi
誰得 Z80 Tips 6。分岐するなら JR より JP が速い。JP は 3 バイト命令で常に 10clk。JR は 2 バイト命令で、分岐時 12clk、非分岐時 7clk。
2010-08-20 10:08:06
ぜび
@xevixevi
誰得 Z80 Tips 7。データ転送は LDI を並べるのが速い。転送 1 バイトあたり 16clk。LDIR だと 21clk(最後の 1 バイトだけ 16clk)。
2010-08-20 10:08:11