ADMINISTRACION DE BASE DE DATOS

miércoles, 27 de febrero de 2019

PRACTICA 2: PROGRAMA DE SUMA Y RESTA

1. SUMA

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







2. RESTA


org 100h         


.model small
.stack 64
.data
    n1 db 0
    n2 db 0
    s db 0
    msg1 db "Dame el primer valor: ", "$"
    msg2 db "Dame el segundo valor: ", "$"
    msg3 db "Suma = ", "$"
.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        
        
        ;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
        add al, n2
        add al, 30h ;convierte a caracter
        mov s, al
        mov ah, 09
        lea dx, msg3
        int 21h
        
        ;se imprime el caracter con el servicio 02 de la int 21h
        mov ah, 02
        mov dl, s
        int 21h          
        mov ah, 4ch
        int 21h
        Begin endp
        end 
        
ret








No hay comentarios:

Publicar un comentario