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

📄 drv_touch.ms

📁 一款SmartPhone的驱动代码
💻 MS
📖 第 1 页 / 共 3 页
字号:
	ld.w	%r11,0x0
	bset	[%r11],0x2	; 	xbset	[%r11],0x2

	.loc	113
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ld.w	%r13,%r12
	ext	iset_flg@rh	; 	xcall	iset_flg
	ext	iset_flg@rm
	call	iset_flg@rl

	.loc	115
; APP
	popn %r15
; NO_APP

	.loc	116
; APP
	reti
; NO_APP

	.loc	117
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	get_adjust_point,	val	get_adjust_point,	scl	2,	type	0x21,	endef
	.global	get_adjust_point

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

	.loc	127
	.def	begin,	scl	100,	type	0x0,	endef
	ext	0x0		; 	xld.w	%r11,0x00040287		; 262791
	ext	0x100a
	ld.w	%r11,0x7
	bset	[%r11],0x0	; 	xbset	[%r11],0x0

	.loc	129
	ld.w	%r7,0x0
	ext	times+0x0@h	; 	xld.w	[times],%r7
	ext	times+0x0@m
	ld.w	%r9,times+0x0@l
	ld.w	[%r9],%r7

	.loc	131
	ext	0x1		; 	xld.w	%r5,0x00000063		; 99
	ld.w	%r5,0x23
	ext	0x0		; 	xld.w	%r14,0x000402d1		; 262865
	ext	0x100b
	ld.w	%r14,0x11
	ext	0x3		; 	xld.w	%r6,0x000000fb		; 251
	ld.w	%r6,0x3b
	ext	0x0		; 	xld.w	%r13,0x000402d5		; 262869
	ext	0x100b
	ld.w	%r13,0x15
	ext	0x0		; 	xld.w	%r4,0x00040244		; 262724
	ext	0x1009
	ld.w	%r4,0x4
	ext	0x0		; 	xld.w	%r15,0x00040287		; 262791
	ext	0x100a
	ld.w	%r15,0x7
__LX7:				; __L7:

	.loc	133
	.def	begin,	scl	100,	type	0x0,	endef
	.def	i,	val	10,	scl	4,	type	0x4,	endef

	.loc	134
	ld.w	%r10,0x0
__LX11:				; __L11:

	.loc	135
; APP
	nop
; NO_APP

	.loc	134
	add	%r10,0x1	; 	xadd	%r10,%r10,1
	cmp	%r10,%r5
	jrle	__LX11		; 	xjrle	__L11

	.loc	136
	.def	bend,	scl	110,	type	0x0,	endef

	.loc	140
	;.set	volatile
	ld.ub	%r10,[%r14]	; 	xld.ub	%r10,[%r14]
	;.set	novolatile
	and	%r10,%r6
	;.set	volatile
	ld.b	[%r14],%r10	; 	xld.b	[%r14],%r10
	;.set	novolatile

	.loc	141
	bclr	[%r13],0x6	; 	xbclr	[%r13],0x6

	.loc	142
	bset	[%r14],0x3	; 	xbset	[%r14],0x3

	.loc	143
	bset	[%r13],0x5	; 	xbset	[%r13],0x5

	.loc	145
	ext	0x0		; 	xld.w	%r11,0x00040243		; 262723
	ext	0x1009
	ld.w	%r11,0x3
	ld.w	%r10,0x9	; 	xld.w	%r10,0x00000009		; 9
	;.set	volatile
	ld.b	[%r11],%r10	; 	xld.b	[%r11],%r10
	;.set	novolatile

	.loc	146
	bset	[%r4],0x1	; 	xbset	[%r4],0x1

	.loc	150
	btst	[%r15],0x0	; 	xbtst	[%r15],0x0
	jrne	__LX14		; 	xjrne	__L14
	ext	0x0		; 	xld.w	%r11,0x00040287		; 262791
	ext	0x100a
	ld.w	%r11,0x7
__LX13:				; __L13:
	btst	[%r11],0x0	; 	xbtst	[%r11],0x0
	jreq	__LX13		; 	xjreq	__L13
