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

📄 hal_lut.ms

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

	.loc	54
	.def	ent,	scl	101,	type	0x0,	endef
SetLut2:
;	.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	pLut,	val	1,	scl	17,	type	0x1c,	endef
	.def	size,	val	3,	scl	17,	type	0xf,	endef

	.loc	55
	.def	begin,	scl	100,	type	0x0,	endef
	.def	i,	val	2,	scl	4,	type	0xf,	endef
	.def	LutRegIndex,	val	0,	scl	4,	type	0xf,	endef
	.def	reg,	val	13,	scl	4,	type	0xd,	endef

	.loc	59
	ext	0x20		; 	xld.w	%r0,0x00000800		; 2048
	ld.w	%r0,0x0

	.loc	61
	ld.w	%r2,0x0
	cmp	%r2,%r3
	jruge	__LX9		; 	xjruge	__L9
__LX11:				; __L11:

	.loc	63
	ld.ub	%r13,[%r1]	; 	xld.ub	%r13,[%r1]
	ext	0x1		; 	xld.ub	%r10,[%r1+1]
	ld.ub	%r10,[%r1]
	sll	%r10,0x8	; 	xsll	%r10,8

	.loc	65
	ld.w	%r12,%r0
	or	%r13,%r10
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	66
	add	%r0,0x2		; 	xadd	%r0,%r0,2

	.loc	68
	ext	0x2		; 	xld.ub	%r13,[%r1+2]
	ld.ub	%r13,[%r1]

	.loc	70
	ld.uh	%r13,%r13
	ld.w	%r12,%r0
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	71
	add	%r0,0x2		; 	xadd	%r0,%r0,2

	.loc	72
	add	%r1,0x3		; 	xadd	%r1,%r1,3

	.loc	61
	add	%r2,0x1		; 	xadd	%r2,%r2,1
	cmp	%r2,%r3
	jrult	__LX11		; 	xjrult	__L11
__LX9:				; __L9:

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

	.loc	84
	.def	ent,	scl	101,	type	0x0,	endef
SetLut1Entry:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r1,%r15
	.def	addr,	val	12,	scl	17,	type	0xf,	endef
	.def	red,	val	13,	scl	17,	type	0xc,	endef
	.def	green,	val	14,	scl	17,	type	0xc,	endef
	.def	blue,	val	1,	scl	17,	type	0xc,	endef

	.loc	85
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	1,	scl	4,	type	0xd,	endef
	.def	LutIndex,	val	0,	scl	4,	type	0xf,	endef

	.loc	88
	ld.w	%r0,%r12
	sll	%r0,0x2		; 	xsll	%r0,2
	ext	0x10		; 	xadd	%r0,%r0,1024
	add	%r0,0x0

	.loc	90
	ld.ub	%r14,%r14
	sll	%r14,0x8	; 	xsll	%r14,8
	ld.ub	%r13,%r13
	ld.w	%r12,%r0
	or	%r13,%r14
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	93
	ld.ub	%r1,%r1

	.loc	95
	ld.uh	%r1,%r1
	ext	0x2		; 	xadd	%r12,%r0,2
	add	%r12,%r0
	ld.w	%r13,%r1
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	96
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	SetLut2Entry,	val	SetLut2Entry,	scl	2,	type	0x21,	endef
	.global	SetLut2Entry

	.loc	106
	.def	ent,	scl	101,	type	0x0,	endef
SetLut2Entry:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r1,%r15
	.def	addr,	val	12,	scl	17,	type	0xf,	endef
	.def	red,	val	13,	scl	17,	type	0xc,	endef
	.def	green,	val	14,	scl	17,	type	0xc,	endef
	.def	blue,	val	1,	scl	17,	type	0xc,	endef

	.loc	107
	.def	begin,	scl	100,	type	0x0,	endef
	.def	LutIndex,	val	0,	scl	4,	type	0xf,	endef

	.loc	109
	ld.w	%r0,%r12
	sll	%r0,0x2		; 	xsll	%r0,2
	ext	0x20		; 	xadd	%r0,%r0,2048
	add	%r0,0x0

	.loc	111
	ld.ub	%r14,%r14
	sll	%r14,0x8	; 	xsll	%r14,8
	ld.ub	%r13,%r13
	ld.w	%r12,%r0
	or	%r13,%r14
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	114
	ld.ub	%r1,%r1
	ext	0x2		; 	xadd	%r12,%r0,2
	add	%r12,%r0
	ld.w	%r13,%r1
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	115
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetLut1Entry,	val	GetLut1Entry,	scl	2,	type	0x21,	endef
	.global	GetLut1Entry

	.loc	125
	.def	ent,	scl	101,	type	0x0,	endef
GetLut1Entry:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	ld.w	%r1,%r13
	ld.w	%r2,%r14
	ld.w	%r3,%r15
	.def	addr,	val	12,	scl	17,	type	0xf,	endef
	.def	pRed,	val	1,	scl	17,	type	0x1c,	endef
	.def	pGreen,	val	2,	scl	17,	type	0x1c,	endef
	.def	pBlue,	val	3,	scl	17,	type	0x1c,	endef

	.loc	126
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	10,	scl	4,	type	0xd,	endef
	.def	LutIndex,	val	0,	scl	4,	type	0xf,	endef

	.loc	129
	ld.w	%r0,%r12
	sll	%r0,0x2		; 	xsll	%r0,2
	ext	0x10		; 	xadd	%r0,%r0,1024
	add	%r0,0x0

	.loc	130
	ld.w	%r12,%r0
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	132
	cmp	%r1,0x0
	jreq	__LX16		; 	xjreq	__L16

	.loc	133
	ld.b	[%r1],%r10	; 	xld.b	[%r1],%r10
__LX16:				; __L16:

	.loc	135
	cmp	%r2,0x0
	jreq	__LX17		; 	xjreq	__L17

	.loc	136
	ld.uh	%r10,%r10
	srl	%r10,0x8	; 	xsrl	%r10,8
	ld.b	[%r2],%r10	; 	xld.b	[%r2],%r10
__LX17:				; __L17:

	.loc	138
	cmp	%r3,0x0
	jreq	__LX18		; 	xjreq	__L18

	.loc	141
	ext	0x2		; 	xadd	%r12,%r0,2
	add	%r12,%r0
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	143
	ld.b	[%r3],%r10	; 	xld.b	[%r3],%r10
__LX18:				; __L18:

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

	.loc	155
	.def	ent,	scl	101,	type	0x0,	endef
GetLut2Entry:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	ld.w	%r1,%r13
	ld.w	%r2,%r14
	ld.w	%r3,%r15
	.def	addr,	val	12,	scl	17,	type	0xf,	endef
	.def	pRed,	val	1,	scl	17,	type	0x1c,	endef
	.def	pGreen,	val	2,	scl	17,	type	0x1c,	endef
	.def	pBlue,	val	3,	scl	17,	type	0x1c,	endef

	.loc	156
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	10,	scl	4,	type	0xd,	endef
	.def	LutIndex,	val	0,	scl	4,	type	0xf,	endef

	.loc	159
	ld.w	%r0,%r12
	sll	%r0,0x2		; 	xsll	%r0,2
	ext	0x20		; 	xadd	%r0,%r0,2048
	add	%r0,0x0

	.loc	160
	ld.w	%r12,%r0
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	162
	ld.b	[%r1],%r10	; 	xld.b	[%r1],%r10

	.loc	163
	ld.uh	%r10,%r10
	srl	%r10,0x8	; 	xsrl	%r10,8
	ld.b	[%r2],%r10	; 	xld.b	[%r2],%r10

	.loc	166
	ext	0x2		; 	xadd	%r12,%r0,2
	add	%r12,%r0
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	167
	ld.b	[%r3],%r10	; 	xld.b	[%r3],%r10

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

	.loc	178
	.def	ent,	scl	101,	type	0x0,	endef
SetLutBypassEnable:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r12
	ld.w	%r1,%r13
	.def	LutNum,	val	0,	scl	17,	tag	__T18,	size	4,	type	0xa,	endef
	.def	enable,	val	1,	scl	17,	type	0xd,	endef

	.loc	179
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	13,	scl	4,	type	0xd,	endef
	ext	0x8		; 	xld.w	%r12,0x00000200		; 512
	ld.w	%r12,0x0
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl
	ld.w	%r13,%r10

	.loc	181
	cmp	%r0,0x0
	jreq	__LX23		; 	xjreq	__L23
	cmp	%r0,0x1		; 	xcmp	%r0,1
	jreq	__LX26		; 	xjreq	__L26
__LX23:				; __L23:

	.loc	185
	ld.uh	%r10,%r1
	cmp	%r10,0x0
	jreq	__LX24		; 	xjreq	__L24

	.loc	186
	or	%r13,0x10	; 	xoor	%r13,%r13,0x00000010
	jp	__LX21		; 	xjp	__L21
__LX24:				; __L24:

	.loc	188
	and	%r13,0x2f	; 	xand	%r13,%r13,0xffffffef

	.loc	189
	jp	__LX21		; 	xjp	__L21
__LX26:				; __L26:

	.loc	192
	ld.uh	%r10,%r1
	cmp	%r10,0x0
	jreq	__LX27		; 	xjreq	__L27

	.loc	193
	ext	0x0		; 	xoor	%r13,%r13,0x00000020
	or	%r13,0x20
	jp	__LX21		; 	xjp	__L21
__LX27:				; __L27:

	.loc	195
	ext	0x3ff		; 	xand	%r13,%r13,0x0000ffdf
	and	%r13,0x1f
__LX21:				; __L21:

	.loc	199
	ld.uh	%r13,%r13
	ext	0x8		; 	xld.w	%r12,0x00000200		; 512
	ld.w	%r12,0x0
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	200

⌨️ 快捷键说明

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