Calculadora en Lenguaje Ensamblador
Enviado por fosamona • 17 de Abril de 2018 • Tutorial • 605 Palabras (3 Páginas) • 2.097 Visitas
;claculadora completa
.model small
.stack
.data
num1 db 0
unidades db 0
decenas db 0
num2 db 0
u db 0
d db 0
aux db 0,"$"
resultado db 0, "$"
residuo db 0
;salto db 10,13,"","$"
men1 db 10,13,"Ingresa un numero con dos cifras: ", "$"
men2 db 10,13,"La suma es: ","$"
men3 db 10,13,"La resta es: ","$"
men4 db 10,13,"La multiplicacion es: ","$"
men5 db 10,13,"La division es: ","$"
men6 db 10,13, "El residuo es: ", "$"
.code
main proc far
mov ax, @data
mov ds, ax
mov ah, 09h
lea dx, men1
int 21h
;Captura de decenas
mov ah, 01h
int 21h
sub al, 30h
mov decenas, al
;Captura de unidades
mov ah, 01h
int 21h
sub al, 30h
mov unidades, al
mov al, decenas
mov bl, 10
mul bl ; mul es multiplicaion y al = al*bl
add al, unidades
mov num1, al
mov ah, 09h
lea dx, men1
int 21h
;Captura de decenas
mov ah, 01h
int 21h
sub al, 30h
mov d, al
;Captura de unidades
mov ah, 01h
int 21h
sub al, 30h
mov u, al
mov al, d
mov bl, 10
mul bl ; mul es multiplicaion y al = al*bl
add al, u
mov num2, al
;----------------------------------SUMA---------------------------------
mov al, num1
add al, num2 ;SUMA AL+NUM2 =AL
mov resultado, al
mov ah, 09h
lea dx, men2
int 21h
;Mostrar numero
mov al, resultado
AAM ; Ajuste ascci ax despues de multiplicar
mov aux,al
mov al,ah
aam
;Imprimir decenas
mov bx, ax
mov ah, 02h
mov dl, bh
add dl, 30h
int 21h
;Imprimir unidades
mov ah, 02h
mov dl, bl
add dl, 30h
int 21h
mov ah, 02h
mov dl, aux
add dl, 30h
int 21h
;----------------------------------RESTA-------------------------------
mov al, num1
sub al, num2; AL = AL - NUM2
mov resultado, al
mov ah, 09h
lea dx, men3
int 21h
;Mostrar numero
...