📄 hal_power.ps
字号:
.def GetMouseY, val 8, scl 8, type 0x94, endef
.def SetMouseXY, val 12, scl 8, type 0x91, endef
.def GetMouseButton, val 16, scl 8, type 0x94, endef
.def SetMouseRange, val 20, scl 8, type 0x91, endef
.def SuspendMouse, val 24, scl 8, type 0x91, endef
.def ResumeMouse, val 28, scl 8, type 0x91, endef
.def UpdateKeyboard, val 32, scl 8, type 0x94, endef
.def GetKeyboardState, val 36, scl 8, type 0x192, endef
.def SuspendKeyboard, val 40, scl 8, type 0x91, endef
.def ResumeKeyboard, val 44, scl 8, type 0x91, endef
.def SetLeds, val 48, scl 8, type 0x91, endef
.def WaitEvent, val 52, scl 8, type 0x94, endef
.def T_IAL_Input, val 56, scl 102, tag T_IAL_Input, size 56, endef
.def T_IAL_Input, scl 13, tag T_IAL_Input, size 56, type 0x8, endef
.align 1
.def PowerSaveMode, val PowerSaveMode, scl 2, type 0x2d, endef
.global PowerSaveMode
.loc 20
.def ent, scl 101, type 0x0, endef
PowerSaveMode:
; .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
.def enable, val 0, scl 17, type 0xd, endef
.loc 21
.def begin, scl 100, type 0x0, endef
.def reg0012, val 10, scl 4, type 0xd, endef
.def reg0014, val 13, scl 4, type 0xd, endef
.def val16, val 0, scl 4, type 0xd, endef
.def i, val 0, scl 4, type 0xf, endef
.def idx, val 11, scl 4, type 0x5, endef
.def index, val 10, scl 4, type 0xf, endef
.loc 27
xld.w %r12,0x00000014 ; 20
xcall halReadReg16
.loc 29
ld.uh %r0,%r0
cmp %r0,0x0
xjreq __L2
.loc 31
ld.w %r0,0x0
xld.w %r1,0x00000040 ; 64
__L6:
.loc 33
xld.w %r12,0x00000014 ; 20
xcall halReadReg16
ld.w %r13,%r10
.loc 35
ld.w %r10,%r13
and %r10,%r1
ld.uh %r10,%r10
cmp %r10,0x0
xjrne __L4
.loc 31
xadd %r0,%r0,1
xcmp %r0,1048574
xjrule __L6
__L4:
.loc 39
xcmp %r0,1048575
xjrne __L9
.loc 40
ld.w %r10,0x0
xjp __L17
__L9:
.loc 42
xoor %r13,%r13,0x00000001
.loc 43
ld.uh %r13,%r13
xld.w %r12,0x00000014 ; 20
xcall halWriteReg16
.loc 46
xld.w %r12,0x00000012 ; 18
xcall halReadReg16
xoor %r10,%r10,0x00000001
.loc 47
ld.uh %r13,%r10
xld.w %r12,0x00000012 ; 18
.loc 48
xjp __L18
__L2:
.loc 54
xld.w %r0,0x00000001 ; 1
.loc 56
ld.w %r11,0x0
xld.w %r13,0x00000107 ; 263
__L14:
.loc 58
ld.w %r12,%r11
xsll %r12,2
xld.uh %r10,[%r12+HalInfo+332]
.loc 60
xcmp %r10,18
xjrne __L13
.loc 63
xld.uh %r0,[%r12+HalInfo+334]
.loc 56
__L13:
xadd %r11,%r11,1
cmp %r11,%r13
xjrle __L14
.loc 67
xld.w %r12,0x00000012 ; 18
xcall halReadReg16
xand %r10,%r10,0x0000fffe
.loc 68
ld.w %r11,%r0
xand %r11,%r11,0x00000001
.loc 69
xld.w %r12,0x00000012 ; 18
ld.w %r13,%r10
or %r13,%r11
xcall halWriteReg16
.loc 74
xld.w %r12,0x00000014 ; 20
xcall halReadReg16
.loc 75
xld.w %r12,0x00000014 ; 20
ld.w %r13,%r10
xand %r13,%r13,0x0000fffe
__L18:
xcall halWriteReg16
.loc 76
xld.w %r10,0x00000001 ; 1
__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
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
xld.w %r7,0x00000001 ; 1
xld.b [%sp],%r7
.loc 99
ld.w %r2,0x0
.loc 100
ld.w %r3,%r2
.loc 101
xld.w %r11,[HalInfo+288]
.loc 102
cmp %r13,%r11
xjrule __L21
ld.w %r14,%r13
sub %r14,%r11
xjp __L22
__L21:
ld.w %r14,%r11
sub %r14,%r13
__L22:
.loc 103
ld.w %r1,0x0
.loc 106
xld.w %r15,0x0000000f ; 15
xld.w %r6,HalInfo+288
xld.w %r5,[%r6]
__L25:
.loc 108
ld.w %r12,0x0
xadd %r4,%r15,1
__L29:
.loc 110
xadd %r10,%r12,1
mlt.w %r4,%r10
ld.w %r0,%alr
mlt.w %r0,%r5
ld.w %r10,%alr
.loc 112
cmp %r13,%r10
xjrule __L30
ld.w %r7,%r13
sub %r7,%r10
ld.w %r10,%r7
xjp __L31
__L30:
sub %r10,%r13
__L31:
.loc 114
cmp %r10,%r14
xjruge __L28
.loc 116
ld.w %r3,%r15
.loc 117
ld.w %r2,%r12
.loc 118
xadd %r11,%r3,1
xadd %r10,%r2,1
mlt.w %r11,%r10
ld.w %r11,%alr
xld.w %r10,[%r6]
mlt.w %r11,%r10
ld.w %r11,%alr
.loc 119
cmp %r13,%r11
xjrule __L33
ld.w %r14,%r13
sub %r14,%r11
xjp __L28
__L33:
ld.w %r14,%r11
sub %r14,%r13
.loc 108
__L28:
xadd %r12,%r12,1
xcmp %r12,1023
xjrule __L29
.loc 122
xsub %r15,%r15,1
xcmp %r15,-1
xjrne __L25
.loc 130
ld.w %r0,0x0
.loc 134
xld.w %r10,[HalInfo+328]
xand %r10,%r10,0x00000080
xjrne __L37
.loc 136
xld.w %r13,0x00000001 ; 1
xld.w %r15,0x00000001 ; 1
xld.w %r14,-100000000 ; 0xfa0a1f00
__L41:
.loc 138
ld.w %r10,%r15
xsll %r10,%r13
.loc 140
mlt.w %r11,%r10
ld.w %r12,%alr
.loc 142
ld.w %r10,%r12
add %r10,%r14
xcmp %r10,310000000
xjrugt __L40
.loc 151
ld.w %r1,0x0
.loc 153
ld.w %r10,%r12
add %r10,%r14
xcmp %r10,100000000
xjrugt __L43
.loc 154
xld.w %r1,0x00000002 ; 2
xjp __L52
__L43:
.loc 155
xsub %r10,%r12,200000001
xcmp %r10,99999999
xjrugt __L45
.loc 156
xld.w %r1,0x00000005 ; 5
xjp __L52
__L45:
.loc 157
xsub %r10,%r12,300000001
xcmp %r10,109999999
xjrugt __L44
.loc 158
xld.w %r1,0x00000007 ; 7
__L44:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -