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

📄 hal_host.ms

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

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

	.loc	174
	.def	ent,	scl	101,	type	0x0,	endef
halWriteDisplay8:
;	.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	Offset,	val	12,	scl	17,	type	0xf,	endef
	.def	Value,	val	0,	scl	17,	type	0xc,	endef

	.loc	175
	.def	begin,	scl	100,	type	0x0,	endef
	.def	pMem,	val	10,	scl	4,	type	0x1c,	endef

	.loc	177
	ext	HalInfo+0x148@h	; 	xld.w	%r10,[HalInfo+328]
	ext	HalInfo+0x148@m
	ld.w	%r9,HalInfo+0x148@l
	ld.w	%r10,[%r9]
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jreq	__LX34		; 	xjreq	__L34

	.loc	179
	ext	halIndirectWriteDisplayAddress@rm	; 	xcall	halIndirectWriteDisplayAddress
	call	halIndirectWriteDisplayAddress@rl

	.loc	180
	ext	pIndirectData8+0x0@h	; 	xld.w	%r10,[pIndirectData8]
	ext	pIndirectData8+0x0@m
	ld.w	%r9,pIndirectData8+0x0@l
	ld.w	%r10,[%r9]

	.loc	181
	jp	__LX36		; 	xjp	__L36
__LX34:				; __L34:

	.loc	184
	ext	gHalMemAddr+0x0@h	; 	xld.w	%r10,[gHalMemAddr]
	ext	gHalMemAddr+0x0@m
	ld.w	%r9,gHalMemAddr+0x0@l
	ld.w	%r10,[%r9]
	add	%r12,%r10
	ld.w	%r10,%r12

	.loc	185
__LX36:				; __L36:
	;.set	volatile
	ld.b	[%r10],%r0	; 	xld.b	[%r10],%r0
	;.set	novolatile

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

	.loc	190
	.def	ent,	scl	101,	type	0x0,	endef
halWriteDisplay16:
;	.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	Offset,	val	12,	scl	17,	type	0xf,	endef
	.def	Value,	val	0,	scl	17,	type	0xd,	endef

	.loc	192
	.def	begin,	scl	100,	type	0x0,	endef
	.def	pMem,	val	10,	scl	4,	type	0x1d,	endef

	.loc	193
	ext	HalInfo+0x148@h	; 	xld.w	%r10,[HalInfo+328]
	ext	HalInfo+0x148@m
	ld.w	%r9,HalInfo+0x148@l
	ld.w	%r10,[%r9]
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jreq	__LX38		; 	xjreq	__L38

	.loc	195
	ext	halIndirectWriteDisplayAddress@rm	; 	xcall	halIndirectWriteDisplayAddress
	call	halIndirectWriteDisplayAddress@rl

	.loc	196
	ext	pIndirectData16+0x0@h	; 	xld.w	%r10,[pIndirectData16]
	ext	pIndirectData16+0x0@m
	ld.w	%r9,pIndirectData16+0x0@l
	ld.w	%r10,[%r9]

	.loc	197
	jp	__LX40		; 	xjp	__L40
__LX38:				; __L38:

	.loc	200
	ext	gHalMemAddr+0x0@h	; 	xld.w	%r10,[gHalMemAddr]
	ext	gHalMemAddr+0x0@m
	ld.w	%r9,gHalMemAddr+0x0@l
	ld.w	%r10,[%r9]
	add	%r12,%r10
	ld.w	%r10,%r12

	.loc	201
__LX40:				; __L40:
	;.set	volatile
	ld.h	[%r10],%r0	; 	xld.h	[%r10],%r0
	;.set	novolatile

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

	.loc	206
	.def	ent,	scl	101,	type	0x0,	endef
halWriteDisplay32:
;	.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	Offset,	val	12,	scl	17,	type	0xf,	endef
	.def	Value,	val	0,	scl	17,	type	0xf,	endef

	.loc	207
	.def	begin,	scl	100,	type	0x0,	endef
	.def	pMem,	val	10,	scl	4,	type	0x1f,	endef

	.loc	208
	ext	HalInfo+0x148@h	; 	xld.w	%r10,[HalInfo+328]
	ext	HalInfo+0x148@m
	ld.w	%r9,HalInfo+0x148@l
	ld.w	%r10,[%r9]
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jreq	__LX42		; 	xjreq	__L42

	.loc	210
	ext	halIndirectWriteDisplayAddress@rm	; 	xcall	halIndirectWriteDisplayAddress
	call	halIndirectWriteDisplayAddress@rl

	.loc	211
	ext	pIndirectData8+0x0@h	; 	xld.w	%r10,[pIndirectData8]
	ext	pIndirectData8+0x0@m
	ld.w	%r9,pIndirectData8+0x0@l
	ld.w	%r10,[%r9]
	ld.b	[%r10],%r0	; 	xld.b	[%r10],%r0

	.loc	212
	ext	pIndirectData8+0x0@h	; 	xld.w	%r11,[pIndirectData8]
	ext	pIndirectData8+0x0@m
	ld.w	%r9,pIndirectData8+0x0@l
	ld.w	%r11,[%r9]
	ld.w	%r10,%r0
	srl	%r10,0x8	; 	xsrl	%r10,8
	ld.b	[%r11],%r10	; 	xld.b	[%r11],%r10

	.loc	213
	ext	pIndirectData8+0x0@h	; 	xld.w	%r11,[pIndirectData8]
	ext	pIndirectData8+0x0@m
	ld.w	%r9,pIndirectData8+0x0@l
	ld.w	%r11,[%r9]
	ld.w	%r10,%r0
	srl	%r10,0x8	; 	xsrl	%r10,16
	srl	%r10,0x8
	ld.b	[%r11],%r10	; 	xld.b	[%r11],%r10

	.loc	214
	ext	pIndirectData8+0x0@h	; 	xld.w	%r11,[pIndirectData8]
	ext	pIndirectData8+0x0@m
	ld.w	%r9,pIndirectData8+0x0@l
	ld.w	%r11,[%r9]
	ld.w	%r10,%r0
	srl	%r10,0x8	; 	xsrl	%r10,24
	srl	%r10,0x8
	srl	%r10,0x8
	ld.b	[%r11],%r10	; 	xld.b	[%r11],%r10

	.loc	215
	jp	__LX43		; 	xjp	__L43
__LX42:				; __L42:

	.loc	218
	ext	gHalMemAddr+0x0@h	; 	xld.w	%r10,[gHalMemAddr]
	ext	gHalMemAddr+0x0@m
	ld.w	%r9,gHalMemAddr+0x0@l
	ld.w	%r10,[%r9]
	add	%r12,%r10
	ld.w	%r10,%r12

	.loc	219
	;.set	volatile
	ld.w	[%r10],%r0	; 	xld.w	[%r10],%r0
	;.set	novolatile
__LX43:				; __L43:

	.loc	221
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r0
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	halReadDisplay8,	val	halReadDisplay8,	scl	2,	type	0x2c,	endef
	.global	halReadDisplay8

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

	.loc	234
	ext	HalInfo+0x148@h	; 	xld.w	%r10,[HalInfo+328]
	ext	HalInfo+0x148@m
	ld.w	%r9,HalInfo+0x148@l
	ld.w	%r10,[%r9]
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jrne	__LX45		; 	xjrne	__L45

	.loc	237
	ext	gHalMemAddr+0x0@h	; 	xld.w	%r10,[gHalMemAddr]
	ext	gHalMemAddr+0x0@m
	ld.w	%r9,gHalMemAddr+0x0@l
	ld.w	%r10,[%r9]
	add	%r10,%r12
	;.set	volatile
	ld.ub	%r10,[%r10]	; 	xld.ub	%r10,[%r10]
	;.set	novolatile
	jp	__LX48		; 	xjp	__L48
__LX45:				; __L45:

	.loc	235
	ext	halIndirectReadDisplay8@rm	; 	xcall	halIndirectReadDisplay8
	call	halIndirectReadDisplay8@rl
__LX48:				; __L48:
	ld.ub	%r10,%r10

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

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

	.loc	242
	ext	HalInfo+0x148@h	; 	xld.w	%r10,[HalInfo+328]
	ext	HalInfo+0x148@m
	ld.w	%r9,HalInfo+0x148@l
	ld.w	%r10,[%r9]
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jrne	__LX50		; 	xjrne	__L50

	.loc	245
	ext	gHalMemAddr+0x0@h	; 	xld.w	%r10,[gHalMemAddr]
	ext	gHalMemAddr+0x0@m
	ld.w	%r9,gHalMemAddr+0x0@l
	ld.w	%r10,[%r9]
	add	%r10,%r12
	;.set	volatile
	ld.uh	%r10,[%r10]	; 	xld.uh	%r10,[%r10]
	;.set	novolatile
	jp	__LX53		; 	xjp	__L53
__LX50:				; __L50:

	.loc	243
	ext	halIndirectReadDisplay16@rm	; 	xcall	halIndirectReadDisplay16
	call	halIndirectReadDisplay16@rl
__LX53:				; __L53:
	ld.uh	%r10,%r10

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

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

	.loc	250
	ext	HalInfo+0x148@h	; 	xld.w	%r10,[HalInfo+328]
	ext	HalInfo+0x148@m
	ld.w	%r9,HalInfo+0x148@l
	ld.w	%r10,[%r9]
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jrne	__LX55		; 	xjrne	__L55

	.loc	253
	ext	gHalMemAddr+0x0@h	; 	xld.w	%r10,[gHalMemAddr]
	ext	gHalMemAddr+0x0@m
	ld.w	%r9,gHalMemAddr+0x0@l
	ld.w	%r10,[%r9]
	add	%r10,%r12
	;.set	volatile
	ld.w	%r10,[%r10]	; 	xld.w	%r10,[%r10]
	;.set	novolatile
	jp	__LX57		; 	xjp	__L57
__LX55:				; __L55:

	.loc	251
	ext	halIndirectReadDisplay32@rm	; 	xcall	halIndirectReadDisplay32
	call	halIndirectReadDisplay32@rl
__LX57:				; __L57:

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

	.loc	264
	.def	ent,	scl	101,	type	0x0,	endef
halInitRegisters:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0

	.loc	265
	.def	begin,	scl	100,	type	0x0,	endef
	.def	idx,	val	0,	scl	4,	type	0xf,	endef
	.def	ulIndex,	val	12,	scl	4,	type	0xf,	endef

	.loc	268
	ld.w	%r0,0x0
__LX62:				; __L62:

	.loc	270
	ld.w	%r10,%r0
	sll	%r10,0x2	; 	xsll	%r10,2
	ext	HalInfo+0x14c@h	; 	xld.uh	%r12,[%r10+HalInfo+332]
	ext	HalInfo+0x14c@m
	ld.w	%r9,HalInfo+0x14c@l
	add	%r9,%r10
	ld.uh	%r12,[%r9]

	.loc	272
	ext	0x3ff		; 	xcmp	%r12,65519
	cmp	%r12,0x2f
	jrugt	__LX63		; 	xjrugt	__L63

⌨️ 快捷键说明

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