Estoy tratando de escribir un programa que introduce un número positivo menor que 10 y da salida a la suma de los primeros números. Por ejemplo 5 sería 5 + 4 + 3 + 2 + 1. Los comandos son parada, carga, tienda, Añadir, suma, multiplicación, división, entrada, salida, Rama, Rama si es 0, y la rama si no 0. ¿Puede alguien ayudarme aquí. Estoy un poco atascado. bien lo que he escrito es:
IN n
LD n
ADD sum
STO sum
LD n
SUB one
ADD sum
STO sum
BRGT haw
LD n
BR done
haw: OUT sum
done: STOP
DC n 4
DC sum 0
DC one 1
Así como yo lo veo de trabajo es cargar un número n y añadir una suma de 0 y luego almacenar esta suma como suma n +. A continuación, se carga n de nuevo y restar 1 y almacenar que a medida que la nueva suma. Pero lo necesito repetir esto hasta que n llega a 0. Entonces, ¿cómo lo hago?
La autorización así que lo que tengo que hacer es utilizar la sucursal si 0 y sucursal si no 0. Creo que lo tengo? asi que:
IN n
LD n
ADD sum
STO sum
BR CAW
CAW: LD n
SUB ONE
STO n
BRGT HAW
BZ TAW
HAW: ADD SUM
STO SUM
BR CAW
TAW: OUT SUM
DC SUM 0
DC ONE 1
DC = Designado constante, pero lo que tengo que repetir es la sustracción por uno y añadiendo la suma hasta n llega a 0. Rama si no es cero es BRGT y la rama si el cero es BZ y la rama es Br, LD es la carga. Yo sé lo que tengo que repetir, pero no sé cómo se hace esto en lenguaje ensamblador.













