⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guiial.ms

📁 一款SmartPhone的驱动代码
💻 MS
📖 第 1 页 / 共 4 页
字号:
	ext	wYPos+0x0@m
	ld.w	%r9,wYPos+0x0@l
	ld.w	[%r9],%r11
__LX6:				; __L6:

	.loc	73
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
	jp	__LX8		; 	xjp	__L8
__LX2:				; __L2:

	.loc	77
	ld.w	%r10,0x0
__LX8:				; __L8:

	.loc	80
	.def	bend,	scl	110,	type	0x0,	endef
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetMouseX,	val	GetMouseX,	scl	3,	type	0x24,	endef

	.loc	98
	.def	ent,	scl	101,	type	0x0,	endef
GetMouseX:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0

	.loc	99
	ext	wXPos+0x0@h	; 	xld.w	%r10,[wXPos]
	ext	wXPos+0x0@m
	ld.w	%r9,wXPos+0x0@l
	ld.w	%r10,[%r9]

	.loc	100
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetMouseY,	val	GetMouseY,	scl	3,	type	0x24,	endef

	.loc	118
	.def	ent,	scl	101,	type	0x0,	endef
GetMouseY:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0

	.loc	119
	ext	wYPos+0x0@h	; 	xld.w	%r10,[wYPos]
	ext	wYPos+0x0@m
	ld.w	%r9,wYPos+0x0@l
	ld.w	%r10,[%r9]

	.loc	120
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	SetMouseXY,	val	SetMouseXY,	scl	3,	type	0x21,	endef

	.loc	140
	.def	ent,	scl	101,	type	0x0,	endef
SetMouseXY:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	NewX,	val	12,	scl	17,	type	0x4,	endef
	.def	NewY,	val	13,	scl	17,	type	0x4,	endef

	.loc	141
	ext	wMinX+0x0@h	; 	xld.w	%r10,[wMinX]
	ext	wMinX+0x0@m
	ld.w	%r9,wMinX+0x0@l
	ld.w	%r10,[%r9]
	cmp	%r12,%r10
	jrge	__LX12		; 	xjrge	__L12

	.loc	142
	ld.w	%r12,%r10
__LX12:				; __L12:

	.loc	143
	ext	wMaxX+0x0@h	; 	xld.w	%r10,[wMaxX]
	ext	wMaxX+0x0@m
	ld.w	%r9,wMaxX+0x0@l
	ld.w	%r10,[%r9]
	cmp	%r12,%r10
	jrle	__LX13		; 	xjrle	__L13

	.loc	144
	ld.w	%r12,%r10
__LX13:				; __L13:

	.loc	145
	ext	wMinY+0x0@h	; 	xld.w	%r10,[wMinY]
	ext	wMinY+0x0@m
	ld.w	%r9,wMinY+0x0@l
	ld.w	%r10,[%r9]
	cmp	%r13,%r10
	jrge	__LX14		; 	xjrge	__L14

	.loc	146
	ld.w	%r13,%r10
__LX14:				; __L14:

	.loc	147
	ext	wMaxY+0x0@h	; 	xld.w	%r10,[wMaxY]
	ext	wMaxY+0x0@m
	ld.w	%r9,wMaxY+0x0@l
	ld.w	%r10,[%r9]
	cmp	%r13,%r10
	jrle	__LX15		; 	xjrle	__L15

	.loc	148
	ld.w	%r13,%r10
__LX15:				; __L15:

	.loc	149
	ext	wXPos+0x0@h	; 	xld.w	%r10,[wXPos]
	ext	wXPos+0x0@m
	ld.w	%r9,wXPos+0x0@l
	ld.w	%r10,[%r9]
	cmp	%r12,%r10
	jrne	__LX16		; 	xjrne	__L16
	ext	wYPos+0x0@h	; 	xld.w	%r10,[wYPos]
	ext	wYPos+0x0@m
	ld.w	%r9,wYPos+0x0@l
	ld.w	%r10,[%r9]
	cmp	%r13,%r10
	jreq	__LX11		; 	xjreq	__L11
__LX16:				; __L16:

	.loc	151
	ext	wXPos+0x0@h	; 	xld.w	[wXPos],%r12
	ext	wXPos+0x0@m
	ld.w	%r9,wXPos+0x0@l
	ld.w	[%r9],%r12

	.loc	152
	ext	wYPos+0x0@h	; 	xld.w	[wYPos],%r13
	ext	wYPos+0x0@m
	ld.w	%r9,wYPos+0x0@l
	ld.w	[%r9],%r13

	.loc	153
__LX11:				; __L11:
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetMouseButton,	val	GetMouseButton,	scl	3,	type	0x24,	endef

	.loc	171
	.def	ent,	scl	101,	type	0x0,	endef
GetMouseButton:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0

	.loc	172
	ext	wButtons+0x0@h	; 	xld.w	%r10,[wButtons]
	ext	wButtons+0x0@m
	ld.w	%r9,wButtons+0x0@l
	ld.w	%r10,[%r9]

	.loc	173
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	SetMouseRange,	val	SetMouseRange,	scl	3,	type	0x21,	endef

	.loc	200
	.def	ent,	scl	101,	type	0x0,	endef
