• Viernes 8 de Noviembre de 2024, 18:55

Autor Tema:  Escribiendo Caracteres En La Pantalla  (Leído 1694 veces)

tirengarfio

  • Miembro activo
  • **
  • Mensajes: 29
    • Ver Perfil
Escribiendo Caracteres En La Pantalla
« en: Lunes 17 de Marzo de 2008, 01:31 »
0
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
  1.  
  2. DOSSEG
  3.   .MODEL SMALL
  4.   .STACK 100h
  5.   .DATA
  6.  
  7.  
  8.   .CODE
  9.  
  10.  
  11. INICIO:
  12.  
  13.   mov ax, @data
  14.   mov ds, ax
  15.  
  16.  
  17.  
  18.   mov ax, 03h; Peticion para limpiar pantalla
  19.   int 10h
  20.  
  21. ;funcion de la interrupcion que nos permite posicionarnos
  22.   mov ah, 02h; colocar el cursor en una posicion definida
  23.   mov dh, 0Ah; fila
  24.   mov dl, 019h; columna
  25.  
  26.   int 10h; interrupcion de video
  27.  
  28.  
  29.  
  30.  
  31. bucle:
  32.  
  33.  
  34.   mov dl, 024h; Escribo el caracter "$"
  35.   mov ah, 02h
  36.   int 21h
  37.  
  38.  
  39. bucle2:
  40.  
  41.   mov ah, 08h; Leo un caracter del teclado sin reproducirlo en la pantalla.
  42.   int 21h
  43.  
  44.  
  45.   cmp al, 069h; Compruebo si el caracter pulsado es la letra "i".
  46.   je arriba
  47.  
  48.   cmp al, 06Bh; Compruebo si el caracter pulsado es la letra "k".
  49.   je abajo
  50.  
  51.  
  52.   jmp bucle2
  53.  
  54.  
  55. arriba:
  56.  
  57.  
  58.  
  59.   mov ah, 02h; Colocar el cursor en una posicion definida
  60.   sub dh, 1  
  61.   mov dl, 026h; columna
  62.   mov bh,0; pagina de video activa generalmente la cero  
  63.   int 10h
  64.  
  65.  
  66.   jmp bucle
  67.  
  68. abajo:
  69.  
  70.   mov ah, 02h; Colocar el cursor en una posicion definida
  71.   add dh, 1  
  72.   mov dl, 026h; columna
  73.   mov bh,0; pagina de video activa generalmente la cero  
  74.   int 10h
  75.  
  76.  
  77.   jmp bucle
  78.  
  79.  
  80.  
  81.  
  82. FIN:
  83.  
  84.   mov ah, 4ch
  85.   int 21h
  86.   end INICIO
  87.  

Un saludo

JAvi