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

📄 hal_display.ps

📁 一款SmartPhone的驱动代码
💻 PS
📖 第 1 页 / 共 5 页
字号:
;	.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	451
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	10,	scl	4,	type	0xd,	endef
	xld.w	%r12,0x00000202		; 514
	xcall	halReadReg16

	.loc	453
	ld.uh	%r0,%r0
	cmp	%r0,0x0
	xjreq	__L152

	.loc	454
	xoor	%r10,%r10,0x00000200
	xjp	__L153
__L152:

	.loc	456
	xand	%r10,%r10,0x0000fdff
__L153:

	.loc	458
	ld.uh	%r13,%r10
	xld.w	%r12,0x00000202		; 514
	xcall	halWriteReg16

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

	.loc	472
	.def	ent,	scl	101,	type	0x0,	endef
SetStartAddress:
;	.frame	%sp,16,$31		# vars= 0, regs= 4/0, args= 0, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	ld.w	%r2,%r12
	ld.w	%r0,%r13
	.def	WindowNum,	val	2,	scl	17,	tag	__T8,	size	4,	type	0xa,	endef
	.def	address,	val	0,	scl	17,	type	0xf,	endef

	.loc	473
	.def	begin,	scl	100,	type	0x0,	endef
	.def	bpp,	val	1,	scl	4,	type	0xf,	endef
	xcall	GetBitsPerPixel
	ld.w	%r1,%r10

	.loc	475
	ld.w	%r12,%r2
	xcall	CalculateSwivelViewBias
	add	%r0,%r10

	.loc	477
	xcmp	%r1,16
	xjreq	__L156
	xcmp	%r1,32
	xjrne	__L155
__L156:

	.loc	478
	ld.w	%r10,%r1
	xsrl	%r10,3
	not	%r10,%r10
	add	%r10,1
	and	%r0,%r10
__L155:

	.loc	480
	xcmp	%r2,1
	xjrne	__L157

	.loc	482
	ld.uh	%r13,%r0
	xld.w	%r12,0x00000218		; 536
	xcall	halWriteReg16

	.loc	483
	xld.w	%r12,0x0000021a		; 538

	.loc	484
	xjp	__L159
__L157:

	.loc	487
	ld.uh	%r13,%r0
	xld.w	%r12,0x00000210		; 528
	xcall	halWriteReg16

	.loc	488
	xld.w	%r12,0x00000212		; 530
__L159:
	ld.w	%r13,%r0
	xsrl	%r13,16
	xcall	halWriteReg16

	.loc	490
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r2
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetStartAddress,	val	GetStartAddress,	scl	2,	type	0x2f,	endef
	.global	GetStartAddress

	.loc	499
	.def	ent,	scl	101,	type	0x0,	endef
GetStartAddress:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r1,%r12
	.def	WindowNum,	val	1,	scl	17,	tag	__T8,	size	4,	type	0xa,	endef

	.loc	500
	.def	begin,	scl	100,	type	0x0,	endef
	.def	address,	val	0,	scl	4,	type	0xf,	endef

	.loc	502
	xcmp	%r1,1
	xjrne	__L161

	.loc	503
	xld.w	%r12,0x00000218		; 536
	xcall	halReadReg16
	ld.w	%r0,%r10
	xld.w	%r12,0x0000021a		; 538
	xjp	__L163
__L161:

	.loc	505
	xld.w	%r12,0x00000210		; 528
	xcall	halReadReg16
	ld.w	%r0,%r10
	xld.w	%r12,0x00000212		; 530
__L163:
	xcall	halReadReg16
	ld.uh	%r0,%r0
	ld.uh	%r10,%r10
	xsll	%r10,16
	or	%r0,%r10

	.loc	507
	ld.w	%r12,%r1
	xcall	CalculateSwivelViewBias

	.loc	509
	sub	%r0,%r10
	ld.w	%r10,%r0

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

	.loc	519
	.def	ent,	scl	101,	type	0x0,	endef
