RESTA

org 100h

.model small
.stack 64
.data
 n1 db 0
 n2 db 0
 resta db 0
 msg1 db "Ingrese el primer valor:", '$'
 msg2 db 10,13, "Ingrese el segundo valor:", '$'
 msg3 db 10,13, "Resta=", '$'
 .code

 begin proc far
    ;direccionamos al segmentos de datos
    mov ax,@data
    mov ds,ax

    ;solicitamos el primer digito
    mov ah,09
    lea dx,msg1
    int 21h
    ;se lee el primer valor
    mov ah,01
    int 21h
    sub al,30h; convierte el caracter en numero
    mov n1,al   

    ;solicitamos el segundo digito
    mov ah,09
    lea dx,msg2
    int 21h
    mov ah,01
    int 21h
    sub al,30h;convierte el caracter en numero
    mov n2,al

    ;operacion
    mov al,n1 ;lo que esta en n1 lo asigna a al
    sub al,n2
    add al,30h;convierte a caracter
    mov resta,al
    mov ah,09
    lea dx,msg3
    int 21h

    ;se imprime el caracter con el servicio 02 de la int 21h
    mov ah,02  ;valor que se usa para poner algo en pantalla
    mov dl,resta
    int 21h
    mov ah,4ch
    begin endp

 end

ret




Comentarios

Entradas populares de este blog

Instrucción CMP, JE, JNE, LOOP

Programas usando la documentación y libreria emu8086