Frage

Wie fügen Sie ein 16 und ein 8-Bit-Register mit tragen (zB HL und A)?

War es hilfreich?

Lösung

Sie können es nicht direkt tun. Sie müssen A in ein 16-Bit-Registerpaar kopieren und führen Sie dann das Add:

LD  B, 0
LD  C, A
ADC HL, BC

Andere Tipps

Ich möchte darauf hinweisen, dass die geprüfte Antwort (von Carl Norum) korrekt ist, aber nicht die beste Antwort. Die folgenden zeigt die Geschwindigkeit der beiden Strategien mit Taktzyklen. Mit der richtigen Lösung spart Zeit, und wird nicht ein zweites 16-Bit-Registerpaar zerstören.

  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

Allerdings ist die Lösung auf der rechten Seite nimmt ein zusätzliches Byte-Code.

http: //nemesis.lonestar. org / Computer / 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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top