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

📄 hal_host.ms

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

	.loc	274
	ext	HalInfo+0x14e@h	; 	xld.uh	%r13,[%r10+HalInfo+334]
	ext	HalInfo+0x14e@m
	ld.w	%r9,HalInfo+0x14e@l
	add	%r9,%r10
	ld.uh	%r13,[%r9]
	ext	halWriteReg16@rm	; 	xcall	halWriteReg16
	call	halWriteReg16@rl

	.loc	279
	jp	__LX61		; 	xjp	__L61
__LX63:				; __L63:

	.loc	282
	ext	0x3ff		; 	xcmp	%r12,65533
	cmp	%r12,0x3d
	jrult	__LX61		; 	xjrult	__L61
	ext	0x3ff		; 	xcmp	%r12,65534
	cmp	%r12,0x3e
	jrule	__LX61		; 	xjrule	__L61
	ext	0x3ff		; 	xcmp	%r12,65535
	cmp	%r12,0x3f
	jrne	__LX61		; 	xjrne	__L61

	.loc	289
	ext	0x4		; 	xld.w	%r0,0x00000108		; 264
	ld.w	%r0,0x8

	.loc	268
__LX61:				; __L61:
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	ext	0x4		; 	xcmp	%r0,263
	cmp	%r0,0x7
	jrule	__LX62		; 	xjrule	__L62

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

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

	.loc	308
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1

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

	.loc	319
	.def	ent,	scl	101,	type	0x0,	endef
halInitLUT:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3

	.loc	320
	.def	begin,	scl	100,	type	0x0,	endef
	.def	i,	val	1,	scl	4,	type	0xf,	endef
	.def	LutIndex,	val	2,	scl	4,	type	0xf,	endef
	.def	red,	val	3,	scl	4,	type	0xc,	endef
	.def	green,	val	11,	scl	4,	type	0xc,	endef
	.def	blue,	val	0,	scl	4,	type	0xc,	endef
	.def	val,	val	13,	scl	4,	type	0xd,	endef
	.def	PipBpp,	val	3,	scl	4,	type	0xf,	endef
	.def	pLut,	val	0,	scl	4,	type	0x1c,	endef

	.loc	329
	ext	0x10		; 	xld.w	%r2,0x00000400		; 1024
	ld.w	%r2,0x0

	.loc	330
	ext	LutInfo+0x0@h	; 	xld.w	%r0,LutInfo
	ext	LutInfo+0x0@m
	ld.w	%r0,LutInfo+0x0@l

	.loc	333
	ext	0x8		; 	xld.w	%r12,0x00000200		; 512
	ld.w	%r12,0x0
	ext	halReadReg16@rm	; 	xcall	halReadReg16
	call	halReadReg16@rl
	and	%r10,0x3	; 	xand	%r10,%r10,0x00000003
	cmp	%r10,0x1	; 	xcmp	%r10,1
	jreq	__LX78		; 	xjreq	__L78
	jrle	__LX77		; 	xjrle	__L77
	cmp	%r10,0x2	; 	xcmp	%r10,2
	jreq	__LX79		; 	xjreq	__L79
	cmp	%r10,0x3	; 	xcmp	%r10,3
	jreq	__LX80		; 	xjreq	__L80
__LX77:				; __L77:

	.loc	336
	ld.w	%r3,0x8		; 	xld.w	%r3,0x00000008		; 8
	jp	__LX75		; 	xjp	__L75
__LX78:				; __L78:

	.loc	337
	ld.w	%r3,0x10	; 	xld.w	%r3,0x00000010		; 16
	jp	__LX75		; 	xjp	__L75
__LX79:				; __L79:

	.loc	338
	ld.w	%r3,0x18	; 	xld.w	%r3,0x00000018		; 24
	jp	__LX75		; 	xjp	__L75
__LX80:				; __L80:

	.loc	339
	ext	0x0		; 	xld.w	%r3,0x00000020		; 32
	ld.w	%r3,0x20
__LX75:				; __L75:

	.loc	343
	ld.w	%r1,0x0
__LX86:				; __L86:

	.loc	346
	ld.ub	%r13,[%r0]	; 	xld.ub	%r13,[%r0]
	add	%r0,0x1		; 	xadd	%r0,%r0,1

	.loc	347
	ld.ub	%r10,[%r0]	; 	xld.ub	%r10,[%r0]
	sll	%r10,0x8	; 	xsll	%r10,8
	add	%r0,0x1		; 	xadd	%r0,%r0,1

	.loc	349
	ld.w	%r12,%r2
	or	%r13,%r10
	ext	halWriteReg16@rm	; 	xcall	halWriteReg16
	call	halWriteReg16@rl

	.loc	350
	add	%r2,0x2		; 	xadd	%r2,%r2,2

	.loc	352
	ld.ub	%r13,[%r0]	; 	xld.ub	%r13,[%r0]
	add	%r0,0x1		; 	xadd	%r0,%r0,1

	.loc	353
	ld.uh	%r13,%r13
	ld.w	%r12,%r2
	ext	halWriteReg16@rm	; 	xcall	halWriteReg16
	call	halWriteReg16@rl

	.loc	354
	add	%r2,0x2		; 	xadd	%r2,%r2,2

	.loc	343
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	ext	0x3		; 	xcmp	%r1,255
	cmp	%r1,0x3f
	jrule	__LX86		; 	xjrule	__L86

	.loc	358
	ext	0x20		; 	xld.w	%r2,0x00000800		; 2048
	ld.w	%r2,0x0

	.loc	360
	cmp	%r3,0x10	; 	xcmp	%r3,16
	jrne	__LX88		; 	xjrne	__L88

	.loc	362
	ld.w	%r1,0x0
__LX92:				; __L92:

	.loc	364
	cmp	%r1,0x1f	; 	xcmp	%r1,31
	jrugt	__LX93		; 	xjrugt	__L93

	.loc	365
	ext	0x3		; 	xld.w	%r14,0x000000ff		; 255
	ld.w	%r14,0x3f
	mlt.w	%r1,%r14
	ld.w	%r12,%alr
	ld.w	%r13,0x1f	; 	xld.w	%r13,0x0000001f		; 31
	ext	__udivsi3@rh	; 	xcall	__udivsi3
	ext	__udivsi3@rm
	call	__udivsi3@rl
	ld.w	%r0,%r10
	jp	__LX104		; 	xjp	__L104
__LX93:				; __L93:

	.loc	367
	ext	0x3		; 	xld.w	%r0,0x000000ff		; 255
	ld.w	%r0,0x3f
__LX104:				; __L104:
	ld.w	%r3,%r0

	.loc	369
	ext	0x3		; 	xld.w	%r14,0x000000ff		; 255
	ld.w	%r14,0x3f
	mlt.w	%r1,%r14
	ld.w	%r12,%alr
	ext	0x0		; 	xld.w	%r13,0x0000003f		; 63
	ld.w	%r13,0x3f
	ext	__udivsi3@rh	; 	xcall	__udivsi3
	ext	__udivsi3@rm
	call	__udivsi3@rl

	.loc	371
	ld.ub	%r13,%r10
	ld.w	%r10,%r13
	sll	%r10,0x8	; 	xsll	%r10,8
	ld.ub	%r13,%r3

	.loc	372
	ld.w	%r12,%r2
	or	%r13,%r10
	ext	halWriteReg16@rm	; 	xcall	halWriteReg16
	call	halWriteReg16@rl

	.loc	373
	add	%r2,0x2		; 	xadd	%r2,%r2,2

	.loc	375
	ld.ub	%r13,%r0
	ld.w	%r12,%r2
	ext	halWriteReg16@rm	; 	xcall	halWriteReg16
	call	halWriteReg16@rl

	.loc	376
	add	%r2,0x2		; 	xadd	%r2,%r2,2

	.loc	362
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	ext	0x0		; 	xcmp	%r1,63
	cmp	%r1,0x3f
	jrule	__LX92		; 	xjrule	__L92

	.loc	378
	jp	__LX96		; 	xjp	__L96
