zilog microprocessor microcontrollers assembly z80

assembly - microprocessor - zilog microcontrollers



Z80: ¿Cómo agregar registros de 16 y 8 bits? (3)

De nemesis.lonestar.org/computers/tandy/software/apps/m4/qd/…

Add Byte with Carry-In Instructions 8080 Mnemonic Z80 Mnemonic Machine Code Operation ADC M ADC A,(HL) 8E A <- A + (HL) + Carry

¿Cómo se agrega un registro de 16 y 8 bits con carry (por ejemplo, HL y A)?


Me gustaría señalar que la respuesta marcada (por Carl Norum) es correcta, pero no la mejor respuesta. A continuación, se muestra la velocidad de las dos estrategias con ciclos de reloj. Usar la solución correcta ahorra tiempo y no destruirá un segundo par de registros de 16 bits.

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

Sin embargo, la solución de la derecha toma un byte extra de código.


No puedes hacerlo directamente. Necesita copiar A en un par de registros de 16 bits y luego hacer el complemento:

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