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

📄 drv_ad2lcd.ps

📁 一款SmartPhone的驱动代码
💻 PS
字号:
	.file	"..\TP\drv_ad2lcd.c"

;  GNU C 2.7.2 [AL 1.1, MM 40] RISC NEWS-OS compiled by CC

;  Cc1 defaults:
;  -mmemcpy

;  Cc1 arguments (-G value = 0, Cpu = 3000, ISA = 1):
;  -quiet -dumpbase -g -O -fno-builtin -o

gcc2_compiled.:
__gnu_compiled_c:
	.code
	.align	1
	.def	get_avrg,	val	get_avrg,	scl	2,	type	0x2d,	endef
	.global	get_avrg

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

	.loc	45
	.def	begin,	scl	100,	type	0x0,	endef
	.def	i_get_avrg,	val	15,	scl	4,	type	0xc,	endef
	.def	add_max,	val	14,	scl	4,	type	0xd,	endef
	.def	add_min,	val	13,	scl	4,	type	0xd,	endef
	.def	add_ma,	val	5,	scl	4,	type	0xd,	endef
	.def	add_mi,	val	6,	scl	4,	type	0xd,	endef
	.def	add_sum,	val	4,	scl	4,	type	0xd,	endef
	.def	add_avrg,	val	11,	scl	4,	type	0xd,	endef

	.loc	53
	xld.uh	%r13,[%r12]

	.loc	54
	ld.w	%r14,%r13

	.loc	55
	ld.w	%r5,%r13

	.loc	56
	ld.w	%r6,%r13

	.loc	57
	ld.w	%r4,%r13

	.loc	61
	xld.w	%r15,0x00000001		; 1
__L5:

	.loc	63
	xadd	%r12,%r12,2

	.loc	64
	xld.uh	%r11,[%r12]
	ld.uh	%r10,%r14
	cmp	%r11,%r10
	xjrule	__L6

	.loc	66
	ld.w	%r5,%r14

	.loc	67
	xld.uh	%r14,[%r12]

	.loc	68
	xjp	__L7
__L6:

	.loc	71
	xld.uh	%r11,[%r12]
	ld.uh	%r10,%r13
	cmp	%r11,%r10
	xjruge	__L7

	.loc	73
	ld.w	%r6,%r13

	.loc	74
	xld.uh	%r13,[%r12]
__L7:

	.loc	78
	xld.uh	%r7,[%r12]
	add	%r4,%r7

	.loc	61
	xadd	%r15,%r15,1
	ld.ub	%r10,%r15
	xcmp	%r10,5
	xjrule	__L5

	.loc	81
	ld.uh	%r10,%r5
	ld.uh	%r11,%r6
	sub	%r10,%r11
	xcmp	%r10,16
	xjrgt	__L12

	.loc	83
	ld.uh	%r10,%r4
	ld.uh	%r11,%r14
	sub	%r10,%r11
	ld.uh	%r11,%r13
	sub	%r10,%r11
	xjrge	__L11
	xadd	%r10,%r10,3
__L11:
	xsra	%r10,2
	ld.w	%r11,%r10

	.loc	85
	xsub	%r10,%r10,80
	ld.uh	%r10,%r10
	xcmp	%r10,911
	xjrugt	__L12

	.loc	87
	ld.uh	%r10,%r11
	xjp	__L13
__L12:
	ld.w	%r10,0x0
__L13:

	.loc	90
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	get_avrg_adj,	val	get_avrg_adj,	scl	2,	type	0x2d,	endef
	.global	get_avrg_adj

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

	.loc	103
	.def	begin,	scl	100,	type	0x0,	endef
	.def	i_get_avrg,	val	15,	scl	4,	type	0xc,	endef
	.def	add_max,	val	14,	scl	4,	type	0xd,	endef
	.def	add_min,	val	13,	scl	4,	type	0xd,	endef
	.def	add_ma,	val	5,	scl	4,	type	0xd,	endef
	.def	add_mi,	val	6,	scl	4,	type	0xd,	endef
	.def	add_sum,	val	4,	scl	4,	type	0xd,	endef
	.def	add_avrg,	val	10,	scl	4,	type	0xd,	endef

	.loc	111
	xld.uh	%r13,[%r12]

	.loc	112
	ld.w	%r14,%r13

	.loc	113
	ld.w	%r5,%r13

	.loc	114
	ld.w	%r6,%r13

	.loc	115
	ld.w	%r4,%r13

	.loc	118
	xld.w	%r15,0x00000001		; 1
