Escolar Documentos
Profissional Documentos
Cultura Documentos
Retorna
Registro Valor
0000h, si no est disponible
AX
controlador
FFFFFh, si esta disponible
Nmero de botones del ratn
BX
Valor
Registro
Servicio:02
AX
Valor
Retorna
Registro Valor
Estado de los botones de acuerdo a
BX
la posicin del bit, como sigue:
Bit 0: botn izquierdo, donde 0=
arriba, 1= abajo
Bit 1: botn derecho, donde 0=
arriba, 1= abajo
Bit 2: botn central, donde 0=
arriba, 1= abajo
Bits 3-15: reservados
Coordenada horizontal: x
CX
Coordenada vertical: y
DX
Nota: Las coordenadas son expresadas en trminos de pxeles, aun en modo texto (8
x byte para modo video 03)
Registro
Valor
Servicio:05
AX
Nmero del
BX
botn:
0 = izquierdo
1 = derecho
2 = central
Retorna
Registro Valor
Estado de los botones de a
AX
cuerdo a la posicin del bit
como sigue:
Bit 0: botn izquierdo, donde
0= arriba, 1= abajo
Bit 1: botn derecho, donde
0= arriba, 1= abajo
Bit 2: botn central, donde
0= arriba, 1= abajo
Bits 3-15: reservados
Contador de presiones del
BX
botn
Coordenada horizontal de la
CX
ltima presin del botn
Coordenada vertical de la
DX
ltima presin del botn
Valor
Servicio:07
Lmite inferior
Lmite superior
Valor
Servicio:08
Lmite inferior
Lmite superior
CALL
CALL
CALL
SALTE: CALL
RET
MAIN ENDP
LEE
OCULTA_MOUSE
RESTAURA
SAL_DOS
RESTAURA PROC
MOV AH, 00H
MOV AL, 03H
INT 10H
RET
RESTAURA ENDP
SAL_DOS PROC
MOV AH,4CH
INT 21H
RET
SAL_DOS ENDP
INIT_MOUSE PROC NEAR
MOV AX, 00H
INT 33H
RET
INIT_MOUSE ENDP
LEE PROC
PUSH AX
MOV AH,01
INT 21H
POP AX
RET
LEE ENDP
MENSAJE PROC
PUSH AX
MOV AH,09H
INT 21H
POP AX
RET
MENSAJE ENDP
END MAIN
CALL LEE
CALL OCULTA_MOUSE
SALTE: CALL RESTAURA
CALL SAL_DOS
RET
MAIN ENDP
RESTAURA PROC
MOV AH, 00H
MOV AL, 03H
INT 10H
RET
RESTAURA ENDP
SAL_DOS PROC
MOV AH,4CH
INT 21H
RET
SAL_DOS ENDP
INT 10H
; Inicializa modo grafico 640x480x16 (End)
RET
GRAFICO ENDP
INIT_MOUSE PROC NEAR
MOV AX, 00H
INT 33H
RET
INIT_MOUSE ENDP
OCULTA_MOUSE PROC NEAR
MOV AX, 02H
INT 33H
RET
OCULTA_MOUSE ENDP
LEE PROC
PUSH AX
MOV AH,01
INT 21H
POP AX
RET
LEE ENDP
MENSAJE PROC
PUSH AX
MOV AH,09H
INT 21H
POP AX
RET
MENSAJE ENDP
END MAIN
OTRO:
ERROR:
EXIT:
CALL
MOV
MOV
MOV
CALL
CALL
CMP
JE
CALL
MOV
CALL
CMP
JE
CALL
MOV
CALL
MOV
MOV
MOV
CALL
MOV
MOV
CALL
JMP
LEA
CALL
CALL
MOV
MOV
MOV
INITTEXT
FPP,3EH
YXI,00H
YXF,184FH
TEXTBACKGROUND
I_MOUSE
AX,00
ERROR
M_MOUSE
YXI,1843H
P_MOUSE ; SERVICIO 03
BX,01
EXIT
GOTOXY
AX,XB
CONV
AX,VALASC
XASCII,AX
AX,YB
CONV
AX,VALASC
YASCII,AX
DESPLIEGA ;SERVICIO 40 DE LA INT 21
OTRO
DX,MEN1
PRINTF
F_MOUSE
FPP,07H
YXI,00H
YXF,184FH
MAIN
I_MOUSE
I_MOUSE
M_MOUSE
M_MOUSE
C_MOUSE
C_MOUSE
F_MOUSE
F_MOUSE
C_CURSOR
C_CURSOR
CALL
MOV
INT
RET
ENDP
TEXTBACKGROUND
AX,4C00H
21H
PROC
MOV
INT
RET
ENDP
NEAR
AX,00
33H
PROC
PUSH
MOV
INT
POP
RET
ENDP
NEAR
AX
AX,01H
33H
AX
PROC
PUSH
MOV
INT
POP
RET
ENDP
NEAR
AX
AX,04H
33H
AX
PROC
PUSH
MOV
INT
NEAR
AX
AX,02H
33H
POP
RET
ENDP
AX
PROC
MOV
MOV
MOV
MOV
INT
RET
ENDP
NEAR
AH,02
BH,00
DH,00
DL,25
10H
P_MOUSE
PROC NEAR
;La subrutina devuelve XB,YB
SAL3:
MOV
AX,03 ;RETORNA BX = Edo DE LOS BOTONES Y
INT
33H
;RETORNA CX= COORD X, DX= COORD Y
CMP
BX,01 ; SI SE PULSO BOTON IZQ.
JE
SAL1
MOV AX,CX
; AUXILIAR DE LA COORDENADA HOR
MOV CL,3
SHR
AX,CL
;DIVIDE COORDENDA X / 8
SHR
DX,CL
;DIVIDE COORDENDA Y / 8
MOV CX,AX
;RECUPERANDO LA COORDENADA PARA MODO
TEXTO
CMP
CX,XB
; sI EXISTE MOVIMIEMTO ?
JNE
CMP
JE
MOV
MOV
RET
ENDP
SAL2:
SAL1:
P_MOUSE
CONV
C1:
CONV
PROC
MOV
MOV
LEA
CMP
JB
DIV
OR
MOV
DEC
OR
MOV
RET
ENDP
SAL2
DX,YB
SAL3
XB,CX
YB,DX
; SI
;NO
;REFRESCO DE COORDENADAS
NEAR
VALASC,2020H
CX,10
SI,VALASC+1
AX,CX
C1
CL
AH,30H
[SI],AH
SI
AL,30H
[SI],AL
;LIMPIANDO VALASC
; FACTOR DE DIVISIN
;AX CONTIENE LA COORDENADA
; SI ES MENOR
; SI MAYOR DIVIDE
;RESIDUO
;COCIIENTE
DESPLIEGA
PROC NEAR
; Servicio 40h :manejador de archivo para despliegue en pantalla
MOV
MOV
MOV
LEA
INT
RET
ENDP
DESPLIEGA
INITTEXT
INITTEXT
PRINTF
PRINTF
PROC
PUSH
MOV
MOV
INT
POP
RET
ENDP
PROC
PUSH
MOV
INT
POP
RET
ENDP
TEXTBACKGROUND
AH,40H
BX,01
;Nmero de dispositivo: 1 = pantalla
CX,11
;Total de caracteres a desplegar
DX,DESPDATO
; Area a desplegar
21H
NEAR
AX
AH,00H
AL,03H
10H
AX
NEAR
AX
AH,09H
21H
AX
PROC
PUSH
PUSH
PUSH
PUSH
MOV
MOV
MOV
MOV
NEAR
AX
BX
CX
DX
AX,0600H
BH,FPP
CX,YXI
DX,YXF
TEXTBACKGROUND
GOTOXY
GOTOXY
END
PROC
PUSH
PUSH
PUSH
MOV
MOV
MOV
INT
POP
POP
POP
RET
ENDP
MAIN
INT
POP
POP
POP
POP
RET
ENDP
NEAR
AX
BX
DX
AH,02H
BH,00H
DX,YXI
10H
DX
BX
AX
10H
DX
CX
BX
AX