亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mouse.asm

?? 匯編源代碼大全
?? ASM
字號:
; MOUSE.ASM (Turbo Assembler syntax)
; Assorted routines for interfacing to a Microsoft-compatible mouse driver.
; Public domain by Matthew Hildebrand (FidoNet 1:247/128.2)
; This module may be overlaid


IDEAL
P286
MODEL	LARGE


	CODESEG

; resets the mouse driver.  Returns 1 if mouse installed, 0 if not
; char resetMouse(void);
	PUBLIC	C	resetMouse
PROC	C	resetMouse
  xor	ax,ax
  int	33h
  cmp	ax,0FFFFh
  jne	@@L1
  mov	ax,1
  retcode
	@@L1:
  xor	ax,ax
  retcode
ENDP

; returns the number of buttons on the mouse
; CAUTION!  Also resets the mouse
; char getButtonsMouse(void);
	PUBLIC	C	getButtonsMouse
PROC	C	getButtonsMouse
  xor	ax,ax
  int	33h
  mov	al,bl
  xor	ah,ah
  retcode
ENDP

; shows the mouse pointer
; void showMouse(void);
	PUBLIC	C	showMouse
PROC	C	showMouse
  mov	ax,1
  int	33h
  retcode
ENDP

; hides the mouse pointer
; void hideMouse(void);
	PUBLIC	C	hideMouse
PROC	C	hideMouse
  mov	ax,2
  int	33h
  retcode
ENDP

; returns the current mouse (x,y) coordinates
; void getPosMouse(int far *x, int far *y);
	PUBLIC	C	getPosMouse
PROC	C	getPosMouse
	ARG	x:DATAPTR, y:DATAPTR
  mov	ax,3
  int	33h
  les	bx,[x]
;  shr	cx,1				; adjust for mode 13h bug
  mov	[es:bx],cx
  les	bx,[y]
  mov	[es:bx],dx
  leave
  retcode
ENDP

; returns true if a button is pressed
; int buttonMouse(void);
	PUBLIC	C	buttonMouse
PROC	C	buttonMouse
  mov	ax,3
  int	33h
  test	bl,1
  jz	@@L1
  mov	ax,1
  retcode

	@@L1:
  test	bl,2
  jz	@@L2
  mov	ax,2
  retcode
  	@@L2:
  test	bl,4
  jz	@@L3
  mov	ax,3
  retcode
  	@@L3:
  xor	ax,ax
  retcode
ENDP

; returns true if the left button is pressed
; int leftButtonMouse(void);
	PUBLIC	C	leftButtonMouse
PROC	C	leftButtonMouse
  mov	ax,3
  int	33h
  test	bl,1
  jnz	@@L1
  xor	ax,ax
  retcode
	@@L1:
  mov	ax,1
  retcode
ENDP

; returns true if the right button is pressed
; int rightButtonMouse(void);
	PUBLIC	C	rightButtonMouse
PROC	C	rightButtonMouse
  mov	ax,3
  int	33h
  test	bl,2
  jnz	@@L1
  xor	ax,ax
  retcode
	@@L1:
  mov	ax,1
  retcode
ENDP

; returns true if the center button is pressed
; int centerButtonMouse(void);
	PUBLIC	C	centerButtonMouse
PROC	C	centerButtonMouse
  mov	ax,3
  int	33h
  test	bl,4
  jnz	@@L1
  xor	ax,ax
  retcode
	@@L1:
  mov	ax,1
  retcode
ENDP

; sets the position of the mouse pointer
; void setPosMouse(unsigned x,unsigned y);
	PUBLIC	C	setPosMouse
PROC	C	setPosMouse
	ARG	x:WORD, y:WORD
  mov	ax,4
  mov	cx,[x]
;  shl	cx,1				; adjust for mode 13h bug
  mov	dx,[y]
  int	33h
  leave
  retcode
ENDP

; Returns the button press counter.
; unsigned buttonPressMouse(unsigned button, far *x, far *y);
	PUBLIC	C	buttonPressMouse
PROC	C	buttonPressMouse
	ARG	button:WORD, x:DATAPTR, y:DATAPTR
  mov	ax,5
  mov	bx,[button]
  dec	bx
  int	33h
  mov	ax,bx				; save press counter for return
  les	bx,[x]
