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

📄 hal_lcd.ps

📁 一款SmartPhone的驱动代码
💻 PS
📖 第 1 页 / 共 5 页
字号:

	.loc	411
	ld.w	%r10,%r12
	xsll	%r10,7
	xand	%r10,%r10,0x00000080
	xsub	%r13,%r13,1
	or	%r10,%r13

	.loc	412
	ld.uh	%r10,%r10
	xld.w	%r12,0x00000050		; 80
	ld.w	%r13,%r10
	xcall	halWriteReg16

	.loc	413
	ld.uh	%r0,%r0
	xld.w	%r12,0x00000052		; 82
	ld.w	%r13,%r0
	xcall	halWriteReg16

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

	.loc	427
	.def	ent,	scl	101,	type	0x0,	endef
SetLcdParallelIf:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	LcdNum,	val	12,	scl	17,	tag	__T15,	size	4,	type	0xa,	endef
	.def	mode,	val	13,	scl	17,	type	0xd,	endef

	.loc	428
	cmp	%r12,0x0
	xjreq	__L95
	xcmp	%r12,1
	xjreq	__L96
__L95:

	.loc	432
	ld.uh	%r13,%r13
	xld.w	%r12,0x00000056		; 86

	.loc	433
	xjp	__L98
__L96:

	.loc	435
	ld.uh	%r13,%r13
	xld.w	%r12,0x0000005e		; 94
__L98:
	xcall	halWriteReg16

	.loc	438
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	SetLCDPCPol,	val	SetLCDPCPol,	scl	2,	type	0x21,	endef
	.global	SetLCDPCPol

	.loc	448
	.def	ent,	scl	101,	type	0x0,	endef
SetLCDPCPol:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r0,%r12
	.def	mode,	val	0,	scl	17,	type	0xd,	endef

	.loc	449
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	10,	scl	4,	type	0xd,	endef
	xld.w	%r12,0x0000003c		; 60
	xcall	halReadReg16

	.loc	450
	ld.uh	%r0,%r0
	cmp	%r0,0x0
	xjreq	__L100

	.loc	451
	ld.w	%r13,%r10
	xoor	%r13,%r13,0x00000080
	ld.uh	%r13,%r13
	xld.w	%r12,0x0000003c		; 60
	xjp	__L102
__L100:

	.loc	453
	xld.w	%r12,0x0000003c		; 60
	ld.w	%r13,%r10
	xand	%r13,%r13,0x0000ff7f
__L102:
	xcall	halWriteReg16

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

	.loc	464
	.def	ent,	scl	101,	type	0x0,	endef
Write_lcd_com:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r0,%r12
	.def	OutData,	val	0,	scl	17,	type	0xd,	endef

	.loc	465
	.def	begin,	scl	100,	type	0x0,	endef
__L104:

	.loc	469
	xld.w	%r12,0x00000038		; 56
	xcall	halReadReg16

	.loc	470
	xand	%r10,%r10,0x00000001
	xjrne	__L104

	.loc	473
	ld.uh	%r13,%r0
	xld.w	%r12,0x00000034		; 52
	xcall	halWriteReg16

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

	.loc	484
	.def	ent,	scl	101,	type	0x0,	endef
Write_lcd_param:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r0,%r12
	.def	OutData,	val	0,	scl	17,	type	0xd,	endef

	.loc	485
	.def	begin,	scl	100,	type	0x0,	endef
__L109:

	.loc	490
	xld.w	%r12,0x00000038		; 56
	xcall	halReadReg16

	.loc	491
	xand	%r10,%r10,0x00000001
	xjrne	__L109

	.loc	493
	ld.uh	%r13,%r0
	xld.w	%r12,0x00000036		; 54
	xcall	halWriteReg16

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

	.loc	506
	.def	ent,	scl	101,	type	0x0,	endef
Write_lcd_param_loop:
;	.frame	%sp,16,$31		# vars= 0, regs= 4/0, args= 0, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	ld.w	%r1,%r13
	ld.w	%r2,%r12
	.def	Datamax,	val	2,	scl	17,	type	0xd,	endef
	.def	pOutData,	val	1,	scl	17,	type	0x1d,	endef

	.loc	507
	.def	begin,	scl	100,	type	0x0,	endef
	.def	i,	val	0,	scl	4,	type	0xd,	endef

	.loc	510
	ld.w	%r0,0x0
	ld.uh	%r10,%r2
	cmp	%r10,0x0
	xjreq	__L115
__L118:

	.loc	514
	xld.w	%r12,0x00000038		; 56
	xcall	halReadReg16

	.loc	515
	xand	%r10,%r10,0x00000001
	xjrne	__L118

	.loc	517
	xld.uh	%r13,[%r1]
	xld.w	%r12,0x00000036		; 54
	xcall	halWriteReg16

	.loc	519
	xadd	%r1,%r1,2

	.loc	510
	xadd	%r0,%r0,1
	ld.uh	%r11,%r0
	ld.uh	%r10,%r2
	cmp	%r11,%r10
	xjrult	__L118
__L115:

	.loc	521
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r2
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	SetAutoTransferMode,	val	SetAutoTransferMode,	scl	2,	type	0x21,	endef
	.global	SetAutoTransferMode

	.loc	531
	.def	ent,	scl	101,	type	0x0,	endef
SetAutoTransferMode:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r0,%r12
	.def	mode,	val	0,	scl	17,	type	0xd,	endef

	.loc	532
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	10,	scl	4,	type	0xd,	endef
	xld.w	%r12,0x0000003c		; 60
	xcall	halReadReg16

	.loc	533
	ld.uh	%r0,%r0
	cmp	%r0,0x0
	xjreq	__L124

	.loc	534
	ld.w	%r13,%r10
	xoor	%r13,%r13,0x00000001
	ld.uh	%r13,%r13
	xld.w	%r12,0x0000003c		; 60
	xjp	__L126
__L124:

	.loc	536
	xld.w	%r12,0x0000003c		; 60
	ld.w	%r13,%r10
	xand	%r13,%r13,0x0000fffe
__L126:
	xcall	halWriteReg16

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

	.loc	546
	.def	ent,	scl	101,	type	0x0,	endef
TriggerTransfer:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0

	.loc	547
	.def	begin,	scl	100,	type	0x0,	endef
__L128:

	.loc	550
	xld.w	%r12,0x00000038		; 56
	xcall	halReadReg16

	.loc	551
	xand	%r10,%r10,0x00000001
	xjrne	__L128

	.loc	553
	xld.w	%r12,0x0000003a		; 58
	xld.w	%r13,0x00000001		; 1
	xcall	halWriteReg16

	.loc	554
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	SetSerialLcdClkDivide,	val	SetSerialLcdClkDivide,	scl	2,	type	0x21,	endef
	.global	SetSerialLcdClkDivide

	.loc	564
	.def	ent,	scl	101,	type	0x0,	endef
SetSerialLcdClkDivide:
;	.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,%r0
	.def	divide,	val	1,	scl	17,	type	0xd,	endef

	.loc	565
	.def	begin,	scl	100,	type	0x0,	endef
	xld.w	%r12,0x00000030		; 48
	xcall	halReadReg16
	ld.w	%r13,%r10
	xand	%r13,%r13,0x0000f8ff

	.loc	566
	xsub	%r0,%r0,2
	ld.uh	%r0,%r0
	xcmp	%r0,14
	xjrugt	__L132

	.loc	568
	ld.uh	%r10,%r1
	xsrl	%r10,1
	xsub	%r10,%r10,1
	xand	%r10,%r10,0x00000007
	xsll	%r10,8

	.loc	570
	xld.w	%r12,0x00000030		; 48
	or	%r13,%r10
	xcall	halWriteReg16

	.loc	571
	.def	bend,	scl	110,	type	0x0,	endef
__L132:
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetSerialLcdClkDivide,	val	GetSerialLcdClkDivide,	scl	2,	type	0x2f,	endef
	.global	GetSerialLcdClkDivide

	.loc	580
	.def	ent,	scl	101,	type	0x0,	endef
GetSerialLcdClkDivide:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0

	.loc	581
	xld.w	%r12,0x00000030		; 48
	xcall	halReadReg16
	ld.uh	%r10,%r10
	xsrl	%r10,8
	xand	%r10,%r10,0x00000007
	xadd	%r10,%r10,1
	xsll	%r10,1

	.loc	582
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetSerialLcdClkFreq,	val	GetSerialLcdClkFreq,	scl	2,	type	0x2f,	endef
	.global	GetSerialLcdClkFreq

	.loc	591
	.def	ent,	scl	101,	type	0x0,	endef
GetSerialLcdClkFreq:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0

	.loc	592
	ld.w	%r12,0x0
	xcall	GetSystemClock
	ld.w	%r0,%r10
	xcall	GetSerialLcdClkDivide
	ld.w	%r12,%r0
	ld.w	%r13,%r10
	xcall	__udivsi3

	.loc	593
	popn	%r0
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	SetSerialBypassMode,	val	SetSerialBypassMode,	scl	2,	type	0x21,	endef
	.global	SetSerialBypassMode

	.loc	603
	.def	ent,	scl	101,	type	0x0,	endef
SetSerialBypassMode:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r0,%r12
	.def	mode,	val	0,	scl	17,	type	0xd,	endef

	.loc	604
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	10,	scl	

⌨️ 快捷键说明

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