Programación General > ASM (Ensamblador)

 Escribiendo Caracteres En La Pantalla

(1/1)

tirengarfio:
Hola,

el siguiente codigo imprime inicialmente un simbolo $ en mitad de la pantalla.

Despues, si presionas la letra "i", se imprime otro $ encima del primero, y si presionas de nuevo la "i", se deberia imprimir otro $ encima del segundo $, pero ese tercer $ no se imprime...

¿Por qué?


Bueno, a decir verdad, ese tercer $ se imprime, pero cuando pulso "i" una tercera vez... Mi objetivo es que se imprima cuando le doy a la "i" la segunda vez, no la tercera.





--- Código: Text --- DOSSEG  .MODEL SMALL  .STACK 100h  .DATA    .CODE  INICIO:   mov ax, @data  mov ds, ax     mov ax, 03h; Peticion para limpiar pantalla  int 10h ;funcion de la interrupcion que nos permite posicionarnos  mov ah, 02h; colocar el cursor en una posicion definida  mov dh, 0Ah; fila  mov dl, 019h; columna    int 10h; interrupcion de video    bucle:    mov dl, 024h; Escribo el caracter "$"  mov ah, 02h  int 21h  bucle2:    mov ah, 08h; Leo un caracter del teclado sin reproducirlo en la pantalla.  int 21h    cmp al, 069h; Compruebo si el caracter pulsado es la letra "i".  je arriba   cmp al, 06Bh; Compruebo si el caracter pulsado es la letra "k".  je abajo    jmp bucle2  arriba:        mov ah, 02h; Colocar el cursor en una posicion definida  sub dh, 1    mov dl, 026h; columna  mov bh,0; pagina de video activa generalmente la cero    int 10h    jmp bucle abajo:   mov ah, 02h; Colocar el cursor en una posicion definida  add dh, 1    mov dl, 026h; columna  mov bh,0; pagina de video activa generalmente la cero    int 10h    jmp bucle    FIN:   mov ah, 4ch  int 21h  end INICIO 
Un saludo

JAvi

Navegación

[0] Índice de Mensajes

Ir a la versión completa