;  shr	cx,1				; Adjust for mode 13h bug
  mov	[es:bx],cx			; x coordinate
  les	bx,[y]
  mov	[es:bx],dx			; y coordinate
  leave
  retcode
ENDP

; Returns the button release counter.
; unsigned buttonReleaseMouse(unsigned button, far *x, far *y);
	PUBLIC	C	buttonReleaseMouse
PROC	C	buttonReleaseMouse
	ARG	button:WORD, x:DATAPTR, y:DATAPTR
  mov	ax,6
  mov	bx,[button]
  dec	bx
  int	33h
  mov	ax,bx				; save release counter for return
  les	bx,[x]
;  shr	cx,1				; Adjust for mode 13h bug
  mov	[es:bx],cx			; x coordinate
  les	bx,[y]
  mov	[es:bx],dx			; y coordinate
  leave
  retcode
ENDP

; set the horizontal limits for the mouse pointer
; void setHorizLimitsMouse(unsigned min,unsigned max);
	PUBLIC	C	setHorizLimitsMouse
PROC	C	setHorizLimitsMouse
	ARG	min:WORD, max:WORD
  mov	ax,7
  mov	cx,[min]
  mov	dx,[max]
;  shl	dx,1				; adjust for mode 13h bug
  int	33h
  leave
  retcode
ENDP

; set the vertical limits for the mouse pointer
; void setVertLimitsMouse(unsigned min,unsigned max);
	PUBLIC	C	setVertLimitsMouse
PROC	C	setVertLimitsMouse
	ARG	min:WORD, max:WORD
  mov	ax,8
  mov	cx,[min]
  mov	dx,[max]
  int	33h
  leave
  retcode
ENDP

; set the graphics pointer shape
; void setPointerMouse(int xoff,int yoff,void *p);
	PUBLIC	C	setPointerMouse
PROC	C	setPointerMouse
	ARG	xOff:WORD, yOff:WORD, p:DATAPTR
  mov	ax,9
  mov	bx,[xOff]
  mov	cx,[yOff]
  les	dx,[p]
  int	33h
  leave
  retcode
ENDP

; set a mouse pointer exclusion area.  The pointer is not displayed when
; inside the specified coordinates.  Only one is active at a time.
; Cancelled by a call to resetMouse() or showMouse()
; void setExclusionMouse(unsigned ulx,unsigned uly,unsigned lrx,unsigned lry);
	PUBLIC	C	setExclusionMouse
PROC	C	setExclusionMouse
	ARG	ulx:WORD, uly:WORD, lrx:WORD, lry:WORD
  push	si di
  mov	ax,10
  mov	cx,[ulx]
;  shr	cx,1				; adjust for mode 13h bug (?)
  mov	dx,[uly]
  mov	si,[lrx]
;  shr	si,1				; adjust for mode 13h bug (?)
  mov	di,[lry]
  int	33h
  pop	di si
  leave
  retcode
ENDP

; Set the mickeys to pixels ratio (mickeys/8 pixels)
	PUBLIC	C	setRatioMouse
PROC	C	setRatioMouse
  	ARG	horiz:WORD, vert:WORD
  mov	ax,000Fh
  mov	cx,[horiz]
  mov	dx,[vert]
  int	33h
  leave
  retcode
ENDP

; Returns the size of the mouse save state buffer
	PUBLIC	C	getSaveSizeMouse
PROC	C	getSaveSizeMouse
  mov	ax,0015h
  int	33h
  mov	ax,bx
  retcode
ENDP

; Save the current state of the mouse driver
	PUBLIC	C	saveStateMouse
PROC	C	saveStateMouse
	ARG	data:DATAPTR
  mov	ax,0016h
  les	dx,[data]
  int	33h
  leave
  retcode
ENDP

; Restore the state of the mouse driver
	PUBLIC	C	restoreStateMouse
PROC	C	restoreStateMouse
	ARG	data:DATAPTR
  mov	ax,0017h
  les	dx,[data]
  int	33h
  leave
  retcode
ENDP

; Set the mouse sensitivity (mickeys/8 pixels)
	PUBLIC	C	setSensitivityMouse
PROC	C	setSensitivityMouse
	ARG	horiz:WORD, vert:WORD, doubleSpeed:WORD
  mov	ax,001Ah
  mov	bx,[horiz]
  mov	cx,[vert]
  mov	dx,[doubleSpeed]
  int	33h
  leave
  retcode
