volver

este programa lo saque desde ....

lo prove y funciona

aunque con muchas modificaciones pude insertarlo dentro de mi programa

10 SAVE"mouse.bas"
20 KEY OFF:CLS
40 SCREEN 0
50 CLS
60 GOSUB 430:REM LOAD ASSEMBLY LANGUAGE SUBROUTINE
70 REM -----
80 REGAH%=&H0:REGAL%=&H3 :REM FILL "REGISTERS"
90 REGBH%=&H0:REGBL%=&H0
100 REGCH%=&H0:REGCL%=&H0
110 REGDH%=&H0:REGDL%=&H0
120 INTERRUPT%=&H33:GOSUB 280 :REM CALL ASSEMBLY LANGUAGE SUBROUTINE
130 X=(REGCH%*256)+REGCL%
140 Y=(REGDH%*256)+REGDL%
150 REM -----
170 YPOS=(Y/8)+1:XPOS=(X/8)+1
180 LOCATE YPOS,XPOS:PRINT CHR$(219);
190 LOCATE 14,40:PRINT "x="XPOS;" y="YPOS
200 REM -----
210 LOCATE 12,35:PRINT "BUTTON STATUS-";
220 LOCATE 13,40:PRINT (REGBL% AND 7)
230 IN$=INKEY$:IF IN$="" THEN 80 ELSE END
240 IF IN$=CHR$(27) THEN END
250 GOTO 80
260 REM ----------------------------------------------------------------------
270 REM SET UP AND CALL ASSEMBLY LANGUAGE SUBROUTINE
280 DEF SEG=&H4B :REM POINT TO SEGMENT
290 POKE 31,INTERRUPT% :REM INTERRUPT TO CALL
300 POKE 4,REGAH%:POKE 3,REGAL%
310 POKE 6,REGBH%:POKE 5,REGBL%
320 POKE 8,REGCH%:POKE 7,REGCL%
330 POKE 10,REGDH%:POKE 9,REGDL%
340 ASMSUB=0:CALL ASMSUB :REM CALL ASSEMBLY LANGUAGE SUB. FOR INTERPRETER
350 REM CALL ABSOLUTE(0) :REM CALL ASSEMBLY LANGUAGE SUB. FOR COMPILER
360 REGAH%=PEEK(4):REGAL%=PEEK(3)
370 REGBH%=PEEK(6):REGBL%=PEEK(5)
380 REGCH%=PEEK(8):REGCL%=PEEK(7)
390 REGDH%=PEEK(10):REGDL%=PEEK(9)
400 DEF SEG:RETURN :REM RETURN TO BASIC SEGMENT
410 REM ----------------------------------------------------------------------
420 REM LOAD AN ASSEMBLY LANGUAGE SUBROUTINE
430 DEF SEG=&H4B:FOR I=0 TO 51:READ B:POKE I,B:NEXT:DEF SEG:RETURN
440 REM -----
450 DATA &HEB,&H09,&H90
460 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00 :REM REGISTERS AX-DX
470 DATA &H2E,&HA1,&H03,&H00
480 DATA &H2E,&H8B,&H1E,&H05,&H00
490 DATA &H2E,&H8B,&H0E,&H07,&H00
500 DATA &H2E,&H8B,&H16,&H09,&H00
510 DATA &HCD,&H21 :REM INTERRUPT XX
520 DATA &H2E,&HA3,&H03,&H00
530 DATA &H2E,&H89,&H1E,&H5,&H0
540 DATA &H2E,&H89,&H0E,&H07,&H00
550 DATA &H2E,&H89,&H16,&H09,&H00
560 DATA &HCB :REM RETF
570 LOCATE 1,1:PRINT REGBL% AND 7
 
1