__LX14:				; __L14:

	.loc	154
	bset	[%r15],0x0	; 	xbset	[%r15],0x0

	.loc	155
	ext	times+0x0@h	; 	xld.w	%r11,[times]
	ext	times+0x0@m
	ld.w	%r9,times+0x0@l
	ld.w	%r11,[%r9]
	ld.w	%r12,%r11
	sll	%r12,0x1	; 	xsll	%r12,1
	ext	0x0		; 	xld.w	%r10,0x00040240		; 262720
	ext	0x1009
	ld.w	%r10,0x0
	;.set	volatile
	ld.uh	%r10,[%r10]	; 	xld.uh	%r10,[%r10]
	;.set	novolatile
	ext	x_add+0x0@h	; 	xld.h	[%r12+x_add],%r10
	ext	x_add+0x0@m
	ld.w	%r9,x_add+0x0@l
	add	%r9,%r12
	ld.h	[%r9],%r10

	.loc	156
	add	%r11,0x1	; 	xadd	%r11,%r11,1
	ext	times+0x0@h	; 	xld.w	[times],%r11
	ext	times+0x0@m
	ld.w	%r9,times+0x0@l
	ld.w	[%r9],%r11

	.loc	158
	cmp	%r11,0x5	; 	xcmp	%r11,5
	jrle	__LX7		; 	xjrle	__L7

	.loc	159
	ld.w	%r7,0x0
	ext	times+0x0@h	; 	xld.w	[times],%r7
	ext	times+0x0@m
	ld.w	%r9,times+0x0@l
	ld.w	[%r9],%r7

	.loc	160
	ext	0x1		; 	xld.w	%r5,0x00000063		; 99
	ld.w	%r5,0x23
	ext	0x0		; 	xld.w	%r14,0x000402d1		; 262865
	ext	0x100b
	ld.w	%r14,0x11
	ext	0x3		; 	xld.w	%r6,0x000000f7		; 247
	ld.w	%r6,0x37
	ext	0x0		; 	xld.w	%r13,0x000402d5		; 262869
	ext	0x100b
	ld.w	%r13,0x15
	ext	0x0		; 	xld.w	%r4,0x00040244		; 262724
	ext	0x1009
	ld.w	%r4,0x4
	ext	0x0		; 	xld.w	%r15,0x00040287		; 262791
	ext	0x100a
	ld.w	%r15,0x7
__LX20:				; __L20:

	.loc	164
	.def	begin,	scl	100,	type	0x0,	endef
	.def	i,	val	10,	scl	4,	type	0x4,	endef

	.loc	165
	ld.w	%r10,0x0
__LX24:				; __L24:

	.loc	166
; APP
	nop
; NO_APP

	.loc	165
	add	%r10,0x1	; 	xadd	%r10,%r10,1
	cmp	%r10,%r5
	jrle	__LX24		; 	xjrle	__L24

	.loc	167
	.def	bend,	scl	110,	type	0x0,	endef

	.loc	170
	;.set	volatile
	ld.ub	%r10,[%r14]	; 	xld.ub	%r10,[%r14]
	;.set	novolatile
	and	%r10,%r6
	;.set	volatile
	ld.b	[%r14],%r10	; 	xld.b	[%r14],%r10
	;.set	novolatile

	.loc	171
	bclr	[%r13],0x5	; 	xbclr	[%r13],0x5

	.loc	172
	bset	[%r14],0x2	; 	xbset	[%r14],0x2

	.loc	173
	bset	[%r13],0x6	; 	xbset	[%r13],0x6

	.loc	178
	ext	0x0		; 	xld.w	%r10,0x00040243		; 262723
	ext	0x1009
	ld.w	%r10,0x3
	ld.w	%r7,0x0
	;.set	volatile
	ld.b	[%r10],%r7	; 	xld.b	[%r10],%r7
	;.set	novolatile

	.loc	179
	bset	[%r4],0x1	; 	xbset	[%r4],0x1

	.loc	181
	btst	[%r15],0x0	; 	xbtst	[%r15],0x0
	jrne	__LX27		; 	xjrne	__L27
	ext	0x0		; 	xld.w	%r11,0x00040287		; 262791
	ext	0x100a
	ld.w	%r11,0x7
__LX26:				; __L26:
	btst	[%r11],0x0	; 	xbtst	[%r11],0x0
	jreq	__LX26		; 	xjreq	__L26
