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