![日記 日記](https://srad.jp/static/topics/journal_64.png)
yasuokaの日記: Re:Z80における定数10の除算は、商と余りのどちらを先に求めるべきか 2
日記 by
yasuoka
一昨日の日記で書いた「Z80で、Bレジスタに0~99の整数が入っている時に、10で除算した商をHレジスタに、余りをAレジスタに返す」という問題だが、余りをDAAで先に求めて、その後に商を求める方法を、改良できてしまった。
78 LD A,B
0F RRCA
0F RRCA
0F RRCA
27 DAA
87 ADD A
27 DAA
4F LD C,A
78 LD A,B
E6 07 AND 07H
91 SUB C
27 DAA
E6 0F AND 0FH
4F LD C,A
90 SUB B
67 LD H,A
0F RRCA
84 ADD H
E6 0F AND 0FH
67 LD H,A
79 LD A,C
商を求める部分の演算順序を、微妙に入れ換えただけなのだが、24バイト93ステートといったところだろうか。さすがに私(安岡孝一)個人としては、このあたりが限界な気がするのだが、まだトンデモないアイデアが残されているかしら。
新アイディアでやってみました (スコア:1)
ネットサーフィンで見て頂いた10除算のページに改善版を追記しました。
アイディアを思いついた時にはかなり高速化できるのでは?と思いましたが結果は同じく24バイト93ステートでした。
https://piclabo.blog.so-net.ne.jp/Z80_Division [so-net.ne.jp]
Re:新アイディアでやってみました (スコア:2)