Diferencia en Assembler
Hola gente, tengo el siguiente problema con este ej:
1) realizar la sumatoria s=n1+n2+m3+...+nn, siendo datos las direcciones de n1,nn y s. Los operandos son todos numeros signados de 8 bits.
A lo que el profesor planteo:
ORG $0000 ; declaracion de variables
S RMB 1 ; almacena el resultado de la sumatoria
DIR1 RMB 2 ; almacena la direccion del primer sumando
DIR2 RMB 2 ; almacena la direccion del ultimo operando
ORG $8000 ; buscar condiciones ideales
CLRA ; limpiar el acumulador
CLRB ; limpia acumulador
LDD DIR2
SUBD DIR1 ;calculo la cantidad de temrinos a sumar
CMPA # 0000 ; comparar A con 0
BNE ERROR ; saltar si z==0
ahora lo que no entiendo es: si deice que son de 8 bits, porque usa al acumulador d, para hacer la resta, y desp solo compara con la parte A? Osea que parte de la instruccion hace la resta?
Gracias!!
1) realizar la sumatoria s=n1+n2+m3+...+nn, siendo datos las direcciones de n1,nn y s. Los operandos son todos numeros signados de 8 bits.
A lo que el profesor planteo:
ORG $0000 ; declaracion de variables
S RMB 1 ; almacena el resultado de la sumatoria
DIR1 RMB 2 ; almacena la direccion del primer sumando
DIR2 RMB 2 ; almacena la direccion del ultimo operando
ORG $8000 ; buscar condiciones ideales
CLRA ; limpiar el acumulador
CLRB ; limpia acumulador
LDD DIR2
SUBD DIR1 ;calculo la cantidad de temrinos a sumar
CMPA # 0000 ; comparar A con 0
BNE ERROR ; saltar si z==0
ahora lo que no entiendo es: si deice que son de 8 bits, porque usa al acumulador d, para hacer la resta, y desp solo compara con la parte A? Osea que parte de la instruccion hace la resta?
Gracias!!