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

📄 hal_host.ps

📁 一款SmartPhone的驱动代码
💻 PS
📖 第 1 页 / 共 5 页
字号:
	.loc	413
	ld.w	%r11,0x0
	cmp	%r11,%r10
	xjruge	__L107
__L109:

	.loc	414
	ld.w	%r13,0x0
	xld.w	[%r0],%r13

	.loc	413
	xadd	%r11,%r11,1
	xadd	%r0,%r0,4
	cmp	%r11,%r10
	xjrult	__L109
__L107:

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

	.loc	424
	.def	ent,	scl	101,	type	0x0,	endef
halInitIndirectInterface:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	addr,	val	12,	scl	17,	type	0x1c,	endef

	.loc	425
	xld.w	[pIndirectCmd],%r12

	.loc	426
	xadd	%r12,%r12,2
	xld.w	[pIndirectData8],%r12

	.loc	427
	xld.w	[pIndirectData16],%r12

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

	.loc	438
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectWriteDisplayAddress:
;	.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	addr,	val	0,	scl	17,	type	0xf,	endef

	.loc	439
	ld.uh	%r13,%r0
	xld.w	%r12,0x00000022		; 34
	xcall	halIndirectWriteReg16

	.loc	440
	xld.w	%r12,0x00000024		; 36
	ld.w	%r13,%r0
	xsrl	%r13,16
	xcall	halIndirectWriteReg16

	.loc	441
	xld.w	%r11,[pIndirectCmd]
	xld.w	%r10,0x00000028		; 40
	xld.b	[%r11],%r10

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

	.loc	456
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectWriteReg8:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	index,	val	12,	scl	17,	type	0xf,	endef
	.def	value,	val	13,	scl	17,	type	0xc,	endef

	.loc	457
	xld.w	%r10,[pIndirectCmd]
	xld.b	[%r10],%r12

	.loc	458
	xld.w	%r10,[pIndirectData8]
	xld.b	[%r10],%r13

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

	.loc	462
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectWriteReg16:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	index,	val	12,	scl	17,	type	0xf,	endef
	.def	value,	val	13,	scl	17,	type	0xd,	endef

	.loc	463
	xld.w	%r10,[pIndirectCmd]
	xld.b	[%r10],%r12

	.loc	464
	xld.w	%r10,[pIndirectData16]
	xld.h	[%r10],%r13

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

	.loc	468
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectWriteReg32:
;	.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,%r13
	.def	index,	val	0,	scl	17,	type	0xf,	endef
	.def	value,	val	1,	scl	17,	type	0xf,	endef

	.loc	469
	ld.ub	%r13,%r1
	xcall	halIndirectWriteReg8

	.loc	470
	ld.w	%r13,%r1
	xsrl	%r13,8
	ld.ub	%r13,%r13
	xadd	%r12,%r0,1
	xcall	halIndirectWriteReg8

	.loc	471
	ld.w	%r13,%r1
	xsrl	%r13,16
	ld.ub	%r13,%r13
	xadd	%r12,%r0,2
	xcall	halIndirectWriteReg8

	.loc	472
	xadd	%r12,%r0,3
	ld.w	%r13,%r1
	xsrl	%r13,24
	xcall	halIndirectWriteReg8

	.loc	473
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	halIndirectReadReg8,	val	halIndirectReadReg8,	scl	2,	type	0x2c,	endef
	.global	halIndirectReadReg8

	.loc	485
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectReadReg8:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	index,	val	12,	scl	17,	type	0xf,	endef

	.loc	486
	xld.w	%r10,[pIndirectCmd]
	xld.b	[%r10],%r12

	.loc	488
	xld.w	%r10,[pIndirectData8]
	xld.ub	%r10,[%r10]

	.loc	489
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	halIndirectReadReg16,	val	halIndirectReadReg16,	scl	2,	type	0x2d,	endef
	.global	halIndirectReadReg16

	.loc	492
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectReadReg16:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	index,	val	12,	scl	17,	type	0xf,	endef

	.loc	493
	xld.w	%r10,[pIndirectCmd]
	xld.b	[%r10],%r12

	.loc	495
	xld.w	%r10,[pIndirectData16]
	xld.uh	%r10,[%r10]

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

	.loc	499
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectReadReg32:
;	.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	index,	val	1,	scl	17,	type	0xf,	endef

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

	.loc	502
	xcall	halIndirectReadReg8
	ld.ub	%r0,%r10

	.loc	503
	xadd	%r12,%r1,1
	xcall	halIndirectReadReg8
	ld.ub	%r10,%r10
	xsll	%r10,8
	or	%r0,%r10

	.loc	504
	xadd	%r12,%r1,2
	xcall	halIndirectReadReg8
	ld.ub	%r10,%r10
	xsll	%r10,16
	or	%r0,%r10

	.loc	505
	xadd	%r12,%r1,3
	xcall	halIndirectReadReg8
	ld.ub	%r10,%r10
	xsll	%r10,24

	.loc	507
	or	%r0,%r10
	ld.w	%r10,%r0

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

	.loc	521
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectWriteDisplay8:
;	.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	addr,	val	12,	scl	17,	type	0xf,	endef
	.def	data,	val	0,	scl	17,	type	0xc,	endef

	.loc	522
	xcall	halIndirectWriteDisplayAddress

	.loc	524
	xld.w	%r10,[pIndirectData8]
	xld.b	[%r10],%r0

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

	.loc	528
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectWriteDisplay16:
;	.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	addr,	val	12,	scl	17,	type	0xf,	endef
	.def	data,	val	0,	scl	17,	type	0xd,	endef

	.loc	529
	xcall	halIndirectWriteDisplayAddress

	.loc	531
	xld.w	%r10,[pIndirectData16]
	xld.h	[%r10],%r0

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

	.loc	535
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectWriteDisplay32:
;	.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	addr,	val	12,	scl	17,	type	0xf,	endef
	.def	data,	val	0,	scl	17,	type	0xf,	endef

	.loc	536
	xcall	halIndirectWriteDisplayAddress

	.loc	538
	xld.w	%r10,[pIndirectData8]
	xld.b	[%r10],%r0

	.loc	539
	xld.w	%r11,[pIndirectData8]
	ld.w	%r10,%r0
	xsrl	%r10,8
	xld.b	[%r11],%r10

	.loc	540
	xld.w	%r11,[pIndirectData8]
	ld.w	%r10,%r0
	xsrl	%r10,16
	xld.b	[%r11],%r10

	.loc	541
	xld.w	%r10,[pIndirectData8]
	xsrl	%r0,24
	xld.b	[%r10],%r0

	.loc	542
	popn	%r0
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	halIndirectReadDisplay8,	val	halIndirectReadDisplay8,	scl	2,	type	0x2c,	endef
	.global	halIndirectReadDisplay8

	.loc	554
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectReadDisplay8:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	addr,	val	12,	scl	17,	type	0xf,	endef

	.loc	555
	xcall	halIndirectWriteDisplayAddress

	.loc	557
	xld.w	%r10,[pIndirectData8]
	xld.ub	%r10,[%r10]

	.loc	558
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	halIndirectReadDisplay16,	val	halIndirectReadDisplay16,	scl	2,	type	0x2d,	endef
	.global	halIndirectReadDisplay16

	.loc	561
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectReadDisplay16:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	addr,	val	12,	scl	17,	type	0xf,	endef

	.loc	562
	xcall	halIndirectWriteDisplayAddress

	.loc	564
	xld.w	%r10,[pIndirectData16]
	xld.uh	%r10,[%r10]

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

	.loc	568
	.def	ent,	scl	101,	type	0x0,	endef
halIndirectReadDisplay32:
;	.frame	%sp,4,$

⌨️ 快捷键说明

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