__L18:

	.loc	120
	xadd	%r12,%r12,2

	.loc	121
	xld.uh	%r11,[%r12]
	ld.uh	%r10,%r14
	cmp	%r11,%r10
	xjrule	__L19

	.loc	123
	ld.w	%r5,%r14

	.loc	124
	xld.uh	%r14,[%r12]

	.loc	125
	xjp	__L20
__L19:

	.loc	128
	xld.uh	%r11,[%r12]
	ld.uh	%r10,%r13
	cmp	%r11,%r10
	xjruge	__L20

	.loc	130
	ld.w	%r6,%r13

	.loc	131
	xld.uh	%r13,[%r12]
__L20:

	.loc	135
	xld.uh	%r7,[%r12]
	add	%r4,%r7

	.loc	118
	xadd	%r15,%r15,1
	ld.ub	%r10,%r15
	xcmp	%r10,5
	xjrule	__L18

	.loc	138
	ld.uh	%r10,%r5
	ld.uh	%r11,%r6
	sub	%r10,%r11
	xcmp	%r10,16
	xjrle	__L23
	ld.w	%r10,0x0
	xjp	__L26
__L23:

	.loc	140
	ld.uh	%r10,%r4
	ld.uh	%r11,%r14
	sub	%r10,%r11
	ld.uh	%r11,%r13
	sub	%r10,%r11
	xjrge	__L24
	xadd	%r10,%r10,3
__L24:
	xsrl	%r10,2

	.loc	142
	ld.uh	%r11,%r10

	.loc	144
	ld.w	%r10,0x0

	.loc	142
	xcmp	%r11,79
	xjrule	__L26

	.loc	144
	ld.w	%r10,%r11
__L26:

	.loc	147
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	get_x_step,	val	get_x_step,	scl	2,	type	0x26,	endef
	.global	get_x_step

	.loc	159
	.def	ent,	scl	101,	type	0x0,	endef
get_x_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	x_add_ul,	val	1,	scl	17,	type	0xd,	endef
	.def	x_add_lr,	val	3,	scl	17,	type	0xd,	endef

	.loc	161
	.def	begin,	scl	100,	type	0x0,	endef
	.def	x_step,	val	2,	scl	4,	type	0x6,	endef

	.loc	162
	ld.uh	%r12,%r1
	xcall	__floatsisf
	ld.w	%r2,%r10
	ld.h	%r0,%r3
	ld.w	%r12,%r0
	xcall	__floatsisf
	cmp	%r0,0x0
	xjrge	__L28
	ld.w	%r12,%r10
	xld.w	%r13,0x47800000		; 6.55360000000000000000e4
	xcall	__addsf3
__L28:
	ld.w	%r12,%r2
	ld.w	%r13,%r10
	xcall	__subsf3
	ld.w	%r12,%r10
	xld.w	%r13,0x42a00000		; 8.00000000000000000000e1
	xcall	__divsf3
	ld.w	%r2,%r10

	.loc	164
	ld.uh	%r12,%r1
	xcall	__floatsisf
	ld.w	%r0,%r10
	ld.w	%r12,%r2
	xld.w	%r13,0x41a00000		; 2.00000000000000000000e1
	xcall	__mulsf3
	ld.w	%r1,%r10
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	xcall	__addsf3
	ld.w	%r12,%r10
	xcall	__fixunssfsi
	xld.h	[x0],%r10

	.loc	165
	ld.uh	%r12,%r3
	xcall	__floatsisf
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	xcall	__subsf3
	ld.w	%r12,%r10
	xcall	__fixunssfsi
	xld.h	[x240],%r10

	.loc	167
	ld.w	%r10,%r2

	.loc	168
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r3
	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
	xcall	__floatsisf
	ld.w	%r2,%r10
	cmp	%r0,0x0
	xjrge	__L30
	ld.w	%r12,%r2
	xld.w	%r13,0x47800000		; 6.55360000000000000000e4
	xcall	__addsf3
	ld.w	%r2,%r10