SetPipPosition:
;	.frame	%sp,16,$31		# vars= 0, regs= 4/0, args= 0, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	.def	xStart,	val	12,	scl	17,	type	0xf,	endef
	.def	yStart,	val	0,	scl	17,	type	0xf,	endef
	.def	xEnd,	val	1,	scl	17,	type	0xf,	endef
	.def	yEnd,	val	2,	scl	17,	type	0xf,	endef

	.loc	520
	ld.uh	%r13,%r12
	xld.w	%r12,0x00000220		; 544
	xcall	halWriteReg16

	.loc	521
	ld.uh	%r0,%r0
	xld.w	%r12,0x00000222		; 546
	ld.w	%r13,%r0
	xcall	halWriteReg16

	.loc	522
	ld.uh	%r1,%r1
	xld.w	%r12,0x00000224		; 548
	ld.w	%r13,%r1
	xcall	halWriteReg16

	.loc	523
	ld.uh	%r2,%r2
	xld.w	%r12,0x00000226		; 550
	ld.w	%r13,%r2
	xcall	halWriteReg16

	.loc	524
	popn	%r2
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetPipPosition,	val	GetPipPosition,	scl	2,	type	0x21,	endef
	.global	GetPipPosition

	.loc	533
	.def	ent,	scl	101,	type	0x0,	endef
GetPipPosition:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	ld.w	%r0,%r12
	ld.w	%r1,%r13
	ld.w	%r2,%r14
	ld.w	%r3,%r15
	.def	xStart,	val	0,	scl	17,	type	0x1f,	endef
	.def	yStart,	val	1,	scl	17,	type	0x1f,	endef
	.def	xEnd,	val	2,	scl	17,	type	0x1f,	endef
	.def	yEnd,	val	3,	scl	17,	type	0x1f,	endef

	.loc	534
	xld.w	%r12,0x00000220		; 544
	xcall	halReadReg16
	ld.uh	%r10,%r10
	xld.w	[%r0],%r10

	.loc	535
	xld.w	%r12,0x00000222		; 546
	xcall	halReadReg16
	ld.uh	%r10,%r10
	xld.w	[%r1],%r10

	.loc	537
	xld.w	%r12,0x00000224		; 548
	xcall	halReadReg16
	ld.uh	%r10,%r10
	xld.w	[%r2],%r10

	.loc	538
	xld.w	%r12,0x00000226		; 550
	xcall	halReadReg16
	ld.uh	%r10,%r10
	xld.w	[%r3],%r10

	.loc	539
	popn	%r3
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	SetPipSize,	val	SetPipSize,	scl	2,	type	0x21,	endef
	.global	SetPipSize

	.loc	549
	.def	ent,	scl	101,	type	0x0,	endef
