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

📄 hal_lcd.ms

📁 一款SmartPhone的驱动代码
💻 MS
📖 第 1 页 / 共 5 页
字号:
	ld.w	%r9,__L80+0x0@l
	add	%r9,%r10
	ld.w	%r10,[%r9]
	jp	%r10
	.code
	.align	2
__L80:
	.word	__L74
	.word	__L75
	.word	__L76
	.word	__L77
	.word	__L78
	.code

	.loc	303
__L74:
	ld.w	%r10,0x9	; 	xld.w	%r10,0x00000009		; 9
	jp	__LX81		; 	xjp	__L81
__L75:

	.loc	304
	ld.w	%r10,0xc	; 	xld.w	%r10,0x0000000c		; 12
	jp	__LX81		; 	xjp	__L81
__L76:

	.loc	305
	ld.w	%r10,0x10	; 	xld.w	%r10,0x00000010		; 16
	jp	__LX81		; 	xjp	__L81
__L77:

	.loc	306
	ld.w	%r10,0x12	; 	xld.w	%r10,0x00000012		; 18
	jp	__LX81		; 	xjp	__L81
__L78:

	.loc	307
	ld.w	%r10,0x18	; 	xld.w	%r10,0x00000018		; 24
	jp	__LX81		; 	xjp	__L81
__LX79:				; __L79:

	.loc	308
	ext	0x3ff		; 	xld.w	%r10,0x0000ffff		; 65535
	ld.w	%r10,0x3f
__LX81:				; __L81:

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

	.loc	320
	.def	ent,	scl	101,	type	0x0,	endef
SetRGBPanelClkPol:
;	.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	321
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	10,	scl	4,	type	0xd,	endef
	ext	0x0		; 	xld.w	%r12,0x00000032		; 50
	ld.w	%r12,0x32
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	322
	ld.uh	%r0,%r0
	cmp	%r0,0x0
	jreq	__LX83		; 	xjreq	__L83

	.loc	323
	ld.w	%r13,%r10
	ext	0x2		; 	xoor	%r13,%r13,0x00000080
	or	%r13,0x0
	ld.uh	%r13,%r13
	ext	0x0		; 	xld.w	%r12,0x00000032		; 50
	ld.w	%r12,0x32
	jp	__LX85		; 	xjp	__L85
__LX83:				; __L83:

	.loc	325
	ext	0x0		; 	xld.w	%r12,0x00000032		; 50
	ld.w	%r12,0x32
	ld.w	%r13,%r10
	ext	0x3fd		; 	xand	%r13,%r13,0x0000ff7f
	and	%r13,0x3f
__LX85:				; __L85:
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

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

	.loc	336
	.def	ent,	scl	101,	type	0x0,	endef
SetRGBPanelType:
;	.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	type,	val	12,	scl	17,	type	0xd,	endef

	.loc	337
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	10,	scl	4,	type	0xd,	endef
	ext	0x0		; 	xld.w	%r12,0x00000032		; 50
	ld.w	%r12,0x32
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl
	ext	0xf		; 	xand	%r10,%r10,0x000003ff
	and	%r10,0x3f

	.loc	338
	sll	%r0,0x8		; 	xsll	%r0,10
	sll	%r0,0x2
	or	%r10,%r0

	.loc	339
	ld.uh	%r10,%r10
	ext	0x0		; 	xld.w	%r12,0x00000032		; 50
	ld.w	%r12,0x32
	ld.w	%r13,%r10
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	340
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r0
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetRGBPanelType,	val	GetRGBPanelType,	scl	2,	type	0x2d,	endef
	.global	GetRGBPanelType

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

	.loc	350
	ext	0x0		; 	xld.w	%r12,0x00000032		; 50
	ld.w	%r12,0x32
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl
	ld.uh	%r10,%r10
	srl	%r10,0x8	; 	xsrl	%r10,10
	srl	%r10,0x2

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

	.loc	361
	.def	ent,	scl	101,	type	0x0,	endef
SetLcdHVTotal:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	.def	HorizTotal,	val	12,	scl	17,	type	0xd,	endef
	.def	VertTotal,	val	0,	scl	17,	type	0xd,	endef

	.loc	362
	ld.uh	%r10,%r12
	srl	%r10,0x3	; 	xsrl	%r10,3
	sub	%r10,0x1	; 	xsub	%r10,%r10,1

	.loc	363
	ext	0x1		; 	xsub	%r0,%r13,1
	sub	%r0,%r13
	ext	0xf		; 	xand	%r0,%r0,0x000003ff
	and	%r0,0x3f

	.loc	365
	ext	0x1		; 	xld.w	%r12,0x00000040		; 64
	ld.w	%r12,0x0
	ld.w	%r13,%r10
	ext	0x1		; 	xand	%r13,%r13,0x0000007f
	and	%r13,0x3f
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	366
	ld.uh	%r0,%r0
	ext	0x1		; 	xld.w	%r12,0x0000004a		; 74
	ld.w	%r12,0xa
	ld.w	%r13,%r0
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

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

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

	.loc	377
	ld.uh	%r13,%r12
	ext	0x1		; 	xld.w	%r12,0x00000044		; 68
	ld.w	%r12,0x4
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	378
	ld.uh	%r0,%r0
	ext	0x1		; 	xld.w	%r12,0x0000004e		; 78
	ld.w	%r12,0xe
	ld.w	%r13,%r0
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

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

	.loc	390
	.def	ent,	scl	101,	type	0x0,	endef
SetLcdFpline:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r0,%r14
	.def	FpLinePol,	val	12,	scl	17,	type	0xd,	endef
	.def	FpLineWidth,	val	13,	scl	17,	type	0xd,	endef
	.def	FpLinePos,	val	14,	scl	17,	type	0xd,	endef

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

	.loc	393
	ld.w	%r10,%r12
	sll	%r10,0x7	; 	xsll	%r10,7
	ext	0x2		; 	xand	%r10,%r10,0x00000080
	and	%r10,0x0
	sub	%r13,0x1	; 	xsub	%r13,%r13,1
	or	%r10,%r13

	.loc	394
	ld.uh	%r10,%r10
	ext	0x1		; 	xld.w	%r12,0x00000046		; 70
	ld.w	%r12,0x6
	ld.w	%r13,%r10
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	395
	sub	%r0,0x1		; 	xsub	%r0,%r0,1
	ld.uh	%r0,%r0
	ext	0x1		; 	xld.w	%r12,0x00000048		; 72
	ld.w	%r12,0x8
	ld.w	%r13,%r0
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

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

	.loc	408
	.def	ent,	scl	101,	type	0x0,	endef
SetLcdFPFrame:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r0,%r14
	.def	FPFramePol,	val	12,	scl	17,	type	0xd,	endef
	.def	FPFrameWidth,	val	13,	scl	17,	type	0xd,	endef
	.def	FPFramePos,	val	0,	scl	17,	type	0xd,	endef

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

	.loc	411
	ld.w	%r10,%r12
	sll	%r10,0x7	; 	xsll	%r10,7
	ext	0x2		; 	xand	%r10,%r10,0x00000080
	and	%r10,0x0
	sub	%r13,0x1	; 	xsub	%r13,%r13,1
	or	%r10,%r13

	.loc	412
	ld.uh	%r10,%r10
	ext	0x1		; 	xld.w	%r12,0x00000050		; 80
	ld.w	%r12,0x10
	ld.w	%r13,%r10
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	413
	ld.uh	%r0,%r0
	ext	0x1		; 	xld.w	%r12,0x00000052		; 82
	ld.w	%r12,0x12
	ld.w	%r13,%r0
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.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
	jreq	__LX95		; 	xjreq	__L95
	cmp	%r12,0x1	; 	xcmp	%r12,1
	jreq	__LX96		; 	xjreq	__L96
__LX95:				; __L95:

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

⌨️ 快捷键说明

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