martes, 19 de marzo de 2019

Programa con loopz. Video

Sintaxis del programa
org 100h
.stack 64
.data
.code
inicio:
mov cx,10 ;cantidad de veces que repetira
mov al,'>' ;caracter inicial

Lee_car:
    mov ah,0eh ;Funcion para imprimir caracter
    int 10h   ;llama a la bios
    
    mov ah,00 ;funcion de espera de un caracter del teclado
    int 16h ;llama al bios
    cmp al,'S' ;compara el caracter con 'S'
    loope Lee_car  ;si es igual salta a otro
    
    mov ah,0eh ;funcion para imprimir caracter
    int 10h ;llamada al bios
    
    ;colocar el fin de la linea para que baje una linea y lo imprima 
    mov ah,0eh ;funcion del bios para imprimir caracter
    mov al,10
    int 10h
    
    ;colocar el retorno de carro para ir al inicio
    mov al,13
    int 10h
    ;prepara la salida del programa
    mov ax,4c00h
    int 21h
end inicio


Si bien, al correr el programa es algo confusa su ejecucion.
Ya que se esperaria que se imprima 10 veces la letra si es una S mayuscula(o al menos ese fue mi caso)

Pero no, el programa no saldra de la funcion de input a menos que se le ingrese una letra diferente a la S mayuscula.

Aqui tenemos un ejemplo de ello, si ingresamos una sola letra a en este caso..


El programa al registrar esa letra, termina automáticamente el programa


En cambio, si ingresamos la letra S mayuscula, veremos lo siguiente..
El programa reconoce la letra y nos permite escribir solo 10 veces la letra, ya que esa fue la condición que se dio


En caso de que se revisen las banderas, solo la bandera IF se enciende en todos los casos porque es la que indica si se ignora o procesa una entrada desde teclado.

No hay comentarios.:

Publicar un comentario