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

📄 hal_power.ms

📁 一款SmartPhone的驱动代码
💻 MS
📖 第 1 页 / 共 4 页
字号:
	ld.uh	%r10,%r10
	cmp	%r10,0x0
	jrne	__LX4		; 	xjrne	__L4

	.loc	31
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	ext	0x1		; 	xcmp	%r0,1048574
	ext	0x1fff
	cmp	%r0,0x3e
	jrule	__LX6		; 	xjrule	__L6
__LX4:				; __L4:

	.loc	39
	ext	0x1		; 	xcmp	%r0,1048575
	ext	0x1fff
	cmp	%r0,0x3f
	jrne	__LX9		; 	xjrne	__L9

	.loc	40
	ld.w	%r10,0x0
	jp	__LX17		; 	xjp	__L17
__LX9:				; __L9:

	.loc	42
	or	%r13,0x1	; 	xoor	%r13,%r13,0x00000001

	.loc	43
	ld.uh	%r13,%r13
	ld.w	%r12,0x14	; 	xld.w	%r12,0x00000014		; 20
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	46
	ld.w	%r12,0x12	; 	xld.w	%r12,0x00000012		; 18
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl
	or	%r10,0x1	; 	xoor	%r10,%r10,0x00000001

	.loc	47
	ld.uh	%r13,%r10
	ld.w	%r12,0x12	; 	xld.w	%r12,0x00000012		; 18

	.loc	48
	jp	__LX18		; 	xjp	__L18
__LX2:				; __L2:

	.loc	54
	ld.w	%r0,0x1		; 	xld.w	%r0,0x00000001		; 1

	.loc	56
	ld.w	%r11,0x0
	ext	0x4		; 	xld.w	%r13,0x00000107		; 263
	ld.w	%r13,0x7
__LX14:				; __L14:

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

	.loc	60
	cmp	%r10,0x12	; 	xcmp	%r10,18
	jrne	__LX13		; 	xjrne	__L13

	.loc	63
	ext	HalInfo+0x14e@h	; 	xld.uh	%r0,[%r12+HalInfo+334]
	ext	HalInfo+0x14e@m
	ld.w	%r9,HalInfo+0x14e@l
	add	%r9,%r12
	ld.uh	%r0,[%r9]

	.loc	56
__LX13:				; __L13:
	add	%r11,0x1	; 	xadd	%r11,%r11,1
	cmp	%r11,%r13
	jrle	__LX14		; 	xjrle	__L14

	.loc	67
	ld.w	%r12,0x12	; 	xld.w	%r12,0x00000012		; 18
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl
	ext	0x3ff		; 	xand	%r10,%r10,0x0000fffe
	and	%r10,0x3e

	.loc	68
	ld.w	%r11,%r0
	and	%r11,0x1	; 	xand	%r11,%r11,0x00000001

	.loc	69
	ld.w	%r12,0x12	; 	xld.w	%r12,0x00000012		; 18
	ld.w	%r13,%r10
	or	%r13,%r11
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	74
	ld.w	%r12,0x14	; 	xld.w	%r12,0x00000014		; 20
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	75
	ld.w	%r12,0x14	; 	xld.w	%r12,0x00000014		; 20
	ld.w	%r13,%r10
	ext	0x3ff		; 	xand	%r13,%r13,0x0000fffe
	and	%r13,0x3e
__LX18:				; __L18:
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	76
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
__LX17:				; __L17:

	.loc	78
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	SetPll,	val	SetPll,	scl	2,	type	0x2c,	endef
	.global	SetPll

	.loc	88
	.def	ent,	scl	101,	type	0x0,	endef
