Resta de 2 numeros.

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

Comentarios

Entradas más populares de este blog

Suma de 2 numeros con libreria include emu8086.inc