ARQUITECTURA DE COMPUTADORES. ACTIVIDAD INDIVIDUAL
Enviado por Jillian • 22 de Febrero de 2018 • 842 Palabras (4 Páginas) • 524 Visitas
...
[pic 4]
[pic 5]
[pic 6]
Código de multiplicación y potenciación de números.
Para este caso el código permite una multiplicación entre números enteros, estos mismos son ingresados como parámetros por el usuario; una vez ingresados los dos números a opera, el programa ejecutara códigos que multiplique entre si los números ingresados y posterior a ello nos de la potencia de los resultados.
Para ello, la estructura del programa en lenguaje de Maquina (Assembler) es la siguiente.
.model small
.stack
.data
var1 db ?
var2 db ?
var3 db ?
var4 db ?
cen db 0
dece db 0
uni db 0
resul_mul db ?
resul_pot db ?
msg1 db 'ingrese primer valor: $'
msg2 db 'ingrese segundo valor: $'
msg3 db 'Resultado de la multiplicacion: $'
msg4 db 'Resultado de la potencia:$'
.code
.startup
mov ah, 09h
lea dx, msg1
int 21h
mov ah,01h
int 21h
sub al, 30h
mov var1, al
mov AH, 02H
mov DL, 0AH
int 21H
mov ah, 09h
lea dx, msg2
int 21h
mov ah, 01h
int 21h
sub al, 30h
mov var2, al
mov AH, 02H
mov dl, 0Ah
int 21H
mov al, 0
mov var3, al
mov al, 0
mov resul_mul, al
mov cx, 9
bucle:
mov al, var1
add resul_mul , al
mov al, var2
inc var3
cmp var3, al
je Acaba
loop bucle
Acaba:
mov ah, 09h
lea dx, msg3
int 21h
mov al, resul_mul
aam
mov uni , al
mov al, ah
aam
mov cen, ah
mov dece, al
mov ah, 02h
mov dl, cen
add dl, 30h
int 21h
mov dl, dece
add dl, 30h
int 21h
mov dl, uni
add dl, 30h
int 21h
mov AH, 02H
mov dl, 0Ah
int 21h
mov al, 1
mov var4, al
mov al, 0
mov resul_mul, al
mov al, 0
mov resul_pot, al
bucle2:
mov cx, 9
mov al, 0
mov var3, al
bucle1:
mov al, var1
add resul_pot, al
mov al, var1
inc var3
cmp var3, al
je Acaba1
loop bucle1
Acaba1:
mov al, var2
inc var4
cmp var4,al
je Acaba2
loop bucle2
Acaba2:
mov ah, 09h
lea dx, msg4
int 21h
mov al, 0
mov uni, al
mov al, 0
mov cen, al
mov al, 0
mov dece, al
mov al, resul_pot
aam
...