SetMouseRange:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	NewMinX,	val	12,	scl	17,	type	0x4,	endef
	.def	NewMinY,	val	13,	scl	17,	type	0x4,	endef
	.def	NewMaxX,	val	14,	scl	17,	type	0x4,	endef
	.def	NewMaxY,	val	15,	scl	17,	type	0x4,	endef

	.loc	201
	ext	wMinX+0x0@h	; 	xld.w	[wMinX],%r12
	ext	wMinX+0x0@m
	ld.w	%r9,wMinX+0x0@l
	ld.w	[%r9],%r12

	.loc	202
	ext	wMinY+0x0@h	; 	xld.w	[wMinY],%r13
	ext	wMinY+0x0@m
	ld.w	%r9,wMinY+0x0@l
	ld.w	[%r9],%r13

	.loc	203
	ext	wMaxX+0x0@h	; 	xld.w	[wMaxX],%r14
	ext	wMaxX+0x0@m
	ld.w	%r9,wMaxX+0x0@l
	ld.w	[%r9],%r14

	.loc	204
	ext	wMaxY+0x0@h	; 	xld.w	[wMaxY],%r15
	ext	wMaxY+0x0@m
	ld.w	%r9,wMaxY+0x0@l
	ld.w	[%r9],%r15

	.loc	205
	add	%r12,%r14
	ld.w	%r10,%r12
	srl	%r10,0x8	; 	xsrl	%r10,31
	srl	%r10,0x8
	srl	%r10,0x8
	srl	%r10,0x7
	add	%r12,%r10
	add	%r13,%r15
	ld.w	%r10,%r13
	srl	%r10,0x8	; 	xsrl	%r10,31
	srl	%r10,0x8
	srl	%r10,0x8
	srl	%r10,0x7
	add	%r13,%r10
	sra	%r12,0x1	; 	xsra	%r12,1
	sra	%r13,0x1	; 	xsra	%r13,1
	call	SetMouseXY	; 	xcall	SetMouseXY

	.loc	206
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	SuspendMouse,	val	SuspendMouse,	scl	3,	type	0x21,	endef

	.loc	224
	.def	ent,	scl	101,	type	0x0,	endef
SuspendMouse:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0

	.loc	226
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	ResumeMouse,	val	ResumeMouse,	scl	3,	type	0x21,	endef

	.loc	245
	.def	ent,	scl	101,	type	0x0,	endef
ResumeMouse:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0

	.loc	247
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	UpdateKeyboard,	val	UpdateKeyboard,	scl	3,	type	0x24,	endef

	.loc	267
	.def	ent,	scl	101,	type	0x0,	endef
UpdateKeyboard:
;	.frame	%sp,8,$31		# vars= 4, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x1		; 	xsub	%sp,%sp,4

	.loc	268
	.def	begin,	scl	100,	type	0x0,	endef
	.def	buf,	val	0,	scl	1,	type	0xc,	endef

	.loc	270
	ld.w	%r12,%sp
	ext	fnIHL_ReadKeyboard@rh	; 	xcall	fnIHL_ReadKeyboard
	ext	fnIHL_ReadKeyboard@rm
	call	fnIHL_ReadKeyboard@rl
	cmp	%r10,0x0
	jreq	__LX25		; 	xjreq	__L25

	.loc	273
	ext	IsKeyDown+0x0@h	; 	xld.w	%r10,[IsKeyDown]
	ext	IsKeyDown+0x0@m
	ld.w	%r9,IsKeyDown+0x0@l
	ld.w	%r10,[%r9]
	cmp	%r10,0x0
	jreq	__LX23		; 	xjreq	__L23

	.loc	275
	ld.ub	%r11,[%sp+0x0]	; 	xld.ub	%r11,[%sp]
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
	ext	ubState+0x0@h	; 	xld.b	[%r11+ubState],%r10
	ext	ubState+0x0@m
	ld.w	%r9,ubState+0x0@l
	add	%r9,%r11
	ld.b	[%r9],%r10

	.loc	276
	jp	__LX24		; 	xjp	__L24
__LX23:				; __L23:

	.loc	279
	ld.ub	%r10,[%sp+0x0]	; 	xld.ub	%r10,[%sp]
	ld.w	%r13,0x0
	ext	ubState+0x0@h	; 	xld.b	[%r10+ubState],%r13
	ext	ubState+0x0@m
	ld.w	%r9,ubState+0x0@l
	add	%r9,%r10
	ld.b	[%r9],%r13
__LX24:				; __L24:

	.loc	282
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
__LX25:				; __L25:

	.loc	283
	.def	bend,	scl	110,	type	0x0,	endef
	add	%sp,0x1		; 	xadd	%sp,%sp,4
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetKeyboardState,	val	GetKeyboardState,	scl	3,	type	0x62,	endef

	.loc	301
	.def	ent,	scl	101,	type	0x0,	endef
GetKeyboardState:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0

	.loc	302
	ext	ubState+0x0@h	; 	xld.w	%r10,ubState
	ext	ubState+0x0@m
	ld.w	%r10,ubState+0x0@l

	.loc	303
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	SetLeds,	val	SetLeds,	scl	3,	type	0x21,	endef

	.loc	322
	.def	ent,	scl	101,	type	0x0,	endef
SetLeds:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	leds,	val	12,	scl	17,	type	0xe,	endef

	.loc	323
	ext	fnIHL_WriteKeyboard@rh	; 	xcall	fnIHL_WriteKeyboard
	ext	fnIHL_WriteKeyboard@rm
	call	fnIHL_WriteKeyboard@rl

	.loc	324
	ret
	.def	end,	scl	111,	type	0x0,	endef

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -