• Viernes 15 de Noviembre de 2024, 09:58

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - ioUnix

Páginas: [1]
1
ASM (Ensamblador) / Nasm: Utilizacion Del Mouse Y Teclado En Dos
« 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.

Páginas: [1]