Ensamblador - funcion 3 interrupcion 33H

 
Vista:

funcion 3 interrupcion 33H

Publicado por elizabeth quintana (1 intervención) el 21/12/2003 22:37:34
hola necesito que me ayuden a saber como funcionan la funcion 3 del raton en ensamblador
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:funcion 3 interrupcion 33H

Publicado por Ever (1 intervención) el 03/02/2004 22:18:32
esta funcion devuelve la posicion del raton y estado de los botones;
devuelve en:
CX la posicion x
dx la posicion y
bx los botones (este ultimo por bits):
/F-2/ no se usa /1-0/boton derecho e izquierdo respectivamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:funcion 3 interrupcion 33H

Publicado por abdiel neri (2 intervenciones) el 12/07/2006 16:34:24
Función 03h
Entrada: AX = 0003h Leer posición (x, y) y estado de los botones

Salida: CX = Posición horizontal
DX = Posición vertical
BX = Estado de los botones

Bit 0 1 = Pulsado el botón izquierdo
Bit 1 1 = Pulsado el botón derecho
Bit 2 1 = Pulsado el botón central
Cuando estamos en el modo gráfico 13h (320x200) las coordenadas no corresponden con las que nos devuelve la función y tendremos que dividir entre dos el eje horizontal (x).
Eje X: de 0 a 639 (dividimos entre 2)
Eje Y: de 0 a 199
En modo texto tendremos que multiplicar las coordenadas por ocho, tanto en eje horizontal (x) como en vertical (y). La función siguiente solos nos sirve en modo 13h.

void ReadMouse(int *MouseX, int *MouseY, int *MouseB)
{
int x, y, b;
asm mov ax, 03h
asm int 33h
asm shr cx, 1 // cx/2
asm mov x, cx
asm mov y, dx
asm mov b, bx
*MouseX=x;
*MouseY=y;
*MouseB=b;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar