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

📄 hal_lut.ms

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

	.loc	209
	.def	ent,	scl	101,	type	0x0,	endef
GetLutBypassEnable:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	LutNum,	val	12,	scl	17,	tag	__T18,	size	4,	type	0xa,	endef

	.loc	210
	cmp	%r12,0x0
	jreq	__LX33		; 	xjreq	__L33
	cmp	%r12,0x1	; 	xcmp	%r12,1
	jreq	__LX36		; 	xjreq	__L36
__LX33:				; __L33:

	.loc	214
	ext	0x8		; 	xld.w	%r12,0x00000200		; 512
	ld.w	%r12,0x0
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	214
	srl	%r10,0x4	; 	xsrl	%r10,4

	.loc	217
	jp	__LX41		; 	xjp	__L41
__LX36:				; __L36:

	.loc	221
	ext	0x8		; 	xld.w	%r12,0x00000200		; 512
	ld.w	%r12,0x0
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	221
	srl	%r10,0x5	; 	xsrl	%r10,5
__LX41:				; __L41:
	and	%r10,0x1	; 	xand	%r10,%r10,0x00000001

	.loc	222

	.loc	227
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetLutMode,	val	GetLutMode,	scl	2,	type	0x2d,	endef
	.global	GetLutMode

	.loc	236
	.def	ent,	scl	101,	type	0x0,	endef
GetLutMode:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	.def	LutNum,	val	12,	scl	17,	tag	__T18,	size	4,	type	0xa,	endef

	.loc	237
	.def	begin,	scl	100,	type	0x0,	endef
	.def	bpp,	val	0,	scl	4,	type	0x4,	endef
	.def	LutBypass,	val	10,	scl	4,	type	0x4,	endef

	.loc	240
	cmp	%r12,0x0
	jreq	__LX45		; 	xjreq	__L45
	cmp	%r12,0x1	; 	xcmp	%r12,1
	jreq	__LX61		; 	xjreq	__L61
__LX45:				; __L45:

	.loc	244
	ld.w	%r12,0x0
	ext	GetBitsPerPixel@rh	; 	xcall	GetBitsPerPixel
	ext	GetBitsPerPixel@rm
	call	GetBitsPerPixel@rl
	ld.w	%r0,%r10

	.loc	245
	ld.w	%r12,0x0
	call	GetLutBypassEnable	; 	xcall	GetLutBypassEnable
	ld.ub	%r10,%r10

	.loc	247
	cmp	%r10,0x0
	jrne	__LX47		; 	xjrne	__L47
	cmp	%r0,0x10	; 	xcmp	%r0,16
	jrle	__LX46		; 	xjrle	__L46
__LX47:				; __L47:

	.loc	249
	cmp	%r0,0x10	; 	xcmp	%r0,16
	jreq	__LX65		; 	xjreq	__L65
	jrgt	__LX54		; 	xjrgt	__L54
__LX79:				; __L79:
	cmp	%r0,0x8		; 	xcmp	%r0,8
	jreq	__LX64		; 	xjreq	__L64
	jp	__LX74		; 	xjp	__L74
__LX54:				; __L54:
	ext	0x0		; 	xcmp	%r0,32
	cmp	%r0,0x20
	jreq	__LX66		; 	xjreq	__L66

	.loc	254
	jp	__LX74		; 	xjp	__L74
__LX46:				; __L46:

	.loc	259
	cmp	%r0,0x8		; 	xcmp	%r0,8
	jrne	__LX78		; 	xjrne	__L78

	.loc	261
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
	jp	__LX77		; 	xjp	__L77
__LX61:				; __L61:

	.loc	270
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ext	GetBitsPerPixel@rh	; 	xcall	GetBitsPerPixel
	ext	GetBitsPerPixel@rm
	call	GetBitsPerPixel@rl
	ld.w	%r0,%r10

	.loc	271
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	call	GetLutBypassEnable	; 	xcall	GetLutBypassEnable
	ld.ub	%r10,%r10

	.loc	273
	cmp	%r10,0x0
	jreq	__LX62		; 	xjreq	__L62

	.loc	275
	cmp	%r0,0x10	; 	xcmp	%r0,16
	jreq	__LX65		; 	xjreq	__L65
	jrle	__LX79		; 	xjrle	__L79
	jp	__LX54		; 	xjp	__L54

	.loc	277
__LX64:				; __L64:
	ld.w	%r10,0x4	; 	xld.w	%r10,0x00000004		; 4
	jp	__LX77		; 	xjp	__L77
__LX65:				; __L65:

	.loc	278
	ld.w	%r10,0x5	; 	xld.w	%r10,0x00000005		; 5
	jp	__LX77		; 	xjp	__L77
__LX66:				; __L66:

	.loc	279
	ld.w	%r10,0x6	; 	xld.w	%r10,0x00000006		; 6
	jp	__LX77		; 	xjp	__L77
__LX62:				; __L62:

	.loc	285
	cmp	%r0,0x8		; 	xcmp	%r0,8
	jreq	__LX72		; 	xjreq	__L72
__LX78:				; __L78:
	cmp	%r0,0x10	; 	xcmp	%r0,16
	jreq	__LX73		; 	xjreq	__L73
	jp	__LX74		; 	xjp	__L74

	.loc	287
__LX72:				; __L72:
	ld.w	%r10,0x2	; 	xld.w	%r10,0x00000002		; 2
	jp	__LX77		; 	xjp	__L77
__LX73:				; __L73:

	.loc	288
	ld.w	%r10,0x3	; 	xld.w	%r10,0x00000003		; 3
	jp	__LX77		; 	xjp	__L77
__LX74:				; __L74:

	.loc	289
	ld.w	%r10,0x0
__LX77:				; __L77:

	.loc	294
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r0
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	InitLut,	val	InitLut,	scl	2,	type	0x21,	endef
	.global	InitLut

	.loc	304
	.def	ent,	scl	101,	type	0x0,	endef
InitLut:
;	.frame	%sp,24,$31		# vars= 4, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1		; 	xsub	%sp,%sp,4
	.def	WhichLut,	val	12,	scl	17,	tag	__T18,	size	4,	type	0xa,	endef
	.def	LutMode,	val	13,	scl	17,	tag	__T17,	size	4,	type	0xa,	endef

	.loc	305
	.def	begin,	scl	100,	type	0x0,	endef
	.def	i,	val	3,	scl	4,	type	0xd,	endef
	.def	red,	val	2,	scl	4,	type	0xc,	endef
	.def	green,	val	14,	scl	4,	type	0xc,	endef
	.def	blue,	val	1,	scl	4,	type	0xc,	endef
	.def	pSetLut,	val	10,	scl	4,	type	0x91,	endef
	.def	pSetLutEntry,	val	0,	scl	1,	type	0x91,	endef

	.loc	314
	cmp	%r12,0x1	; 	xcmp	%r12,1
	jrne	__LX81		; 	xjrne	__L81

	.loc	316
	ext	SetLut2+0x0@h	; 	xld.w	%r10,SetLut2
	ext	SetLut2+0x0@m
	ld.w	%r10,SetLut2+0x0@l

	.loc	317
	ext	SetLut2Entry+0x0@h	; 	xld.w	%r11,SetLut2Entry
	ext	SetLut2Entry+0x0@m
	ld.w	%r11,SetLut2Entry+0x0@l

	.loc	318
	jp	__LX104		; 	xjp	__L104
__LX81:				; __L81:

	.loc	321
	ext	SetLut1+0x0@h	; 	xld.w	%r10,SetLut1
	ext	SetLut1+0x0@m
	ld.w	%r10,SetLut1+0x0@l

	.loc	322
	ext	SetLut1Entry+0x0@h	; 	xld.w	%r11,SetLut1Entry
	ext	SetLut1Entry+0x0@m
	ld.w	%r11,SetLut1Entry+0x0@l
__LX104:				; __L104:
	ld.w	[%sp+0x0],%r11	; 	xld.w	[%sp],%r11

	.loc	326
	cmp	%r13,0x2	; 	xcmp	%r13,2
	jreq	__LX86		; 	xjreq	__L86
	jrugt	__LX103		; 	xjrugt	__L103
	cmp	%r13,0x1	; 	xcmp	%r13,1
	jreq	__LX85		; 	xjreq	__L85
	jp	__LX83		; 	xjp	__L83
__LX103:				; __L103:
	cmp	%r13,0x3	; 	xcmp	%r13,3
	jreq	__LX94		; 	xjreq	__L94

	.loc	329
	jp	__LX83		; 	xjp	__L83
__LX85:				; __L85:

	.loc	332
	ext	LutInfo+0x0@h	; 	xld.w	%r12,LutInfo
	ext	LutInfo+0x0@m
	ld.w	%r12,LutInfo+0x0@l
	ext	0x4		; 	xld.w	%r13,0x00000100		; 256
	ld.w	%r13,0x0
	call	%r10

	.loc	333
	jp	__LX83		; 	xjp	__L83
__LX86:				; __L86:

	.loc	336
	ld.w	%r3,0x0
__LX90:				; __L90:

	.loc	338
	ld.uh	%r0,%r3
	ext	0x3		; 	xld.w	%r10,0x000000ff		; 255
	ld.w	%r10,0x3f
	mlt.w	%r0,%r10
	ld.w	%r12,%alr
	ld.w	%r13,0x7	; 	xld.w	%r13,0x00000007		; 7
	ext	__divsi3@rh	; 	xcall	__divsi3
	ext	__divsi3@rm
	call	__divsi3@rl
	ld.w	%r14,%r10
	ld.w	%r2,%r14

	.loc	340
	cmp	%r0,0x3		; 	xcmp	%r0,3
	jrugt	__LX91		; 	xjrugt	__L91

	.loc	341
	ext	0x1		; 	xld.w	%r10,0x00000055		; 85
	ld.w	%r10,0x15
	mlt.w	%r0,%r10
	ld.w	%r1,%alr
	jp	__LX92		; 	xjp	__L92
__LX91:				; __L91:

	.loc	343
	ext	0x3		; 	xld.w	%r1,0x000000ff		; 255
	ld.w	%r1,0x3f
__LX92:				; __L92:

	.loc	345
	ld.uh	%r12,%r3
	ld.ub	%r13,%r2
	ld.ub	%r14,%r14
	ld.ub	%r15,%r1
	ld.w	%r11,[%sp+0x0]	; 	xld.w	%r11,[%sp]
	call	%r11

	.loc	336
	add	%r3,0x1		; 	xadd	%r3,%r3,1
	ld.uh	%r10,%r3
	cmp	%r10,0x7	; 	xcmp	%r10,7
	jrule	__LX90		; 	xjrule	__L90

	.loc	347
	jp	__LX83		; 	xjp	__L83
__LX94:				; __L94:

	.loc	350
	ld.w	%r3,0x0
__LX98:				; __L98:

	.loc	352
	ld.uh	%r12,%r3
	cmp	%r12,0x1f	; 	xcmp	%r12,31
	jrugt	__LX99		; 	xjrugt	__L99

	.loc	353
	ext	0x3		; 	xld.w	%r11,0x000000ff		; 255
	ld.w	%r11,0x3f
	mlt.w	%r12,%r11
	ld.w	%r12,%alr
	ld.w	%r13,0x1f	; 	xld.w	%r13,0x0000001f		; 31
	ext	__divsi3@rh	; 	xcall	__divsi3
	ext	__divsi3@rm
	call	__divsi3@rl
	ld.w	%r1,%r10
	jp	__LX105		; 	xjp	__L105
__LX99:				; __L99:

	.loc	355
	ext	0x3		; 	xld.w	%r1,0x000000ff		; 255
	ld.w	%r1,0x3f
__LX105:				; __L105:
	ld.w	%r2,%r1

	.loc	357
	ld.uh	%r0,%r3
	ext	0x3		; 	xld.w	%r11,0x000000ff		; 255
	ld.w	%r11,0x3f
	mlt.w	%r0,%r11
	ld.w	%r12,%alr
	ext	0x0		; 	xld.w	%r13,0x0000003f		; 63
	ld.w	%r13,0x3f
	ext	__divsi3@rh	; 	xcall	__divsi3
	ext	__divsi3@rm
	call	__divsi3@rl

	.loc	359
	ld.ub	%r13,%r2
	ld.ub	%r10,%r10
	ld.ub	%r15,%r1
	ld.w	%r12,%r0
	ld.w	%r14,%r10
	ld.w	%r11,[%sp+0x0]	; 	xld.w	%r11,[%sp]
	call	%r11

	.loc	350
	add	%r3,0x1		; 	xadd	%r3,%r3,1
	ld.uh	%r10,%r3
	ext	0x0		; 	xcmp	%r10,63
	cmp	%r10,0x3f
	jrule	__LX98		; 	xjrule	__L98
__LX83:				; __L83:

	.loc	363
	.def	bend,	scl	110,	type	0x0,	endef
	add	%sp,0x1		; 	xadd	%sp,%sp,4
	popn	%r3
	ret
	.def	end,	scl	111,	type	0x0,	endef


	.endfile

⌨️ 快捷键说明

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