Diferencia en Assembler

Andres Bernardo
13 de Octubre del 2011
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!!