__LX27:				; __L27:

	.loc	185
	bset	[%r15],0x0	; 	xbset	[%r15],0x0

	.loc	186
	ext	times+0x0@h	; 	xld.w	%r11,[times]
	ext	times+0x0@m
	ld.w	%r9,times+0x0@l
	ld.w	%r11,[%r9]
	ld.w	%r12,%r11
	sll	%r12,0x1	; 	xsll	%r12,1
	ext	0x0		; 	xld.w	%r10,0x00040240		; 262720
	ext	0x1009
	ld.w	%r10,0x0
	;.set	volatile
	ld.uh	%r10,[%r10]	; 	xld.uh	%r10,[%r10]
	;.set	novolatile
	ext	y_add+0x0@h	; 	xld.h	[%r12+y_add],%r10
	ext	y_add+0x0@m
	ld.w	%r9,y_add+0x0@l
	add	%r9,%r12
	ld.h	[%r9],%r10

	.loc	187
	add	%r11,0x1	; 	xadd	%r11,%r11,1
	ext	times+0x0@h	; 	xld.w	[times],%r11
	ext	times+0x0@m
	ld.w	%r9,times+0x0@l
	ld.w	[%r9],%r11

	.loc	188
	cmp	%r11,0x5	; 	xcmp	%r11,5
	jrle	__LX20		; 	xjrle	__L20

	.loc	190
	ext	x_add+0x0@h	; 	xld.w	%r12,x_add
	ext	x_add+0x0@m
	ld.w	%r12,x_add+0x0@l
	ext	get_avrg@rh	; 	xcall	get_avrg
	ext	get_avrg@rm
	call	get_avrg@rl
	ext	x_avrg+0x0@h	; 	xld.h	[x_avrg],%r10
	ext	x_avrg+0x0@m
	ld.w	%r9,x_avrg+0x0@l
	ld.h	[%r9],%r10

	.loc	191
	ext	y_add+0x0@h	; 	xld.w	%r12,y_add
	ext	y_add+0x0@m
	ld.w	%r12,y_add+0x0@l
	ext	get_avrg@rh	; 	xcall	get_avrg
	ext	get_avrg@rm
	call	get_avrg@rl
	ext	y_avrg+0x0@h	; 	xld.h	[y_avrg],%r10
	ext	y_avrg+0x0@m
	ld.w	%r9,y_avrg+0x0@l
	ld.h	[%r9],%r10

	.loc	194
	ext	0x0		; 	xld.w	%r11,0x000402d1		; 262865
	ext	0x100b
	ld.w	%r11,0x11
	bclr	[%r11],0x3	; 	xbclr	[%r11],0x3

	.loc	195
	;.set	volatile
	ld.ub	%r10,[%r11]	; 	xld.ub	%r10,[%r11]
	;.set	novolatile
	ext	0x3		; 	xoor	%r10,%r10,0x000000f4
	or	%r10,0x34
	;.set	volatile
	ld.b	[%r11],%r10	; 	xld.b	[%r11],%r10
	;.set	novolatile

	.loc	196
	ext	0x0		; 	xld.w	%r11,0x000402d5		; 262869
	ext	0x100b
	ld.w	%r11,0x15
	;.set	volatile
	ld.ub	%r10,[%r11]	; 	xld.ub	%r10,[%r11]
	;.set	novolatile
	ext	0x1		; 	xoor	%r10,%r10,0x00000060
	or	%r10,0x20
	;.set	volatile
	ld.b	[%r11],%r10	; 	xld.b	[%r11],%r10
	;.set	novolatile

	.loc	199
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	fnIHL_GetPenPoint,	val	fnIHL_GetPenPoint,	scl	2,	type	0x21,	endef
	.global	fnIHL_GetPenPoint

	.loc	216
	.def	ent,	scl	101,	type	0x0,	endef
fnIHL_GetPenPoint:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r1,%r12
	ld.w	%r0,%r13
	.def	xposition,	val	1,	scl	17,	type	0x1d,	endef
	.def	yposition,	val	0,	scl	17,	type	0x1d,	endef

	.loc	217
	.def	begin,	scl	100,	type	0x0,	endef

	.loc	219
	ext	get_adjust_point@rm	; 	xcall	get_adjust_point
	call	get_adjust_point@rl

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

	.loc	223
	srl	%r10,0x2	; 	xsrl	%r10,2
	ext	x_tp_map+0x0@h	; 	xld.ub	%r10,[%r10+x_tp_map]
	ext	x_tp_map+0x0@m
	ld.w	%r9,x_tp_map+0x0@l
	add	%r9,%r10
	ld.ub	%r10,[%r9]
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10

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

	.loc	225
	srl	%r10,0x1	; 	xsrl	%r10,1
	ext	y_tp_map+0x0@h	; 	xld.ub	%r10,[%r10+y_tp_map]
	ext	y_tp_map+0x0@m
	ld.w	%r9,y_tp_map+0x0@l
	add	%r9,%r10
	ld.ub	%r10,[%r9]
	ld.h	[%r1],%r10	; 	xld.h	[%r1],%r10

	.loc	226
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.def	times,	val	times,	scl	2,	type	0x4,	endef

	.comm	times 4


	.endfile

⌨️ 快捷键说明

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