__LX88:				; __L88:

	.loc	381
	ld.w	%r1,0x0
__LX100:				; __L100:

	.loc	383
	ext	0x3		; 	xld.w	%r10,0x000000ff		; 255
	ld.w	%r10,0x3f
	mlt.w	%r1,%r10
	ld.w	%r12,%alr
	ld.w	%r13,0x7	; 	xld.w	%r13,0x00000007		; 7
	ext	__udivsi3@rh	; 	xcall	__udivsi3
	ext	__udivsi3@rm
	call	__udivsi3@rl
	ld.w	%r11,%r10
	ld.w	%r3,%r11

	.loc	385
	cmp	%r1,0x3		; 	xcmp	%r1,3
	jrugt	__LX101		; 	xjrugt	__L101

	.loc	386
	ext	0x1		; 	xld.w	%r10,0x00000055		; 85
	ld.w	%r10,0x15
	mlt.w	%r1,%r10
	ld.w	%r0,%alr
	jp	__LX102		; 	xjp	__L102
__LX101:				; __L101:

	.loc	388
	ext	0x3		; 	xld.w	%r0,0x000000ff		; 255
	ld.w	%r0,0x3f
__LX102:				; __L102:

	.loc	390
	ld.ub	%r10,%r11
	sll	%r10,0x8	; 	xsll	%r10,8
	ld.ub	%r13,%r3

	.loc	391
	ld.w	%r12,%r2
	or	%r13,%r10
	ext	halWriteReg16@rm	; 	xcall	halWriteReg16
	call	halWriteReg16@rl

	.loc	392
	add	%r2,0x2		; 	xadd	%r2,%r2,2

	.loc	394
	ld.ub	%r13,%r0
	ld.w	%r12,%r2
	ext	halWriteReg16@rm	; 	xcall	halWriteReg16
	call	halWriteReg16@rl

	.loc	395
	add	%r2,0x2		; 	xadd	%r2,%r2,2

	.loc	381
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,0x7		; 	xcmp	%r1,7
	jrule	__LX100		; 	xjrule	__L100
__LX96:				; __L96:

	.loc	398
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r3
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	halpClearVmem,	val	halpClearVmem,	scl	2,	type	0x21,	endef
	.global	halpClearVmem

	.loc	407
	.def	ent,	scl	101,	type	0x0,	endef
halpClearVmem:
;	.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	ptr,	val	0,	scl	17,	type	0x1f,	endef

	.loc	408
	.def	begin,	scl	100,	type	0x0,	endef
	.def	ulNumDwords,	val	10,	scl	4,	type	0xf,	endef
	.def	cnt,	val	11,	scl	4,	type	0xf,	endef

	.loc	411
	ld.w	%r12,0x0
	ext	halReadReg32@rm	; 	xcall	halReadReg32
	call	halReadReg32@rl
	sll	%r10,0x2	; 	xsll	%r10,2
	ext	0xff0		; 	xand	%r10,%r10,0x0003fc00
	and	%r10,0x0

	.loc	413
	ld.w	%r11,0x0
	cmp	%r11,%r10
	jruge	__LX107		; 	xjruge	__L107
__LX109:				; __L109:

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

	.loc	413
	add	%r11,0x1	; 	xadd	%r11,%r11,1
	add	%r0,0x4		; 	xadd	%r0,%r0,4
	cmp	%r11,%r10
	jrult	__LX109		; 	xjrult	__L109
__LX107:				; __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
	ext	pIndirectCmd+0x0@h

⌨️ 快捷键说明

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