ENDP

; Get the mouse sensitivity (mickeys/8 pixels)
	PUBLIC	C	getSensitivityMouse
PROC	C	getSensitivityMouse
  	ARG	horiz:DATAPTR, vert:DATAPTR, doubleSpeed:DATAPTR
  push	di

  mov	ax,001Bh
  int	33h
  les	di,[horiz]
  mov	[es:di],bx
  les	di,[vert]
  mov	[es:di],cx
  les	di,[doubleSpeed]
  mov	[es:di],dx

  pop	di
  leave
  retcode
ENDP

; Disable the mouse driver and return the previous int 33h handler address
	PUBLIC	C	disableMouse
PROC	C	disableMouse
  mov	ax,001Fh
  int	33h
  cmp	ax,0FFFFh
  je	@@Error
  mov	dx,es
  mov	ax,bx
  retcode

  	@@Error:
  xor	dx,dx
  xor	ax,ax
  retcode
ENDP

; enables the mouse driver
; void enableMouse(void);
	PUBLIC	C	enableMouse
PROC	C	enableMouse
  mov	ax,20h
  int	33h
  retcode
ENDP

; same as resetMouse(), but no initialization of mouse hardware
; void softResetMouse(void);
	PUBLIC	C	softResetMouse
PROC	C	softResetMouse
  mov	ax,21h
  int	33h
  retcode
ENDP

; waits for the specified button to be released before returning
; void waitReleaseMouse(int button);
	PUBLIC	C	waitReleaseMouse
PROC	C	waitReleaseMouse
	ARG	button:WORD
  dec	[button]
	@@L1:
  mov	ax,3
  int	33h
  mov	cx,[button]
  mov	dx,1
  shl	dx,cl
  and	bx,dx
  or	bx,bx
  jnz	@@L1
  leave
  retcode
ENDP

