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

Programas usando la documentación y libreria emu8086

Instrucción CMP, JE, JNE, LOOP

Unidad 3(15 programas TASM)