martes, 6 de marzo de 2018

UNIDAD 2: PROGRAMA LOOP 4 EN EMU8086 Y TASM

PROGRAMA DE AQUINO EN EMU8086

org 100h

.model small

.stack 64

.data



mensaje db 10,13 ,"Dame un numero",10,13,"$"
mensaje2 db 10,13 ,"Dame un la potencia",10,13,"$"

n1 db 0
n2 db 0
n3 db 0

.code



inicio:     ;función inicio



 mov ax,@data ;Movemos el segmento data a ax
 mov ds,ax ; Movemos lo que esta en ax a ds
 mov dx,offset mensaje ;Imprimimos el primer mensaje parte 1
 mov ah, 09h ;Imprimimos el primer mensaje parte 2
 int 21h ;Imprimimos el primer mensaje parte 3



 mov ah,01     ;pausa y espera a que el usuario presione una tecla
 int 21h        ;interrupción para capturar
 sub al,30h   ;lo que el usuario presiono se guarda en al y se le resta 30h para convertirlo a un numero
 mov n1,al ;Movemos lo que esta en al a la variable n1
 mov n3,al  ;Movemos lo que esta en al a la variable n3



 mov ah, 09h ;imprimimos el mensaje 2 parte 1
 mov dx,offset mensaje2  ;imprimimos el mensaje 2 parte 2
 int 21h  ;imprimimos el mensaje 2 parte 3

 mov ah,01     ;pausa y espera a que el usuario presione una tecla
 int 21h           ;interrupcion para capturar

 sub al,30h     ;lo que el usuario presiono se guarda en al y se le resta 30h para convertirlo a un numero
 mov n2,al     ;Guardamos lo que el usuario preciono el n2




 mov cl,al ; movemos lo que esta en al a cl para decirle al ciclo cuantas vueltas va a dar
 sub cl,1 ;le restamos 1 para que no de una vuelta de mas



call ciclo ;llamada a ciclo



ciclo:  ;Funcion
 call ciclo1 ;llamada el procediemto 1


ciclo1 proc near : ;procedimiento ciclo

  mov al,n1 ;potencia parte 1
  mov bh,n3 ;potencia parte 2
  mul bh ;potencia parte 3


  mov n1,al


  loop ciclo1 ;loop a la funcion ciclo




  mov ax,4c00h ;fin parte 1
  int 21h; fin parte 2



fin: ;funcion fin

 mov ax,4c00h      ;funcion que termina el programa
 int 21h
end inicio


EN TASM

datos segment
    mensaje db 10,13"Dame un numero",10,13,"$"
    mensaje2 db 10,13 ,"Dame un la potencia",10,13,"$"
    n1 db 0
    n2 db 0
    n3 db 0
datos ends
   
codigo segment
    assume ds:datos,cs:codigo

inicio:     ;función inicio
 mov ax,datos ;Movemos el segmento data a ax
 mov ds,ax ; Movemos lo que esta en ax a ds
 mov dx,offset mensaje ;Imprimimos el primer mensaje parte 1
 mov ah, 09h ;Imprimimos el primer mensaje parte 2
 int 21h ;Imprimimos el primer mensaje parte 3

 mov ah,01     ;pausa y espera a que el usuario presione una tecla
 int 21h        ;interrupción para capturar
 sub al,30h   ;lo que el usuario presiono se guarda en al y se le resta 30h para convertirlo a un numero
 mov n1,al ;Movemos lo que esta en al a la variable n1
 mov n3,al  ;Movemos lo que esta en al a la variable n3

 mov ah, 09h ;imprimimos el mensaje 2 parte 1
 mov dx,offset mensaje2  ;imprimimos el mensaje 2 parte 2
 int 21h  ;imprimimos el mensaje 2 parte 3
 mov ah,01     ;pausa y espera a que el usuario presione una tecla
 int 21h           ;interrupcion para capturar
 sub al,30h     ;lo que el usuario presiono se guarda en al y se le resta 30h para convertirlo a un numero
 mov n2,al     ;Guardamos lo que el usuario preciono el n2

 mov cl,al ; movemos lo que esta en al a cl para decirle al ciclo cuantas vueltas va a dar
 sub cl,1 ;le restamos 1 para que no de una vuelta de mas

call ciclo ;llamada a ciclo

ciclo:  ;Funcion
 call ciclo1 ;llamada el procediemto 1

ciclo1 proc near ;procedimiento ciclo
  mov al,n1 ;potencia parte 1
  mov bh,n3 ;potencia parte 2
  mul bh ;potencia parte 3

  mov n1,al
  loop ciclo1 ;loop a la funcion ciclo
  mov ax,4c00h ;fin parte 1
  int 21h; fin parte 2
  ciclo1 endp
  
fin: ;funcion fin
 mov ax,4c00h      ;funcion que termina el programa
 int 21h
 
codigo ends
end inicio

No hay comentarios:

Publicar un comentario

EXPOSICIÓN 2: PROGRAMACION DEL PUERTO USB

RESUMEN DE LA EXPOSICIÓN DE PUERTOS USB PUERTO USB BUFFER DE VIDEO EN MODO TEXTO  Se llama modo texto a cualquier modo de vi...