SetPipSize:
;	.frame	%sp,36,$31		# vars= 16, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	xsub	%sp,%sp,16
	xld.w	[%sp],%r12
	xld.w	[%sp+4],%r13
	ld.w	%r0,%r14
	ld.w	%r2,%r15
	.def	x1,	val	0,	scl	9,	type	0xf,	endef
	.def	y1,	val	4,	scl	9,	type	0xf,	endef
	.def	width,	val	0,	scl	17,	type	0xf,	endef
	.def	height,	val	2,	scl	17,	type	0xf,	endef

	.loc	550
	.def	begin,	scl	100,	type	0x0,	endef
	.def	xStart,	val	13,	scl	4,	type	0xf,	endef
	.def	yStart,	val	2,	scl	4,	type	0xf,	endef
	.def	xEnd,	val	0,	scl	4,	type	0xf,	endef
	.def	yEnd,	val	1,	scl	4,	type	0xf,	endef
	.def	x2,	val	8,	scl	1,	type	0xf,	endef
	.def	y2,	val	12,	scl	1,	type	0xf,	endef
	.def	OutputPort,	val	1,	scl	4,	tag	__T14,	size	4,	type	0xa,	endef
	.def	PanelWidth,	val	3,	scl	4,	type	0xf,	endef
	.def	PanelHeight,	val	1,	scl	4,	type	0xf,	endef

	.loc	552
	xcall	GetOutputPort
	ld.w	%r1,%r10

	.loc	553
	ld.w	%r12,%r1
	xcall	GetLcdHdp
	ld.w	%r3,%r10

	.loc	554
	ld.w	%r12,%r1
	xcall	GetLcdVdp
	ld.w	%r1,%r10

	.loc	556
	xld.w	%r11,[%sp]
	add	%r11,%r0
	xld.w	[%sp+8],%r11

	.loc	557
	xld.w	%r11,[%sp+4]
	add	%r11,%r2
	xld.w	[%sp+12],%r11

	.loc	559
	ld.w	%r12,0x0
	xcall	GetSwivelViewMode
	xcmp	%r10,90
	xjreq	__L170
	xjrule	__L169
	xcmp	%r10,180
	xjreq	__L171
	xcmp	%r10,270
	xjreq	__L172
__L169:

	.loc	563
	xld.w	%r13,[%sp]

	.loc	564
	xld.w	%r0,[%sp+8]

	.loc	565
	xld.w	%r2,[%sp+4]

	.loc	566
	xld.w	%r1,[%sp+12]

	.loc	567
	xjp	__L167
__L170:

	.loc	570
	xld.w	%r13,[%sp+4]

	.loc	571
	xld.w	%r0,[%sp+12]

	.loc	572
	ld.w	%r2,%r1
	xld.w	%r11,[%sp+8]
	sub	%r2,%r11

	.loc	573
	xld.w	%r11,[%sp]
	sub	%r1,%r11

	.loc	574
	xjp	__L167
__L171:

	.loc	577
	ld.w	%r13,%r3
	xld.w	%r11,[%sp+8]
	sub	%r13,%r11

	.loc	578
	ld.w	%r0,%r3
	xld.w	%r11,[%sp]
	sub	%r0,%r11

	.loc	579
	ld.w	%r2,%r1
	xld.w	%r11,[%sp+12]
	sub	%r2,%r11

	.loc	580
	xld.w	%r11,[%sp+4]
	sub	%r1,%r11

	.loc	581
	xjp	__L167
__L172:

	.loc	584
	ld.w	%r13,%r3
	xld.w	%r11,[%sp+12]
	sub	%r13,%r11

	.loc	585
	ld.w	%r0,%r3
	xld.w	%r11,[%sp+4]
	sub	%r0,%r11

	.loc	586
	xld.w	%r2,[%sp]

	.loc	587
	xld.w	%r1,[%sp+8]
__L167:

	.loc	591
	ld.uh	%r13,%r13
	xld.w	%r12,0x00000220		; 544
	xcall	halWriteReg16

	.loc	592
	xsub	%r13,%r0,1
	ld.uh	%r13,%r13
	xld.w	%r12,0x00000224		; 548
	xcall	halWriteReg16

	.loc	593
	ld.uh	%r13,%r2
	xld.w	%r12,0x00000222		; 546
	xcall	halWriteReg16

	.loc	594
	xsub	%r13,%r1,1
	ld.uh	%r13,%r13
	xld.w	%r12,0x00000226		; 550
	xcall	halWriteReg16

	.loc	595
	.def	bend,	scl	110,	type	0x0,	endef
	xadd	%sp,%sp,16
	popn	%r3
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetPipSize,	val	GetPipSize,	scl	2,	type	0x21,	endef
	.global	GetPipSize

	.loc	604
	.def	ent,	scl	101,	type	0x0,	endef
GetPipSize:
;	.frame	%sp,44,$31		# vars= 24, regs= 5/0, args= 0, extra

⌨️ 快捷键说明

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