SetPll:
;	.frame	%sp,24,$31		# vars= 4, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1		; 	xsub	%sp,%sp,4
	.def	WhichPll,	val	12,	scl	17,	type	0xd,	endef
	.def	freq,	val	13,	scl	17,	type	0xf,	endef

	.loc	89
	.def	begin,	scl	100,	type	0x0,	endef
	.def	ClosestN,	val	3,	scl	4,	type	0xf,	endef
	.def	ClosestL,	val	2,	scl	4,	type	0xf,	endef
	.def	ClosestPll,	val	11,	scl	4,	type	0xf,	endef
	.def	ClosestDiff,	val	14,	scl	4,	type	0xf,	endef
	.def	n,	val	15,	scl	4,	type	0xf,	endef
	.def	l,	val	12,	scl	4,	type	0xf,	endef
	.def	pll,	val	10,	scl	4,	type	0xf,	endef
	.def	diff,	val	10,	scl	4,	type	0xf,	endef
	.def	ClosestVbits,	val	0,	scl	4,	type	0xf,	endef
	.def	v,	val	10,	scl	4,	type	0xf,	endef
	.def	vBits,	val	13,	scl	4,	type	0xf,	endef
	.def	factor,	val	12,	scl	4,	type	0xf,	endef
	.def	Kv,	val	1,	scl	4,	type	0xf,	endef
	.def	PllProgrammed,	val	0,	scl	1,	type	0xc,	endef

	.loc	93
	ld.w	%r7,0x1		; 	xld.w	%r7,0x00000001		; 1
	ld.b	[%sp+0x0],%r7	; 	xld.b	[%sp],%r7

	.loc	99
	ld.w	%r2,0x0

	.loc	100
	ld.w	%r3,%r2

	.loc	101
	ext	HalInfo+0x120@h	; 	xld.w	%r11,[HalInfo+288]
	ext	HalInfo+0x120@m
	ld.w	%r9,HalInfo+0x120@l
	ld.w	%r11,[%r9]

	.loc	102
	cmp	%r13,%r11
	jrule	__LX21		; 	xjrule	__L21
	ld.w	%r14,%r13
	sub	%r14,%r11
	jp	__LX22		; 	xjp	__L22
__LX21:				; __L21:
	ld.w	%r14,%r11
	sub	%r14,%r13
__LX22:				; __L22:

	.loc	103
	ld.w	%r1,0x0

	.loc	106
	ld.w	%r15,0xf	; 	xld.w	%r15,0x0000000f		; 15
	ext	HalInfo+0x120@h	; 	xld.w	%r6,HalInfo+288
	ext	HalInfo+0x120@m
	ld.w	%r6,HalInfo+0x120@l
	ld.w	%r5,[%r6]	; 	xld.w	%r5,[%r6]
__LX25:				; __L25:

	.loc	108
	ld.w	%r12,0x0
	ext	0x1		; 	xadd	%r4,%r15,1
	add	%r4,%r15
__LX29:				; __L29:

	.loc	110
	ext	0x1		; 	xadd	%r10,%r12,1
	add	%r10,%r12
	mlt.w	%r4,%r10
	ld.w	%r0,%alr
	mlt.w	%r0,%r5
	ld.w	%r10,%alr

	.loc	112
	cmp	%r13,%r10
	jrule	__LX30		; 	xjrule	__L30
	ld.w	%r7,%r13
	sub	%r7,%r10
	ld.w	%r10,%r7
	jp	__LX31		; 	xjp	__L31
__LX30:				; __L30:
	sub	%r10,%r13
__LX31:				; __L31:

	.loc	114
	cmp	%r10,%r14
	jruge	__LX28		; 	xjruge	__L28

	.loc	116
	ld.w	%r3,%r15

	.loc	117
	ld.w	%r2,%r12

	.loc	118
	ext	0x1		; 	xadd	%r11,%r3,1
	add	%r11,%r3
	ext	0x1		; 	xadd	%r10,%r2,1
	add	%r10,%r2
	mlt.w	%r11,%r10
	ld.w	%r11,%alr
	ld.w	%r10,[%r6]	; 	xld.w	%r10,[%r6]
	mlt.w	%r11,%r10
	ld.w	%r11,%alr

	.loc	119
	cmp	%r13,%r11
	jrule	__LX33		; 	xjrule	__L33
	ld.w	%r14,%r13
	sub	%r14,%r11
	jp	__LX28		; 	xjp	__L28
__LX33:				; __L33:
	ld.w	%r14,%r11
	sub	%r14,%r13

	.loc	108
