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

📄 hal_display.ps

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

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

	.loc	95
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	10,	scl	4,	type	0xd,	endef
	xld.w	%r12,0x00000200		; 512
	xcall	halReadReg16

	.loc	97
	cmp	%r0,0x0
	xjreq	__L41
	xcmp	%r0,1
	xjrne	__L41

	.loc	110
	ld.uh	%r10,%r10
	xsrl	%r10,2
__L41:
	xand	%r10,%r10,0x00000003
	xcmp	%r10,1
	xjreq	__L36
	xcmp	%r10,3
	xjreq	__L37

	.loc	112
	xld.w	%r10,0x00000008		; 8
	xjp	__L40
__L36:

	.loc	113
	xld.w	%r10,0x00000010		; 16
	xjp	__L40
__L37:

	.loc	114
	xld.w	%r10,0x00000020		; 32
__L40:

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

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

	.loc	129
	.def	begin,	scl	100,	type	0x0,	endef
	.def	Register,	val	0,	scl	4,	type	0xf,	endef
	xld.w	%r0,0x00000216		; 534
	xcmp	%r12,1
	xjrne	__L43
	xld.w	%r0,0x0000021e		; 542
__L43:

	.loc	130
	ld.w	%r12,%r0
	xcall	halReadReg16
	xand	%r10,%r10,0x0000f000
	ld.w	%r11,%r1
	xand	%r11,%r11,0x00000fff

	.loc	132
	ld.w	%r12,%r0
	ld.w	%r13,%r10
	or	%r13,%r11
	xcall	halWriteReg16

	.loc	133
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	GetStride,	val	GetStride,	scl	2,	type	0x2d,	endef
	.global	GetStride

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

	.loc	143
	.def	begin,	scl	100,	type	0x0,	endef
	.def	Register,	val	10,	scl	4,	type	0xf,	endef
	xld.w	%r10,0x00000216		; 534
	xcmp	%r12,1
	xjrne	__L46
	xld.w	%r10,0x0000021e		; 542
__L46:

	.loc	145
	ld.w	%r12,%r10
	xcall	halReadReg16
	xand	%r10,%r10,0x00000fff

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

	.loc	156
	.def	ent,	scl	101,	type	0x0,	endef
SetSwivelViewMode:
;	.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
	ld.w	%r0,%r13
	.def	WindowNum,	val	1,	scl	17,	tag	__T8,	size	4,	type	0xa,	endef
	.def	mode,	val	0,	scl	17,	type	0xf,	endef

	.loc	157
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	10,	scl	4,	type	0xd,	endef
	xld.w	%r12,0x00000202		; 514
	xcall	halReadReg16

	.loc	159
	cmp	%r1,0x0
	xjreq	__L51
	xcmp	%r1,1
	xjreq	__L59
__L51:

	.loc	163
	xand	%r10,%r10,0xfffffffc

	.loc	164
	xcmp	%r0,180
	xjreq	__L55
	xjrugt	__L58
	xcmp	%r0,90
	xjreq	__L54
	xjp	__L49
__L58:
	xcmp	%r0,270
	xjreq	__L56

	.loc	166
	xjp	__L49
__L54:

	.loc	167
	xoor	%r10,%r10,0x00000001
	xjp	__L49
__L55:

	.loc	168
	xoor	%r10,%r10,0x00000002
	xjp	__L49
__L56:

	.loc	169
	xoor	%r10,%r10,0x00000003

	.loc	171
	xjp	__L49
__L59:

	.loc	174
	xand	%r10,%r10,0x0000ffcf

	.loc	175
	xcmp	%r0,180
	xjreq	__L63
	xjrugt	__L66
	xcmp	%r0,90
	xjreq	__L62
	xjp	__L49
__L66:
	xcmp	%r0,270
	xjreq	__L64

	.loc	177
	xjp	__L49
__L62:

	.loc	178
	xoor	%r10,%r10,0x00000010
	xjp	__L49
__L63:

	.loc	179
	xoor	%r10,%r10,0x00000020
	xjp	__L49
__L64:

	.loc	180
	xoor	%r10,%r10,0x00000030
__L49:

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

	.loc	186
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.data
	.align	2
aSwivelViewMode.16:
	.word	0
	.word	90
	.word	180
	.word	270
	.code
	.align	1
	.def	GetSwivelViewMode,	val	GetSwivelViewMode,	scl	2,	type	0x2f,	endef
	.global	GetSwivelViewMode

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

	.loc	196
	.def	begin,	scl	100,	type	0x0,	endef
	.def	aSwivelViewMode,	val	aSwivelViewMode.16,	scl	3,	dim	4,	size	16,	type	0x3f,	endef

	.loc	198
	xcmp	%r12,1
	xjreq	__L69

	.loc	201
	xld.w	%r12,0x00000202		; 514
	xcall	halReadReg16
	xand	%r10,%r10,0x00000003
	xsll	%r10,2
	xjp	__L72
__L69:

	.loc	199
	xld.w	%r12,0x00000202		; 514
	xcall	halReadReg16
	ld.uh	%r10,%r10
	xsrl	%r10,2
	xand	%r10,%r10,0x0000000c
__L72:
	xld.w	%r10,[%r10+aSwivelViewMode.16]

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

	.loc	214
	.def	ent,	scl	101,	type	0x0,	endef
SetWinMirror:
;	.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	WindowNum,	val	12,	scl	17,	tag	__T8,	size	4,	type	0xa,	endef
	.def	enable,	val	0,	scl	17,	type	0xf,	endef

	.loc	215
	.def	begin,	scl	100,	type	0x0,	endef
	.def	reg,	val	13,	scl	4,	type	0xd,	endef

	.loc	217
	cmp	%r12,0x0
	xjreq	__L76
	xcmp	%r12,1
	xjreq	__L78
__L76:

	.loc	221
	xld.w	%r12,0x00000202		; 514
	xcall	halReadReg16
	xand	%r10,%r10,0x0000fff7
	ld.w	%r13,%r10

	.loc	223
	cmp	%r0,0x0
	xjreq	__L74

	.loc	224
	ld.w	%r13,%r10
	xoor	%r13,%r13,0x00000008

	.loc	225
	xjp	__L74
__L78:

	.loc	228
	xld.w	%r12,0x00000202		; 514
	xcall	halReadReg16
	xand	%r10,%r10,0x0000ff7f
	ld.w	%r13,%r10

	.loc	230
	cmp	%r0,0x0
	xjreq	__L74

	.loc	231
	ld.w	%r13,%r10
	xoor	%r13,%r13,0x00000080
__L74:

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

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

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

	.loc	246
	ld.w	%r10,0x0

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

	.loc	261
	.def	ent,	scl	101,	type	0x0,	endef
SetPixelDoubling:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	ld.w	%r2,%r12
	ld.w	%r1,%r13
	.def	WindowNum,	val	2,	scl	17,	tag	__T8,	size	4,	type	0xa,	endef
	.def	mode,	val	1,	scl	17,	tag	__T7,	size	4,	type	0xa,	endef

	.loc	262
	.def	begin,	scl	100,	type	0x0,	endef
	.def	val,	val	0,	scl	4,	type	0xd,	endef
	.def	index,	val	3,	scl	4,	type	0xf,	endef

	.loc	265

	.loc	268
	xld.w	%r3,0x00000216		; 534

	.loc	265
	xcmp	%r2,1
	xjrne	__L83

	.loc	266
	xld.w	%r3,0x0000021e		; 542
__L83:

	.loc	270
	ld.w	%r12,%r3
	xcall	halReadReg16
	ld.w	%r0,%r10
	xand	%r0,%r0,0x0000cfff

	.loc	272
	ld.w	%r12,%r2
	xcall	GetSwivelViewMode
	xcmp	%r10,90
	xjreq	__L92
	xjrule	__L88
	xcmp	%r10,180
	xjreq	__L88
	xcmp	%r10,270
	xjreq	__L92
__L88:

	.loc	277
	ld.w	%r10,%r1
	xand	%r10,%r10,0x00000001
	xjreq	__L89

	.loc	278
	xoor	%r0,%r0,0x00001000
__L89:

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

	.loc	281
	xoor	%r0,%r0,0x00002000

	.loc	282
	xjp	__L85
__L92:

	.loc	286

⌨️ 快捷键说明

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