codigos emu

DIVIDIR NUMERO

.model small

.stack 100h


.data

    mensaje db "Ingresa el primer numero: ", 0DH, 0AH, "$"

    mensaje2 db "Ingresa el segundo numero: ", 0DH, 0AH, "$"

    res db "El cociente es: ", 0DH, 0AH, "$"

    res2 db "El residuo es: ", 0DH, 0AH, "$"

    jump db " ", 0DH, 0AH, "$"

    num1 db ?

    num2 db ?

    resultado db ?

    residuo db ?


.code

programa:


    mov ax, @data

    mov ds, ax

    mov dx, offset jump

    call imprimir


    mov dx, offset mensaje

    call imprimir

    

    


    mov ah, 1h

    int 21h

    sub al, 30h

    mov num1, al

    mov dx, offset jump

    call imprimir

    mov dx, offset mensaje2

    call imprimir 

    


    mov ah, 1h

    int 21h

    sub al, 30h

    mov num2, al

    

    mov dx, offset jump

    call imprimir

    mov al, num1

    mov bl, num2

    mov ah, 0

    div bl

    mov resultado, al

    mov residuo, ah

    


    mov dx, offset res

    call imprimir

    


    add resultado, 30h

    mov ah, 2h

    mov dl, resultado

    int 21h


    mov dx, offset jump

    call imprimir

    mov dx, offset res2

    call imprimir


    add residuo, 30h

    mov ah, 2h

    mov dl, residuo

    int 21h


    call finalizar


imprimir:

    mov ah, 09h

    int 21h

    ret


finalizar:

    mov ax, 4ch

    int 21h




MULTIPLICAR NUMERO

.model small

.stack 100h


.data

  mensaje db "Ingrese el primer digito: $"

  mensaje2 db "Ingrese el segundo digito: $"

  mensaje3 db "el resultado es: $"

  salt db "", 0DH, 0AH, "$"


.code

programa:


  mov ax, @data

  mov ds, ax


  mov dx, offset mensaje

  call imprimir


  mov ah, 1h

  int 21h

  sub al, 30h    

  mov bl, al     


  mov dx, offset salt

  call imprimir


  mov dx, offset mensaje2

  call imprimir


  mov ah, 1h

  int 21h

  sub al, 30h

      

  mul bl        


  mov bl, al     


  mov dx, offset salt

  call imprimir

               

  mov dx, offset mensaje3

  call imprimir            


  add bl, 30h

     

  mov ah, 2h

  mov dl, bl

  int 21h


  call finalizar


imprimir:

  mov ah, 9h

  int 21h

  ret


finalizar:

  mov ax, 4ch

  int 21h


end programa



SUMA NUMERO


.model small

.stack 100h


.data


mensj db "ingresa el primer num",0DH,0AH,"$"

mensj2 db "ingresa el segundo num",0DH,0AH,"$"


variable db ?

variable2 db ?


imprimir:

mov ah,09h

int 21h

ret


fonalizar:

mov ax,4ch

int 21h


mov dx, offset msg

int 21h


mov ah,1h

int 21h


add bl,30h

mov ah,2h

mov dl,bl

int 21h




RESTA NUMERO
.model small
.stack 100h

.data
  mensaje db "ingrese el primer digito: ", 0DH, 0AH, "$" 
  mensaje2 db "ingrese el segundo digito: ", 0DH, 0AH, "$"   
  mensg3 db "resultado: ", 0DH, 0AH, "$"  
  salt db "", 0DH, 0AH,"$"
.code

programa:

mov ax, @data
mov ds,ax

mov dx, offset mensaje
call imprimir

mov ah, 1h
int 21h

sub al, 30h
mov bl, al 

 mov dx, offset salt
 call imprimir 

mov dx, offset mensaje2  
call imprimir 

mov ah, 1h
int 21h
                     
sub al, 30h 

sub bl, al  

  mov dx, offset salt
  call imprimir 

 mov dx, offset mensg3
    call imprimir
    
   
    
    add bl,30h
    mov ah, 2h
    mov dl, bl
    int 21h
      
  
call finalizar

 imprimir:
  mov ah, 09h
  int 21h 
  ret
  
  finalizar:
  mov ax, 4ch
  int 21h
  
end programa








Comentarios