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.
;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!







0 comentarios:
Publicar un comentario