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

📄 drv_ad2lcd.ms

📁 一款SmartPhone的驱动代码
💻 MS
📖 第 1 页 / 共 2 页
字号:
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	get_y_step,	val	get_y_step,	scl	2,	type	0x26,	endef
	.global	get_y_step

	.loc	180
	.def	ent,	scl	101,	type	0x0,	endef
get_y_step:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	ld.w	%r1,%r12
	ld.w	%r3,%r13
	.def	y_add_ul,	val	1,	scl	17,	type	0xd,	endef
	.def	y_add_lr,	val	3,	scl	17,	type	0xd,	endef

	.loc	181
	.def	begin,	scl	100,	type	0x0,	endef
	.def	y_step,	val	2,	scl	4,	type	0x6,	endef

	.loc	182
	ld.h	%r0,%r1
	ld.w	%r12,%r0
	ext	__floatsisf@rh	; 	xcall	__floatsisf
	ext	__floatsisf@rm
	call	__floatsisf@rl
	ld.w	%r2,%r10
	cmp	%r0,0x0
	jrge	__LX30		; 	xjrge	__L30
	ld.w	%r12,%r2
	ext	0x8f0		; 	xld.w	%r13,0x47800000		; 6.55360000000000000000e4
	ext	0x0
	ld.w	%r13,0x0
	ext	__addsf3@rh	; 	xcall	__addsf3
	ext	__addsf3@rm
	call	__addsf3@rl
	ld.w	%r2,%r10
__LX30:				; __L30:
	ld.h	%r0,%r3
	ld.w	%r12,%r0
	ext	__floatsisf@rh	; 	xcall	__floatsisf
	ext	__floatsisf@rm
	call	__floatsisf@rl
	cmp	%r0,0x0
	jrge	__LX31		; 	xjrge	__L31
	ld.w	%r12,%r10
	ext	0x8f0		; 	xld.w	%r13,0x47800000		; 6.55360000000000000000e4
	ext	0x0
	ld.w	%r13,0x0
	ext	__addsf3@rh	; 	xcall	__addsf3
	ext	__addsf3@rm
	call	__addsf3@rl
__LX31:				; __L31:
	ld.w	%r12,%r2
	ld.w	%r13,%r10
	ext	__subsf3@rh	; 	xcall	__subsf3
	ext	__subsf3@rm
	call	__subsf3@rl
	ld.w	%r12,%r10
	ext	0x85e		; 	xld.w	%r13,0x42f00000		; 1.20000000000000000000e2
	ext	0x0
	ld.w	%r13,0x0
	ext	__divsf3@rh	; 	xcall	__divsf3
	ext	__divsf3@rm
	call	__divsf3@rl
	ld.w	%r2,%r10

	.loc	184
	ld.uh	%r12,%r1
	ext	__floatsisf@rh	; 	xcall	__floatsisf
	ext	__floatsisf@rm
	call	__floatsisf@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r2
	ext	0x834		; 	xld.w	%r13,0x41a00000		; 2.00000000000000000000e1
	ext	0x0
	ld.w	%r13,0x0
	ext	__mulsf3@rh	; 	xcall	__mulsf3
	ext	__mulsf3@rm
	call	__mulsf3@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ext	__addsf3@rh	; 	xcall	__addsf3
	ext	__addsf3@rm
	call	__addsf3@rl
	ld.w	%r12,%r10
	ext	__fixunssfsi@rh	; 	xcall	__fixunssfsi
	ext	__fixunssfsi@rm
	call	__fixunssfsi@rl
	ext	y0+0x0@h	; 	xld.h	[y0],%r10
	ext	y0+0x0@m
	ld.w	%r9,y0+0x0@l
	ld.h	[%r9],%r10

	.loc	185
	ld.uh	%r12,%r3
	ext	__floatsisf@rh	; 	xcall	__floatsisf
	ext	__floatsisf@rm
	call	__floatsisf@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	__subsf3@rh	; 	xcall	__subsf3
	ext	__subsf3@rm
	call	__subsf3@rl
	ld.w	%r12,%r10
	ext	__fixunssfsi@rh	; 	xcall	__fixunssfsi
	ext	__fixunssfsi@rm
	call	__fixunssfsi@rl
	ext	y160+0x0@h	; 	xld.h	[y160],%r10
	ext	y160+0x0@m
	ld.w	%r9,y160+0x0@l
	ld.h	[%r9],%r10

	.loc	187
	ld.w	%r10,%r2

	.loc	188
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r3
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	tp_mapping,	val	tp_mapping,	scl	2,	type	0x21,	endef
	.global	tp_mapping

	.loc	204
	.def	ent,	scl	101,	type	0x0,	endef
tp_mapping:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1

	.loc	205
	.def	begin,	scl	100,	type	0x0,	endef
	.def	num,	val	1,	scl	4,	type	0xd,	endef

	.loc	207
	ld.w	%r1,0x0
	ext	0x3		; 	xld.w	%r12,0x000000ff		; 255
	ld.w	%r12,0x3f
	ext	0x0		; 	xld.w	%r11,0x00000028		; 40
	ld.w	%r11,0x28
__LX36:				; __L36:

	.loc	209
	ld.uh	%r10,%r1
	ext	y_tp_map+0x0@h	; 	xld.b	[%r10+y_tp_map],%r12
	ext	y_tp_map+0x0@m
	ld.w	%r9,y_tp_map+0x0@l
	add	%r9,%r10
	ld.b	[%r9],%r12

	.loc	207
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	cmp	%r10,%r11
	jrule	__LX36		; 	xjrule	__L36

	.loc	211
	ext	0x0		; 	xld.w	%r1,0x00000029		; 41
	ld.w	%r1,0x29
	ld.uh	%r10,%r1
__LX41:				; __L41:

	.loc	213
	ld.w	%r0,%r10
	ext	y0+0x0@h	; 	xld.uh	%r12,[y0]
	ext	y0+0x0@m
	ld.w	%r9,y0+0x0@l
	ld.uh	%r12,[%r9]
	sll	%r10,0x1	; 	xsll	%r10,1
	sub	%r12,%r10
	ext	__floatsisf@rh	; 	xcall	__floatsisf
	ext	__floatsisf@rm
	call	__floatsisf@rl
	ld.w	%r12,%r10
	ext	y_step+0x0@h	; 	xld.w	%r13,[y_step]
	ext	y_step+0x0@m
	ld.w	%r9,y_step+0x0@l
	ld.w	%r13,[%r9]
	ext	__divsf3@rh	; 	xcall	__divsf3
	ext	__divsf3@rm
	call	__divsf3@rl
	ld.w	%r12,%r10
	ext	__extendsfdf2@rh	; 	xcall	__extendsfdf2
	ext	__extendsfdf2@rm
	call	__extendsfdf2@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	ld.w	%r14,0x0	; 	xld.w	%r14,0x00000000		; double 5.00000000000000000000e-1
	ext	0x7fc		; 	xld.w	%r15,0x3fe00000		;
	ext	0x0
	ld.w	%r15,0x0
	ext	__adddf3@rh	; 	xcall	__adddf3
	ext	__adddf3@rm
	call	__adddf3@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	ext	__fixunsdfsi@rh	; 	xcall	__fixunsdfsi
	ext	__fixunsdfsi@rm
	call	__fixunsdfsi@rl
	ext	y_tp_map+0x0@h	; 	xld.b	[%r0+y_tp_map],%r10
	ext	y_tp_map+0x0@m
	ld.w	%r9,y_tp_map+0x0@l
	add	%r9,%r0
	ld.b	[%r9],%r10

	.loc	211
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	ext	0x7		; 	xcmp	%r10,494
	cmp	%r10,0x2e
	jrule	__LX41		; 	xjrule	__L41

	.loc	215
	ext	0x7		; 	xld.w	%r1,0x000001ef		; 495
	ld.w	%r1,0x2f
	ld.uh	%r10,%r1
	ext	0x3		; 	xld.w	%r12,0x000000ff		; 255
	ld.w	%r12,0x3f
	ext	0x7		; 	xld.w	%r11,0x000001ff		; 511
	ld.w	%r11,0x3f
__LX46:				; __L46:

	.loc	217
	ext	y_tp_map+0x0@h	; 	xld.b	[%r10+y_tp_map],%r12
	ext	y_tp_map+0x0@m
	ld.w	%r9,y_tp_map+0x0@l
	add	%r9,%r10
	ld.b	[%r9],%r12

	.loc	215
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	cmp	%r10,%r11
	jrule	__LX46		; 	xjrule	__L46

	.loc	220
	ld.w	%r1,0x0
	ext	0x3		; 	xld.w	%r11,0x000000ff		; 255
	ld.w	%r11,0x3f
__LX51:				; __L51:

	.loc	222
	ld.uh	%r10,%r1
	ext	x_tp_map+0x0@h	; 	xld.b	[%r10+x_tp_map],%r11
	ext	x_tp_map+0x0@m
	ld.w	%r9,x_tp_map+0x0@l
	add	%r9,%r10
	ld.b	[%r9],%r11

	.loc	220
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	cmp	%r10,0x14	; 	xcmp	%r10,20
	jrule	__LX51		; 	xjrule	__L51

	.loc	225
	ld.w	%r1,0x15	; 	xld.w	%r1,0x00000015		; 21
__LX56:				; __L56:

	.loc	227
	ld.uh	%r0,%r1
	ext	x0+0x0@h	; 	xld.uh	%r12,[x0]
	ext	x0+0x0@m
	ld.w	%r9,x0+0x0@l
	ld.uh	%r12,[%r9]
	ld.w	%r10,%r0
	sll	%r10,0x2	; 	xsll	%r10,2
	sub	%r12,%r10
	ext	__floatsisf@rh	; 	xcall	__floatsisf
	ext	__floatsisf@rm
	call	__floatsisf@rl
	ld.w	%r12,%r10
	ext	x_step+0x0@h	; 	xld.w	%r13,[x_step]
	ext	x_step+0x0@m
	ld.w	%r9,x_step+0x0@l
	ld.w	%r13,[%r9]
	ext	__divsf3@rh	; 	xcall	__divsf3
	ext	__divsf3@rm
	call	__divsf3@rl
	ld.w	%r12,%r10
	ext	__extendsfdf2@rh	; 	xcall	__extendsfdf2
	ext	__extendsfdf2@rm
	call	__extendsfdf2@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	ld.w	%r14,0x0	; 	xld.w	%r14,0x00000000		; double 5.00000000000000000000e-1
	ext	0x7fc		; 	xld.w	%r15,0x3fe00000		;
	ext	0x0
	ld.w	%r15,0x0
	ext	__adddf3@rh	; 	xcall	__adddf3
	ext	__adddf3@rm
	call	__adddf3@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	ext	__fixunsdfsi@rh	; 	xcall	__fixunsdfsi
	ext	__fixunsdfsi@rm
	call	__fixunsdfsi@rl
	ext	x_tp_map+0x0@h	; 	xld.b	[%r0+x_tp_map],%r10
	ext	x_tp_map+0x0@m
	ld.w	%r9,x_tp_map+0x0@l
	add	%r9,%r0
	ld.b	[%r9],%r10

	.loc	225
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	ext	0x3		; 	xcmp	%r10,246
	cmp	%r10,0x36
	jrule	__LX56		; 	xjrule	__L56

	.loc	230
	ext	0x3		; 	xld.w	%r1,0x000000f7		; 247
	ld.w	%r1,0x37
	ld.uh	%r10,%r1
	ext	0x3		; 	xld.w	%r11,0x000000ff		; 255
	ld.w	%r11,0x3f
__LX61:				; __L61:

	.loc	232
	ext	x_tp_map+0x0@h	; 	xld.b	[%r10+x_tp_map],%r11
	ext	x_tp_map+0x0@m
	ld.w	%r9,x_tp_map+0x0@l
	add	%r9,%r10
	ld.b	[%r9],%r11

	.loc	230
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	cmp	%r10,%r11
	jrule	__LX61		; 	xjrule	__L61

	.loc	234
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.def	x0,	val	x0,	scl	2,	type	0xd,	endef

	.comm	x0 2
	.def	y0,	val	y0,	scl	2,	type	0xd,	endef

	.comm	y0 2
	.def	x240,	val	x240,	scl	2,	type	0xd,	endef

	.comm	x240 2
	.def	y160,	val	y160,	scl	2,	type	0xd,	endef

	.comm	y160 2
	.def	x_tp_map,	val	x_tp_map,	scl	2,	dim	256,	size	256,	type	0x3c,	endef

	.comm	x_tp_map 256
	.def	y_tp_map,	val	y_tp_map,	scl	2,	dim	512,	size	512,	type	0x3c,	endef

	.comm	y_tp_map 512


	.endfile

⌨️ 快捷键说明

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