Ensamblador - Sobre Mouse en ensamblador

   
Vista:

Sobre Mouse en ensamblador

Publicado por Luismel (1 intervención) el 11/06/2008 04:47:04
Hola necesito saber de que manera puedo cambiar la apariencia del mouse en emsamblador asi como coger las coordenadas de forma compatible con el modo 4 de video.
Por favor es rapido e importante
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:Sobre Mouse en ensamblador

Publicado por MSH (121 intervenciones) el 11/06/2008 16:40:21
Saludos:

Existen un par de servicios dentro de la int 33h que permiten cambiar la apariencia del mouse. Estos son la función 09h, para modo gráfico, y la función 0ah para modo texto.

En tu caso, me imagino que manejarás el modo gráfico de 320x200. En este modo se requieren dos arreglos de 16X8 bits, que representan la máscara y la forma del cursor.

Hace tiempo hice una rutina pequeña para probar el concepto

;---------------------------------------------------------------------------------------------------------------

;prueba de la mascara del cursor funcion 09h int 33h

.model tiny
.data

tmask dw 0000000000000000b
dw 0000000000000000b
dw 0000111111110000b
dw 0001111111111000b
dw 0011000111110000b
dw 0011000111100000b
dw 0011111111000000b
dw 0011111111100000b
dw 0011111111110000b
dw 0001111111111000b
dw 0000111111110000b
dw 0000000000000000b
dw 0000000000000000b
dw 0000000000000000b
dw 0000000000000000b
dw 0000000000000000b

dw 0000000000000000b
dw 0000111111111000b
dw 0001000000001000b
dw 0010000000001000b
dw 0100111000010000b
dw 0100111000100000b
dw 0100000000100000b
dw 0100000000010000b
dw 0100000000001000b
dw 0010000000000100b
dw 0001000000001000b
dw 0000111111110000b
dw 0000000000000000b
dw 0000000000000000b
dw 0000000000000000b
dw 0000000000000000b
;si quieres invierte el orden de los arreglos
;.....coordenadas iniciales de posicion para el raton..........................
x dw 000
y dw 000

.code
.startup

mov ax,@data
mov ds,ax
push ds
pop es

mov ah,00h ;......establece modo gráfico 640x480 pixeles
mov al,12h
mov bh,00 ;pagina 0, color negro
int 10h
mov ah, 0bh
mov bh, 00h
mov bl, 01h ; color fondo
int 10h

mov ax,00h ;peticion para habilitar mouse
int 33h

cmp al,00h ;si no encontró driver se sale del programa
je salir

mov ax,01h ;muestra el puntero
int 33h

mov ax,09h ;con la forma personalizada (es que la flecha se me hace muy simple)
xor bx,bx
xor cx,cx
lea dx,tmask
int 33h

mov ax,04h ;y lo pone en la esquina superior izquierda
mov cx,x
mov dx,y
int 33h

curs:
mov ax,03h ;se quda sin hacer nada
int 33h
cmp bx,2 ;hasta que presiones clic derecho,sales del programa
je salir
jmp curs

salir: ;para salir....
mov ax,02h ;oculto el raton
int 33h
mov ah,00h ;regreso al modo de video por default (modo texto)
mov al,03h
int 10h
.exit ;y por ultimo le regreso el control al DOS
end
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:Sobre Mouse en ensamblador

Publicado por arlette (1 intervención) el 19/11/2008 18:38:17
trabajo de ensamblador
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