📄 hal_host.ps
字号:
.loc 234
xld.w %r10,[HalInfo+328]
xand %r10,%r10,0x00000040
xjrne __L45
.loc 237
xld.w %r10,[gHalMemAddr]
add %r10,%r12
;.set volatile
xld.ub %r10,[%r10]
;.set novolatile
xjp __L48
__L45:
.loc 235
xcall halIndirectReadDisplay8
__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
xld.w %r10,[HalInfo+328]
xand %r10,%r10,0x00000040
xjrne __L50
.loc 245
xld.w %r10,[gHalMemAddr]
add %r10,%r12
;.set volatile
xld.uh %r10,[%r10]
;.set novolatile
xjp __L53
__L50:
.loc 243
xcall halIndirectReadDisplay16
__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
xld.w %r10,[HalInfo+328]
xand %r10,%r10,0x00000040
xjrne __L55
.loc 253
xld.w %r10,[gHalMemAddr]
add %r10,%r12
;.set volatile
xld.w %r10,[%r10]
;.set novolatile
xjp __L57
__L55:
.loc 251
xcall halIndirectReadDisplay32
__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
__L62:
.loc 270
ld.w %r10,%r0
xsll %r10,2
xld.uh %r12,[%r10+HalInfo+332]
.loc 272
xcmp %r12,65519
xjrugt __L63
.loc 274
xld.uh %r13,[%r10+HalInfo+334]
xcall halWriteReg16
.loc 279
xjp __L61
__L63:
.loc 282
xcmp %r12,65533
xjrult __L61
xcmp %r12,65534
xjrule __L61
xcmp %r12,65535
xjrne __L61
.loc 289
xld.w %r0,0x00000108 ; 264
.loc 268
__L61:
xadd %r0,%r0,1
xcmp %r0,263
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
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
xld.w %r2,0x00000400 ; 1024
.loc 330
xld.w %r0,LutInfo
.loc 333
xld.w %r12,0x00000200 ; 512
xcall halReadReg16
xand %r10,%r10,0x00000003
xcmp %r10,1
xjreq __L78
xjrle __L77
xcmp %r10,2
xjreq __L79
xcmp %r10,3
xjreq __L80
__L77:
.loc 336
xld.w %r3,0x00000008 ; 8
xjp __L75
__L78:
.loc 337
xld.w %r3,0x00000010 ; 16
xjp __L75
__L79:
.loc 338
xld.w %r3,0x00000018 ; 24
xjp __L75
__L80:
.loc 339
xld.w %r3,0x00000020 ; 32
__L75:
.loc 343
ld.w %r1,0x0
__L86:
.loc 346
xld.ub %r13,[%r0]
xadd %r0,%r0,1
.loc 347
xld.ub %r10,[%r0]
xsll %r10,8
xadd %r0,%r0,1
.loc 349
ld.w %r12,%r2
or %r13,%r10
xcall halWriteReg16
.loc 350
xadd %r2,%r2,2
.loc 352
xld.ub %r13,[%r0]
xadd %r0,%r0,1
.loc 353
ld.uh %r13,%r13
ld.w %r12,%r2
xcall halWriteReg16
.loc 354
xadd %r2,%r2,2
.loc 343
xadd %r1,%r1,1
xcmp %r1,255
xjrule __L86
.loc 358
xld.w %r2,0x00000800 ; 2048
.loc 360
xcmp %r3,16
xjrne __L88
.loc 362
ld.w %r1,0x0
__L92:
.loc 364
xcmp %r1,31
xjrugt __L93
.loc 365
xld.w %r14,0x000000ff ; 255
mlt.w %r1,%r14
ld.w %r12,%alr
xld.w %r13,0x0000001f ; 31
xcall __udivsi3
ld.w %r0,%r10
xjp __L104
__L93:
.loc 367
xld.w %r0,0x000000ff ; 255
__L104:
ld.w %r3,%r0
.loc 369
xld.w %r14,0x000000ff ; 255
mlt.w %r1,%r14
ld.w %r12,%alr
xld.w %r13,0x0000003f ; 63
xcall __udivsi3
.loc 371
ld.ub %r13,%r10
ld.w %r10,%r13
xsll %r10,8
ld.ub %r13,%r3
.loc 372
ld.w %r12,%r2
or %r13,%r10
xcall halWriteReg16
.loc 373
xadd %r2,%r2,2
.loc 375
ld.ub %r13,%r0
ld.w %r12,%r2
xcall halWriteReg16
.loc 376
xadd %r2,%r2,2
.loc 362
xadd %r1,%r1,1
xcmp %r1,63
xjrule __L92
.loc 378
xjp __L96
__L88:
.loc 381
ld.w %r1,0x0
__L100:
.loc 383
xld.w %r10,0x000000ff ; 255
mlt.w %r1,%r10
ld.w %r12,%alr
xld.w %r13,0x00000007 ; 7
xcall __udivsi3
ld.w %r11,%r10
ld.w %r3,%r11
.loc 385
xcmp %r1,3
xjrugt __L101
.loc 386
xld.w %r10,0x00000055 ; 85
mlt.w %r1,%r10
ld.w %r0,%alr
xjp __L102
__L101:
.loc 388
xld.w %r0,0x000000ff ; 255
__L102:
.loc 390
ld.ub %r10,%r11
xsll %r10,8
ld.ub %r13,%r3
.loc 391
ld.w %r12,%r2
or %r13,%r10
xcall halWriteReg16
.loc 392
xadd %r2,%r2,2
.loc 394
ld.ub %r13,%r0
ld.w %r12,%r2
xcall halWriteReg16
.loc 395
xadd %r2,%r2,2
.loc 381
xadd %r1,%r1,1
xcmp %r1,7
xjrule __L100
__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
xcall halReadReg32
xsll %r10,2
xand %r10,%r10,0x0003fc00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -