1
« en: Martes 15 de Junio de 2004, 19:03 »
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.