__L30:
	ld.h	%r0,%r3
	ld.w	%r12,%r0
	xcall	__floatsisf
	cmp	%r0,0x0
	xjrge	__L31
	ld.w	%r12,%r10
	xld.w	%r13,0x47800000		; 6.55360000000000000000e4
	xcall	__addsf3
__L31:
	ld.w	%r12,%r2
	ld.w	%r13,%r10
	xcall	__subsf3
	ld.w	%r12,%r10
	xld.w	%r13,0x42f00000		; 1.20000000000000000000e2
	xcall	__divsf3
	ld.w	%r2,%r10

	.loc	184
	ld.uh	%r12,%r1
	xcall	__floatsisf
	ld.w	%r0,%r10
	ld.w	%r12,%r2
	xld.w	%r13,0x41a00000		; 2.00000000000000000000e1
	xcall	__mulsf3
	ld.w	%r1,%r10
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	xcall	__addsf3
	ld.w	%r12,%r10
	xcall	__fixunssfsi
	xld.h	[y0],%r10

	.loc	185
	ld.uh	%r12,%r3
	xcall	__floatsisf
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	xcall	__subsf3
	ld.w	%r12,%r10
	xcall	__fixunssfsi
	xld.h	[y160],%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
	xld.w	%r12,0x000000ff		; 255
	xld.w	%r11,0x00000028		; 40
__L36:

	.loc	209
	ld.uh	%r10,%r1
	xld.b	[%r10+y_tp_map],%r12

	.loc	207
	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	cmp	%r10,%r11
	xjrule	__L36

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

	.loc	213
	ld.w	%r0,%r10
	xld.uh	%r12,[y0]
	xsll	%r10,1
	sub	%r12,%r10
	xcall	__floatsisf
	ld.w	%r12,%r10
	xld.w	%r13,[y_step]
	xcall	__divsf3
	ld.w	%r12,%r10
	xcall	__extendsfdf2
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	xld.w	%r14,0x00000000		; double 5.00000000000000000000e-1
	xld.w	%r15,0x3fe00000		;
	xcall	__adddf3
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	xcall	__fixunsdfsi
	xld.b	[%r0+y_tp_map],%r10

	.loc	211
	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	xcmp	%r10,494
	xjrule	__L41

	.loc	215
	xld.w	%r1,0x000001ef		; 495
	ld.uh	%r10,%r1
	xld.w	%r12,0x000000ff		; 255
	xld.w	%r11,0x000001ff		; 511
__L46:

	.loc	217
	xld.b	[%r10+y_tp_map],%r12

	.loc	215
	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	cmp	%r10,%r11
	xjrule	__L46

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

	.loc	222
	ld.uh	%r10,%r1
	xld.b	[%r10+x_tp_map],%r11

	.loc	220
	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	xcmp	%r10,20
	xjrule	__L51

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

	.loc	227
	ld.uh	%r0,%r1
	xld.uh	%r12,[x0]
	ld.w	%r10,%r0
	xsll	%r10,2
	sub	%r12,%r10
	xcall	__floatsisf
	ld.w	%r12,%r10
	xld.w	%r13,[x_step]
	xcall	__divsf3
	ld.w	%r12,%r10
	xcall	__extendsfdf2
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	xld.w	%r14,0x00000000		; double 5.00000000000000000000e-1
	xld.w	%r15,0x3fe00000		;
	xcall	__adddf3
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	xcall	__fixunsdfsi
	xld.b	[%r0+x_tp_map],%r10

	.loc	225
	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	xcmp	%r10,246
	xjrule	__L56

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

	.loc	232
	xld.b	[%r10+x_tp_map],%r11

	.loc	230
	xadd	%r1,%r1,1
	ld.uh	%r10,%r1
	cmp	%r10,%r11
	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 + -