Usando el Microprocesador Z80 programé el siguiente código, cuyo fin es la multiplicación de dos números previamente cargados en memoria, por ejemplo en la localidad 1000H cargamos un 5 y en la localidad 1001H cargamos un 10, y el resultado de la multiplicación lo cargamos en la localidad 1002H.
Aquí podemos ver que, después de haberse ejecutado el programa, en la localidad 1002H tenemos como resultado un 32 en hexadecimal, que en decimal es 50.
3 * 16 = 48 + 2 = 50
Loki!
;Multiplicacion en ASM
;Usando el microprocesador Z80
;@GraggLoki
MAIN:
LD A,(1000H) ; A <- (1000H)
CP 0 ; Comparacion con cero
JR Z,ETI5 ; Si la bandera Z esta encendida vamos a ETI5
LD B,A ; Cargamos a B con el contenido de A
LD A,(1001H) ; Cargamos a A con el contenido de la dir 1001H
CP 0
JR Z,ETI5
CP B
JP P,ETI2
LD C,A
LD A,0
ETI3:
ADD A,B
DEC C ; C=C-1
JR NZ,ETI3
ETI5:
LD (1002H),A
HALT
ETI2:
LD C,A
LD A,0
ETI4:
ADD A,C
DEC B
JR NZ,ETI4
JR ETI5
Aquí podemos ver que, después de haberse ejecutado el programa, en la localidad 1002H tenemos como resultado un 32 en hexadecimal, que en decimal es 50.
3 * 16 = 48 + 2 = 50
Loki!







