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

📄 drv_ad2lcd.ms

📁 一款SmartPhone的驱动代码
💻 MS
📖 第 1 页 / 共 2 页
字号:
	.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
	ld.uh	%r13,[%r12]	; 	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
	ld.w	%r15,0x1	; 	xld.w	%r15,0x00000001		; 1
__LX5:				; __L5:

	.loc	63
	add	%r12,0x2	; 	xadd	%r12,%r12,2

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

	.loc	66
	ld.w	%r5,%r14

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

	.loc	68
	jp	__LX7		; 	xjp	__L7
__LX6:				; __L6:

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

	.loc	73
	ld.w	%r6,%r13

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

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

	.loc	61
	add	%r15,0x1	; 	xadd	%r15,%r15,1
	ld.ub	%r10,%r15
	cmp	%r10,0x5	; 	xcmp	%r10,5
	jrule	__LX5		; 	xjrule	__L5

	.loc	81
	ld.uh	%r10,%r5
	ld.uh	%r11,%r6
	sub	%r10,%r11
	cmp	%r10,0x10	; 	xcmp	%r10,16
	jrgt	__LX12		; 	xjrgt	__L12

	.loc	83
	ld.uh	%r10,%r4
	ld.uh	%r11,%r14
	sub	%r10,%r11
	ld.uh	%r11,%r13
	sub	%r10,%r11
	jrge	__LX11		; 	xjrge	__L11
	add	%r10,0x3	; 	xadd	%r10,%r10,3
__LX11:				; __L11:
	sra	%r10,0x2	; 	xsra	%r10,2
	ld.w	%r11,%r10

	.loc	85
	ext	0x1		; 	xsub	%r10,%r10,80
	sub	%r10,0x10
	ld.uh	%r10,%r10
	ext	0xe		; 	xcmp	%r10,911
	cmp	%r10,0xf
	jrugt	__LX12		; 	xjrugt	__L12

	.loc	87
	ld.uh	%r10,%r11
	jp	__LX13		; 	xjp	__L13
__LX12:				; __L12:
	ld.w	%r10,0x0
__LX13:				; __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
	ld.uh	%r13,[%r12]	; 	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
	ld.w	%r15,0x1	; 	xld.w	%r15,0x00000001		; 1
__LX18:				; __L18:

	.loc	120
	add	%r12,0x2	; 	xadd	%r12,%r12,2

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

	.loc	123
	ld.w	%r5,%r14

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

	.loc	125
	jp	__LX20		; 	xjp	__L20
__LX19:				; __L19:

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

	.loc	130
	ld.w	%r6,%r13

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

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

	.loc	118
	add	%r15,0x1	; 	xadd	%r15,%r15,1
	ld.ub	%r10,%r15
	cmp	%r10,0x5	; 	xcmp	%r10,5
	jrule	__LX18		; 	xjrule	__L18

	.loc	138
	ld.uh	%r10,%r5
	ld.uh	%r11,%r6
	sub	%r10,%r11
	cmp	%r10,0x10	; 	xcmp	%r10,16
	jrle	__LX23		; 	xjrle	__L23
	ld.w	%r10,0x0
	jp	__LX26		; 	xjp	__L26
__LX23:				; __L23:

	.loc	140
	ld.uh	%r10,%r4
	ld.uh	%r11,%r14
	sub	%r10,%r11
	ld.uh	%r11,%r13
	sub	%r10,%r11
	jrge	__LX24		; 	xjrge	__L24
	add	%r10,0x3	; 	xadd	%r10,%r10,3
__LX24:				; __L24:
	srl	%r10,0x2	; 	xsrl	%r10,2

	.loc	142
	ld.uh	%r11,%r10

	.loc	144
	ld.w	%r10,0x0

	.loc	142
	ext	0x1		; 	xcmp	%r11,79
	cmp	%r11,0xf
	jrule	__LX26		; 	xjrule	__L26

	.loc	144
	ld.w	%r10,%r11
__LX26:				; __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
	ext	__floatsisf@rh	; 	xcall	__floatsisf
	ext	__floatsisf@rm
	call	__floatsisf@rl
	ld.w	%r2,%r10
	ld.h	%r0,%r3
	ld.w	%r12,%r0
	ext	__floatsisf@rh	; 	xcall	__floatsisf
	ext	__floatsisf@rm
	call	__floatsisf@rl
	cmp	%r0,0x0
	jrge	__LX28		; 	xjrge	__L28
	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
__LX28:				; __L28:
	ld.w	%r12,%r2
	ld.w	%r13,%r10
	ext	__subsf3@rh	; 	xcall	__subsf3
	ext	__subsf3@rm
	call	__subsf3@rl
	ld.w	%r12,%r10
	ext	0x854		; 	xld.w	%r13,0x42a00000		; 8.00000000000000000000e1
	ext	0x0
	ld.w	%r13,0x0
	ext	__divsf3@rh	; 	xcall	__divsf3
	ext	__divsf3@rm
	call	__divsf3@rl
	ld.w	%r2,%r10

	.loc	164
	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	x0+0x0@h	; 	xld.h	[x0],%r10
	ext	x0+0x0@m
	ld.w	%r9,x0+0x0@l
	ld.h	[%r9],%r10

	.loc	165
	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	x240+0x0@h	; 	xld.h	[x240],%r10
	ext	x240+0x0@m
	ld.w	%r9,x240+0x0@l
	ld.h	[%r9],%r10

	.loc	167
	ld.w	%r10,%r2

	.loc	168
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r3

⌨️ 快捷键说明

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