ENDS
END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av一区二区久久| 国产精品久久久久7777按摩| 亚洲网友自拍偷拍| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 成人午夜精品在线| 亚洲一区二区免费视频| 一区二区三区免费在线观看| 天天操天天干天天综合网| 国产成人日日夜夜| 日韩精品中文字幕一区| 日韩有码一区二区三区| 精品国一区二区三区| 国产成人精品1024| 一区二区三区日本| 日韩亚洲欧美成人一区| 成人激情av网| 爽好多水快深点欧美视频| 久久久久久久久久久电影| 成a人片国产精品| 亚洲一区二区三区影院| 日韩欧美国产电影| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美国产一区视频在线观看| 色婷婷国产精品综合在线观看| 午夜婷婷国产麻豆精品| 中文文精品字幕一区二区| 欧美在线三级电影| 国产乱对白刺激视频不卡| 亚洲欧美视频在线观看| 欧美成人官网二区| 色婷婷激情综合| 国内精品伊人久久久久av一坑| 亚洲久草在线视频| 久久久久综合网| 欧美精品少妇一区二区三区| 成人在线视频首页| 久久99精品网久久| 五月婷婷久久丁香| 国产精品久久久久久久岛一牛影视| 91精品国产高清一区二区三区蜜臀| 成人动漫在线一区| 极品销魂美女一区二区三区| 亚洲国产精品尤物yw在线观看| 国产女人aaa级久久久级| 欧美精品一卡二卡| 91极品美女在线| 成人性生交大合| 精品一区二区三区久久久| 艳妇臀荡乳欲伦亚洲一区| 中文字幕欧美激情一区| 26uuu久久综合| 91精品综合久久久久久| 欧美性xxxxxx少妇| 一本大道久久a久久综合婷婷| 国产精品456露脸| 久久电影网站中文字幕| 日韩精品免费专区| 亚洲小少妇裸体bbw| 亚洲色大成网站www久久九九| www精品美女久久久tv| 欧美一区二区免费| 69久久99精品久久久久婷婷| 欧美日韩免费视频| 欧美伊人久久久久久久久影院| 97se亚洲国产综合自在线| 成人亚洲一区二区一| 国产黄人亚洲片| 国产成人精品aa毛片| 国产精品99久久久久久久女警| 欧美高清视频www夜色资源网| 91福利视频网站| 一本久道久久综合中文字幕 | 欧美性三三影院| 在线观看国产91| 欧美日韩中文另类| 不卡一区中文字幕| 亚洲尤物视频在线| 亚洲综合色成人| 亚洲国产视频a| 午夜伦欧美伦电影理论片| 亚洲国产欧美另类丝袜| 午夜精品久久久久久久蜜桃app| 午夜一区二区三区视频| 日本不卡中文字幕| 久久精品国产精品亚洲综合| 国内精品国产成人国产三级粉色| 国产一区不卡精品| 白白色亚洲国产精品| 色老汉av一区二区三区| 欧美吻胸吃奶大尺度电影| 欧美久久久久久久久久| 日韩亚洲电影在线| 国产免费观看久久| 亚洲精品videosex极品| 三级久久三级久久| 激情文学综合丁香| 95精品视频在线| 欧美视频精品在线| 日韩三级高清在线| 中国色在线观看另类| 亚洲线精品一区二区三区八戒| 日韩电影免费一区| 国产精品自拍一区| 色综合中文字幕国产| 欧美综合视频在线观看| 日韩三级av在线播放| 国产蜜臀av在线一区二区三区| 一区二区三区四区亚洲| 麻豆一区二区三| 2022国产精品视频| 一区二区三区在线播| 黄页视频在线91| 91久久人澡人人添人人爽欧美| 日韩精品中文字幕在线不卡尤物 | 99久久精品免费看国产免费软件| 国产欧美一区二区精品性色| 另类欧美日韩国产在线| 风间由美性色一区二区三区| 欧美三级三级三级爽爽爽| 国产日韩精品一区二区浪潮av| 亚洲午夜免费电影| 国产成+人+日韩+欧美+亚洲| 欧美日韩精品一区二区三区蜜桃| 久久久一区二区| 性久久久久久久久| 99免费精品视频| 精品国产青草久久久久福利| 亚洲精品国产第一综合99久久 | 蜜桃精品视频在线观看| 99国产精品久久久久久久久久久 | 91精品国产综合久久蜜臀| 韩国v欧美v日本v亚洲v| 欧美色精品天天在线观看视频| 国产日韩v精品一区二区| 日韩电影一二三区| 欧美三级韩国三级日本一级| 国产精品你懂的在线欣赏| 美腿丝袜在线亚洲一区| 欧美日韩一区二区三区在线 | av成人免费在线| 精品成人私密视频| 麻豆精品视频在线观看| 欧美亚日韩国产aⅴ精品中极品| 日本一区二区三区在线不卡| 免费精品视频在线| 欧美视频在线观看一区二区| 中文字幕一区二区不卡| 国产99久久久国产精品潘金网站| 精品国产乱码久久久久久夜甘婷婷 | 成人高清视频在线| 久久久久国产一区二区三区四区| 丝袜a∨在线一区二区三区不卡| 在线观看日韩毛片| 一区二区三区在线观看欧美| 91麻豆福利精品推荐| 国产精品伦理在线| 成人综合婷婷国产精品久久| 国产日韩视频一区二区三区| 激情综合色综合久久综合| 日韩网站在线看片你懂的| 天涯成人国产亚洲精品一区av| 欧美日韩不卡一区二区| 亚洲国产精品人人做人人爽| 色噜噜久久综合| 亚洲欧美国产三级| 欧美伊人精品成人久久综合97| 一区二区三区视频在线看| 91久久精品一区二区二区| 一区二区在线看| 欧美日韩一区二区三区不卡| 亚洲成人www| 日韩免费高清电影| 黄色日韩三级电影| 欧美国产精品一区二区三区| 成人av资源下载| 亚洲日本在线看| 欧美日韩国产在线观看| 日韩制服丝袜先锋影音| 日韩视频免费观看高清完整版在线观看| 日本午夜一区二区| 久久精品视频网| 99精品欧美一区二区三区小说 | 人人狠狠综合久久亚洲| 日韩精品一区国产麻豆| 国产丶欧美丶日本不卡视频| 日韩一区在线看| 欧美日韩黄色一区二区| 另类成人小视频在线| 国产日产精品1区| 日本乱码高清不卡字幕| 日本中文字幕不卡| 亚洲国产精品精华液ab| 91国产免费观看| 人妖欧美一区二区| 国产精品不卡一区| 91精品国产综合久久福利| 国产91富婆露脸刺激对白| 亚洲精品国产品国语在线app| 欧美电视剧在线看免费| 97se狠狠狠综合亚洲狠狠|