• Lunes 29 de Abril de 2024, 21:40

Autor Tema:  Nasm: Utilizacion Del Mouse Y Teclado En Dos  (Leído 1706 veces)

ioUnix

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Nasm: Utilizacion Del Mouse Y Teclado En Dos
« en: Martes 15 de Junio de 2004, 19:03 »
0
Hola que tal, tengo un problema, debo hacer un pequeño programa en DOS 16 bits con NASM, Este me muestra una consola de DOS y al pinchar en cualquier poscion de la pantalla de DOS, el cursor del teclado debe posicionarse en aquel lugar.
He investigado y se que la Int 33h y la Int 10h manejan el mouse y la pantalla respectivamente.
Ahora al pinchar en la pantalla con el mouse hay una funcion que hace lo siguiente:


INT 33,3 - Get Mouse Position and Button Status

AX = 03   on return:  
CX = horizontal (X) position  (0..639)  
DX = vertical (Y) position  (0..199)  
BX = button status:      |F-8|7|6|5|4|3|2|1|0|  
Button Status | | | | | | | | `---- left button (1 = pressed)
|  | | | | | | `----- right button (1 = pressed)  
`------------------- unused   - values returned in CX, DX are the same regardless of video mode


Es asi como obtendria la poscion del mouse para setear luego en el cursor, es lo que creo,

ahora:

Int 10h
Set Cursor Position

Call
AH = 02h
BH = Display Page
DH = Row
DL = Column

Donde DH filas y DL columnas como se ve el como posicionar el cursor es diferente a como posicionar el mouse y ademas la informacion para posicionar el cursor del teclado se encuentra en el registro DX y el mouse utiliza CX y DX entonces mi pregunta es como hacer para que al pinchar en la pantalla se mueva el cursor del teclado.

He buscado en muchas partes pero no he encontrado nada, ojala me puedan ayudar.
Debe estar escrito enteramente en assembler NASM sin codigo con C.
gracias, Daniel.

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Nasm: Utilizacion Del Mouse Y Teclado En Dos
« Respuesta #1 en: Jueves 17 de Junio de 2004, 02:02 »
0
el siguiente codigo esta en C++, pero todas la funciones importantes estan en Asembler.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.