23

キャリー付きの16ビットレジスタと8ビットレジスタ(HL、Aなど)をどのように追加しますか?

4

3 に答える 3

28

チェックされた応答(Carl Norumによる)は正しいが、最良の答えではないことを指摘したいと思います。以下は、クロックサイクルを使用した2つの戦略の速度を示しています。適切なソリューションを使用すると、時間を節約でき、2番目の16ビットレジスタペアを破壊することはありません。

  4   ld c,a            4   add a,l
  7   ld b,0            4   ld l,a
  11  add hl,bc         4   adc a,h
                        4   sub l
                        4   ld h,a

ただし、右側のソリューションでは、余分な1バイトのコードが必要です。

于 2010-07-26T22:12:10.927 に答える
14

直接行うことはできません。Aを16ビットレジスタペアにコピーしてから、次のように追加する必要があります。

LD  B, 0
LD  C, A
ADC HL, BC
于 2010-02-11T21:44:16.910 に答える
-4

http://nemesis.lonestar.org/computers/tandy/software/apps/m4/qd/opcodes.htmlから

Add Byte with Carry-In Instructions
8080 Mnemonic Z80 Mnemonic  Machine Code Operation
ADC  M        ADC A,(HL)    8E           A <- A + (HL) + Carry
于 2010-02-11T21:44:28.670 に答える