Pregunta

¿Cómo agregar un 16 y un 8 bits se registra en el transporte (por ejemplo, NS, y A)?

¿Fue útil?

Solución

No se puede hacer directamente. Es necesario copiar A en un par de registros de 16 bits y luego hacer el complemento:

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

Otros consejos

Me gustaría señalar que la respuesta marcada (por Carl Norum) es correcta, pero no es la mejor respuesta. A continuación se muestra la velocidad de las dos estrategias con ciclos de reloj. Utilizando la solución adecuada ahorra tiempo, y no va a 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 a la derecha embargo, toma un byte de código adicional.

http: //nemesis.lonestar. org / ordenadores / Tandy / software / aplicaciones / 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top