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

📄 hal_display.ps

📁 一款SmartPhone的驱动代码
💻 PS
📖 第 1 页 / 共 5 页
字号:
	ld.w	%r10,%r1
	xand	%r10,%r10,0x00000001
	xjreq	__L93

	.loc	287
	xoor	%r0,%r0,0x00002000
__L93:

	.loc	289
	ld.w	%r10,%r1
	xand	%r10,%r10,0x00000002
	xjreq	__L85

	.loc	290
	xoor	%r0,%r0,0x00001000
__L85:

	.loc	294
	ld.uh	%r13,%r0
	ld.w	%r12,%r3
	xcall	halWriteReg16

	.loc	296
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r3
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetPixelDoubling,	val	GetPixelDoubling,	scl	2,	tag	__T7,	size	4,	type	0x2a,	endef
	.global	GetPixelDoubling

	.loc	305
	.def	ent,	scl	101,	type	0x0,	endef
GetPixelDoubling:
;	.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
	.def	WindowNum,	val	2,	scl	17,	tag	__T8,	size	4,	type	0xa,	endef

	.loc	306
	.def	begin,	scl	100,	type	0x0,	endef
	.def	mode,	val	0,	scl	4,	type	0xf,	endef
	.def	reg,	val	1,	scl	4,	type	0xd,	endef
	ld.w	%r0,0x0

	.loc	310

	.loc	313
	xld.w	%r12,0x00000216		; 534

	.loc	310
	xcmp	%r2,1
	xjrne	__L98

	.loc	311
	xld.w	%r12,0x0000021e		; 542
__L98:

	.loc	313
	xcall	halReadReg16
	ld.w	%r1,%r10

	.loc	315
	ld.w	%r12,%r2
	xcall	GetSwivelViewMode
	xcmp	%r10,90
	xjreq	__L107
	xjrule	__L103
	xcmp	%r10,180
	xjreq	__L103
	xcmp	%r10,270
	xjreq	__L107
__L103:

	.loc	320
	ld.w	%r10,%r1
	xand	%r10,%r10,0x00001000
	xjreq	__L104

	.loc	321
	xoor	%r0,%r0,0x00000001
__L104:

	.loc	322
	ld.w	%r10,%r1
	xand	%r10,%r10,0x00002000
	xjreq	__L100

	.loc	323
	xoor	%r0,%r0,0x00000002

	.loc	324
	xjp	__L100
__L107:

	.loc	327
	ld.w	%r10,%r1
	xand	%r10,%r10,0x00001000
	xjreq	__L108

	.loc	328
	xoor	%r0,%r0,0x00000002
__L108:

	.loc	329
	ld.w	%r10,%r1
	xand	%r10,%r10,0x00002000
	xjreq	__L100

	.loc	330
	xoor	%r0,%r0,0x00000001
__L100:

	.loc	334
	ld.w	%r10,%r0

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

	.loc	347
	.def	ent,	scl	101,	type	0x0,	endef
CalculateSwivelViewBias:
;	.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
	.def	WindowNum,	val	0,	scl	9,	tag	__T8,	size	4,	type	0xa,	endef

	.loc	348
	.def	begin,	scl	100,	type	0x0,	endef
	.def	Bias,	val	0,	scl	4,	type	0xf,	endef
	.def	width,	val	1,	scl	4,	type	0xf,	endef
	.def	height,	val	12,	scl	4,	type	0xf,	endef
	.def	swivel,	val	2,	scl	4,	type	0xf,	endef
	.def	stride,	val	4,	scl	1,	type	0xf,	endef
	.def	bpp,	val	8,	scl	1,	type	0xf,	endef
	.def	skew,	val	12,	scl	1,	type	0xf,	endef
	.def	doubles,	val	3,	scl	4,	type	0xf,	endef

	.loc	349
	xld.w	%r12,[%sp]
	xcall	GetSwivelViewMode
	ld.w	%r2,%r10

	.loc	350
	xld.w	%r12,[%sp]
	xcall	GetStride
	ld.uh	%r10,%r10
	xld.w	[%sp+4],%r10

	.loc	351
	xld.w	%r12,[%sp]
	xcall	GetBitsPerPixel
	xld.w	[%sp+8],%r10

	.loc	352
	ld.w	%r13,%r10
	xsrl	%r13,3
	xld.w	[%sp+12],%r13

	.loc	353
	xld.w	%r12,[%sp]
	xcall	GetPixelDoubling
	ld.w	%r3,%r10

	.loc	355
	xld.w	%r13,[%sp]
	xcmp	%r13,1
	xjrne	__L114

	.loc	357
	xld.w	%r12,0x00000224		; 548
	xcall	halReadReg16
	ld.w	%r0,%r10
	xld.w	%r12,0x00000220		; 544
	xcall	halReadReg16
	ld.uh	%r1,%r0
	ld.uh	%r10,%r10
	sub	%r1,%r10
	xadd	%r1,%r1,1

	.loc	358
	xld.w	%r12,0x00000226		; 550
	xcall	halReadReg16
	ld.w	%r0,%r10
	xld.w	%r12,0x00000222		; 546
	xcall	halReadReg16
	ld.uh	%r12,%r0
	ld.uh	%r10,%r10
	sub	%r12,%r10
	xadd	%r12,%r12,1

	.loc	359
	xjp	__L115
__L114:

	.loc	362
	xcall	GetOutputPort
	ld.w	%r12,%r10
	xcall	GetLcdHdp
	ld.w	%r1,%r10

	.loc	363
	xcall	GetOutputPort
	ld.w	%r12,%r10
	xcall	GetLcdVdp
	ld.w	%r12,%r10
__L115:

	.loc	366
	xcmp	%r2,90
	xjreq	__L123
	xjrule	__L119
	xcmp	%r2,180
	xjreq	__L119
	xcmp	%r2,270
	xjreq	__L123
__L119:

	.loc	371
	ld.w	%r10,%r3
	xand	%r10,%r10,0x00000001
	xjreq	__L120

	.loc	372
	xsrl	%r1,1
__L120:

	.loc	373
	ld.w	%r10,%r3
	xand	%r10,%r10,0x00000002
	xjreq	__L116

	.loc	374
	xsrl	%r12,1

	.loc	375
	xjp	__L116
__L123:

	.loc	379
	ld.w	%r10,%r3
	xand	%r10,%r10,0x00000001
	xjreq	__L124

	.loc	380
	xsrl	%r12,1
__L124:

	.loc	381
	ld.w	%r10,%r3
	xand	%r10,%r10,0x00000002
	xjreq	__L116

	.loc	382
	xsrl	%r1,1
__L116:

	.loc	387
	xcmp	%r2,90
	xjreq	__L131
	xjrule	__L130
	xcmp	%r2,180
	xjreq	__L132
	xcmp	%r2,270
	xjreq	__L133
__L130:

	.loc	390
	ld.w	%r0,0x0
	xjp	__L128
__L131:

	.loc	391
	xld.w	%r13,[%sp+8]
	mlt.w	%r12,%r13
	ld.w	%r0,%alr
	ld.w	%r10,%r0
	xsrl	%r10,3
	ld.w	%r0,%r10
	xjp	__L145
__L132:

	.loc	392
	xld.w	%r13,[%sp+8]
	mlt.w	%r1,%r13
	ld.w	%r0,%alr
	ld.w	%r11,%r0
	xsrl	%r11,3
	xsub	%r10,%r12,1
	xld.w	%r13,[%sp+4]
	mlt.w	%r13,%r10
	ld.w	%r14,%alr
	ld.w	%r0,%r11
	add	%r0,%r14
__L145:
	xld.w	%r13,[%sp+12]
	sub	%r0,%r13
	xjp	__L128
__L133:

	.loc	393
	xsub	%r10,%r1,1
	xld.w	%r13,[%sp+4]
	mlt.w	%r13,%r10
	ld.w	%r0,%alr
__L128:

	.loc	396
	xld.w	%r12,[%sp]
	xcall	GetWinMirror
	cmp	%r10,0x0
	xjreq	__L136

	.loc	398
	xcmp	%r2,90
	xjreq	__L140
	xjrule	__L139
	xcmp	%r2,180
	xjreq	__L141
	xcmp	%r2,270
	xjreq	__L142
__L139:

	.loc	401
	xld.w	%r10,[%sp+4]
	xjp	__L146
__L140:

	.loc	402
	ld.w	%r0,0x0
	xjp	__L136
__L141:

	.loc	403
	xld.w	%r10,[%sp+4]
	xld.w	%r13,[%sp+12]
	sub	%r10,%r13
	sub	%r0,%r10
	xjp	__L136
__L142:

	.loc	404
	xcall	GetOutputPort
	ld.w	%r12,%r10
	xcall	GetLcdVdp
__L146:
	xld.w	%r13,[%sp+12]
	sub	%r10,%r13
	add	%r0,%r10
__L136:

	.loc	408
	ld.w	%r10,%r0

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

	.loc	418
	.def	ent,	scl	101,	type	0x0,	endef
SetLcdDisplayBlank:
;	.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	419
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	10,	scl	4,	type	0xd,	endef
	xld.w	%r12,0x00000202		; 514
	xcall	halReadReg16

	.loc	421
	ld.uh	%r0,%r0
	cmp	%r0,0x0
	xjreq	__L148

	.loc	422
	xoor	%r10,%r10,0x00000100
	xjp	__L149
__L148:

	.loc	424
	xand	%r10,%r10,0x0000feff
__L149:

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

	.loc	427
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r0
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetLcdDisplayBlank,	val	GetLcdDisplayBlank,	scl	2,	type	0x2f,	endef
	.global	GetLcdDisplayBlank

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

	.loc	437
	xld.w	%r12,0x00000202		; 514
	xcall	halReadReg16
	xand	%r10,%r10,0x00000100

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

	.loc	450
	.def	ent,	scl	101,	type	0x0,	endef
SetVideoInvert:

⌨️ 快捷键说明

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