__LX28:				; __L28:
	add	%r12,0x1	; 	xadd	%r12,%r12,1
	ext	0xf		; 	xcmp	%r12,1023
	cmp	%r12,0x3f
	jrule	__LX29		; 	xjrule	__L29

	.loc	122
	sub	%r15,0x1	; 	xsub	%r15,%r15,1
	cmp	%r15,0x3f	; 	xcmp	%r15,-1
	jrne	__LX25		; 	xjrne	__L25

	.loc	130
	ld.w	%r0,0x0

	.loc	134
	ext	HalInfo+0x148@h	; 	xld.w	%r10,[HalInfo+328]
	ext	HalInfo+0x148@m
	ld.w	%r9,HalInfo+0x148@l
	ld.w	%r10,[%r9]
	ext	0x2		; 	xand	%r10,%r10,0x00000080
	and	%r10,0x0
	jrne	__LX37		; 	xjrne	__L37

	.loc	136
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ld.w	%r15,0x1	; 	xld.w	%r15,0x00000001		; 1
	ext	0x1f41		; 	xld.w	%r14,-100000000			; 0xfa0a1f00
	ext	0x87c
	ld.w	%r14,0x0
__LX41:				; __L41:

	.loc	138
	ld.w	%r10,%r15
	ld.w	%r9,%r13	; 	xsll	%r10,%r13
	and	%r9,0x1f
	cmp	%r9,0x8
	jrle	4
	sll	%r10,0x8
	jp.d	-3
	sub	%r9,0x8
	sll	%r10,%r9

	.loc	140
	mlt.w	%r11,%r10
	ld.w	%r12,%alr

	.loc	142
	ld.w	%r10,%r12
	add	%r10,%r14
	ext	0x24f		; 	xcmp	%r10,310000000
	ext	0x8e6
	cmp	%r10,0x0
	jrugt	__LX40		; 	xjrugt	__L40

	.loc	151
	ld.w	%r1,0x0

	.loc	153
	ld.w	%r10,%r12
	add	%r10,%r14
	ext	0xbe		; 	xcmp	%r10,100000000
	ext	0x1784
	cmp	%r10,0x0
	jrugt	__LX43		; 	xjrugt	__L43

	.loc	154
	ld.w	%r1,0x2		; 	xld.w	%r1,0x00000002		; 2
	jp	__LX52		; 	xjp	__L52
__LX43:				; __L43:

	.loc	155
	ld.w	%r10,%r12	; 	xsub	%r10,%r12,200000001
	ext	0x17d
	ext	0xf08
	sub	%r10,0x1
	ext	0xbe		; 	xcmp	%r10,99999999
	ext	0x1783
	cmp	%r10,0x3f
	jrugt	__LX45		; 	xjrugt	__L45

	.loc	156
	ld.w	%r1,0x5		; 	xld.w	%r1,0x00000005		; 5
	jp	__LX52		; 	xjp	__L52
__LX45:				; __L45:

	.loc	157
	ld.w	%r10,%r12	; 	xsub	%r10,%r12,300000001
	ext	0x23c
	ext	0x68c
	sub	%r10,0x1
	ext	0xd1		; 	xcmp	%r10,109999999
	ext	0x19dd
	cmp	%r10,0x3f
	jrugt	__LX44		; 	xjrugt	__L44

	.loc	158
	ld.w	%r1,0x7		; 	xld.w	%r1,0x00000007		; 7
__LX44:				; __L44:

	.loc	160
	cmp	%r1,0x0
	jreq	__LX40		; 	xjreq	__L40
__LX52:				; __L52:

	.loc	162
	ld.w	%r0,%r13

	.loc	163
	jp	__LX39		; 	xjp	__L39

	.loc	136
__LX40:				; __L40:
	add	%r13,0x1	; 	xadd	%r13,%r13,1
	cmp	%r13,0x3	; 	xcmp	%r13,3
	jrule	__LX41		; 	xjrule	__L41
__LX39:				; __L39:

	.loc	168
	cmp	%r0,0x0
	jreq	__LX51		; 	xjreq	__L51
	cmp	%r1,0x0
	jrne	__LX37		; 	xjrne	__L37
__LX51:				; __L51:

	.loc	170

⌨️ 快捷键说明

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