Scripts de ensamblador

Puedes descargar el archivo .asm al final.

;programa que suma dos numeros cada uno de dos digitos
;y le aplica el ajuste en ascii para separar en bcd el
;resultado
.model tiny
.stack
.data
    msg db 'Echame los numeros a sumar $'

.code
.startup
    mov ah,09h ;interrupcion para imprimir una cadena
    lea dx,msg  ;ontenemos la direccion de memoria de ms

    int 21h    ;ejecutamos la interrupcion
 
    mov ah,01h ;interr. lee el caracter 1 del numero 1
    int 21h    ;ejecutamos la interrupcion

    sub al,30h ;hacemos el aguste de caracter a numero
    mov bl,al  ;guardamos el numero en bl
 

    int 21h    ;lee el caracter 2 del numero 1
    sub al,30h ;ajustamos el numero
    mov cl,al  ;copeamos a cl

 
    int 21h    ;lee el caracter 1 del numero 2
    sub al,30h ;ajustamos el numero
    add bl,al  ;lo sumamos a las decenas

 
    int 21h    ;lee el caracter 2 del numero 2
    sub al,30h ;ajustamos el numero
    add cl,al  ;sumamos a las unidades

    mov ax,cx  ;pasamos el R para convertirlo BCD
    aaa        ;convierte BCD
    mov cx,ax  ;respaldamos el resultado separado

 
    add bl,ch  ;sumamos el acarreo a las decenas
    mov ax,bx  ;pasamos ax para convertir a BCD

    aaa        ;convertimos BCD separado
    mov bx,ax  ;respaldamos el resultado
    mov dl,bh  ;muevo las centenas a dl

    add dl,30h ;ajusto las centenas
    mov ah,02h ;interr. mostrar un caracter
    int 21h    ;muestra las sentenas en pantalla

 
    mov dl,bl  ;muevo las decenas a dl
    add dl,30h ;ajusto las decenas

    int 21h    ;muestro las decenas
 
    mov dl,cl  ;muevo las unidades a dl
    add dl,30h ;ajusto las unidades

    int 21h    ;muestro las unidades
 
.exit
end
Autor: elgame DescargarDescargar

Comentarios en "Sumar dos numeros de dos digitos en ensamblador"

Table 'programa_programas.t_comentarios' doesn't exist