📄 hal_lcd.ps
字号:
.loc 411
ld.w %r10,%r12
xsll %r10,7
xand %r10,%r10,0x00000080
xsub %r13,%r13,1
or %r10,%r13
.loc 412
ld.uh %r10,%r10
xld.w %r12,0x00000050 ; 80
ld.w %r13,%r10
xcall halWriteReg16
.loc 413
ld.uh %r0,%r0
xld.w %r12,0x00000052 ; 82
ld.w %r13,%r0
xcall halWriteReg16
.loc 414
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetLcdParallelIf, val SetLcdParallelIf, scl 2, type 0x21, endef
.global SetLcdParallelIf
.loc 427
.def ent, scl 101, type 0x0, endef
SetLcdParallelIf:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.def LcdNum, val 12, scl 17, tag __T15, size 4, type 0xa, endef
.def mode, val 13, scl 17, type 0xd, endef
.loc 428
cmp %r12,0x0
xjreq __L95
xcmp %r12,1
xjreq __L96
__L95:
.loc 432
ld.uh %r13,%r13
xld.w %r12,0x00000056 ; 86
.loc 433
xjp __L98
__L96:
.loc 435
ld.uh %r13,%r13
xld.w %r12,0x0000005e ; 94
__L98:
xcall halWriteReg16
.loc 438
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetLCDPCPol, val SetLCDPCPol, scl 2, type 0x21, endef
.global SetLCDPCPol
.loc 448
.def ent, scl 101, type 0x0, endef
SetLCDPCPol:
; .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 mode, val 0, scl 17, type 0xd, endef
.loc 449
.def begin, scl 100, type 0x0, endef
.def reg, val 10, scl 4, type 0xd, endef
xld.w %r12,0x0000003c ; 60
xcall halReadReg16
.loc 450
ld.uh %r0,%r0
cmp %r0,0x0
xjreq __L100
.loc 451
ld.w %r13,%r10
xoor %r13,%r13,0x00000080
ld.uh %r13,%r13
xld.w %r12,0x0000003c ; 60
xjp __L102
__L100:
.loc 453
xld.w %r12,0x0000003c ; 60
ld.w %r13,%r10
xand %r13,%r13,0x0000ff7f
__L102:
xcall halWriteReg16
.loc 455
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def Write_lcd_com, val Write_lcd_com, scl 2, type 0x21, endef
.global Write_lcd_com
.loc 464
.def ent, scl 101, type 0x0, endef
Write_lcd_com:
; .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 OutData, val 0, scl 17, type 0xd, endef
.loc 465
.def begin, scl 100, type 0x0, endef
__L104:
.loc 469
xld.w %r12,0x00000038 ; 56
xcall halReadReg16
.loc 470
xand %r10,%r10,0x00000001
xjrne __L104
.loc 473
ld.uh %r13,%r0
xld.w %r12,0x00000034 ; 52
xcall halWriteReg16
.loc 474
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def Write_lcd_param, val Write_lcd_param, scl 2, type 0x21, endef
.global Write_lcd_param
.loc 484
.def ent, scl 101, type 0x0, endef
Write_lcd_param:
; .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 OutData, val 0, scl 17, type 0xd, endef
.loc 485
.def begin, scl 100, type 0x0, endef
__L109:
.loc 490
xld.w %r12,0x00000038 ; 56
xcall halReadReg16
.loc 491
xand %r10,%r10,0x00000001
xjrne __L109
.loc 493
ld.uh %r13,%r0
xld.w %r12,0x00000036 ; 54
xcall halWriteReg16
.loc 496
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def Write_lcd_param_loop, val Write_lcd_param_loop, scl 2, type 0x21, endef
.global Write_lcd_param_loop
.loc 506
.def ent, scl 101, type 0x0, endef
Write_lcd_param_loop:
; .frame %sp,16,$31 # vars= 0, regs= 4/0, args= 0, extra= 0
; .mask 0x80070000,-4
; .fmask 0x00000000,0
pushn %r2
ld.w %r1,%r13
ld.w %r2,%r12
.def Datamax, val 2, scl 17, type 0xd, endef
.def pOutData, val 1, scl 17, type 0x1d, endef
.loc 507
.def begin, scl 100, type 0x0, endef
.def i, val 0, scl 4, type 0xd, endef
.loc 510
ld.w %r0,0x0
ld.uh %r10,%r2
cmp %r10,0x0
xjreq __L115
__L118:
.loc 514
xld.w %r12,0x00000038 ; 56
xcall halReadReg16
.loc 515
xand %r10,%r10,0x00000001
xjrne __L118
.loc 517
xld.uh %r13,[%r1]
xld.w %r12,0x00000036 ; 54
xcall halWriteReg16
.loc 519
xadd %r1,%r1,2
.loc 510
xadd %r0,%r0,1
ld.uh %r11,%r0
ld.uh %r10,%r2
cmp %r11,%r10
xjrult __L118
__L115:
.loc 521
.def bend, scl 110, type 0x0, endef
popn %r2
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetAutoTransferMode, val SetAutoTransferMode, scl 2, type 0x21, endef
.global SetAutoTransferMode
.loc 531
.def ent, scl 101, type 0x0, endef
SetAutoTransferMode:
; .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 mode, val 0, scl 17, type 0xd, endef
.loc 532
.def begin, scl 100, type 0x0, endef
.def reg, val 10, scl 4, type 0xd, endef
xld.w %r12,0x0000003c ; 60
xcall halReadReg16
.loc 533
ld.uh %r0,%r0
cmp %r0,0x0
xjreq __L124
.loc 534
ld.w %r13,%r10
xoor %r13,%r13,0x00000001
ld.uh %r13,%r13
xld.w %r12,0x0000003c ; 60
xjp __L126
__L124:
.loc 536
xld.w %r12,0x0000003c ; 60
ld.w %r13,%r10
xand %r13,%r13,0x0000fffe
__L126:
xcall halWriteReg16
.loc 537
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def TriggerTransfer, val TriggerTransfer, scl 2, type 0x21, endef
.global TriggerTransfer
.loc 546
.def ent, scl 101, type 0x0, endef
TriggerTransfer:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.loc 547
.def begin, scl 100, type 0x0, endef
__L128:
.loc 550
xld.w %r12,0x00000038 ; 56
xcall halReadReg16
.loc 551
xand %r10,%r10,0x00000001
xjrne __L128
.loc 553
xld.w %r12,0x0000003a ; 58
xld.w %r13,0x00000001 ; 1
xcall halWriteReg16
.loc 554
.def bend, scl 110, type 0x0, endef
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetSerialLcdClkDivide, val SetSerialLcdClkDivide, scl 2, type 0x21, endef
.global SetSerialLcdClkDivide
.loc 564
.def ent, scl 101, type 0x0, endef
SetSerialLcdClkDivide:
; .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
ld.w %r1,%r0
.def divide, val 1, scl 17, type 0xd, endef
.loc 565
.def begin, scl 100, type 0x0, endef
xld.w %r12,0x00000030 ; 48
xcall halReadReg16
ld.w %r13,%r10
xand %r13,%r13,0x0000f8ff
.loc 566
xsub %r0,%r0,2
ld.uh %r0,%r0
xcmp %r0,14
xjrugt __L132
.loc 568
ld.uh %r10,%r1
xsrl %r10,1
xsub %r10,%r10,1
xand %r10,%r10,0x00000007
xsll %r10,8
.loc 570
xld.w %r12,0x00000030 ; 48
or %r13,%r10
xcall halWriteReg16
.loc 571
.def bend, scl 110, type 0x0, endef
__L132:
popn %r1
ret
.def end, scl 111, type 0x0, endef
.align 1
.def GetSerialLcdClkDivide, val GetSerialLcdClkDivide, scl 2, type 0x2f, endef
.global GetSerialLcdClkDivide
.loc 580
.def ent, scl 101, type 0x0, endef
GetSerialLcdClkDivide:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.loc 581
xld.w %r12,0x00000030 ; 48
xcall halReadReg16
ld.uh %r10,%r10
xsrl %r10,8
xand %r10,%r10,0x00000007
xadd %r10,%r10,1
xsll %r10,1
.loc 582
ret
.def end, scl 111, type 0x0, endef
.align 1
.def GetSerialLcdClkFreq, val GetSerialLcdClkFreq, scl 2, type 0x2f, endef
.global GetSerialLcdClkFreq
.loc 591
.def ent, scl 101, type 0x0, endef
GetSerialLcdClkFreq:
; .frame %sp,8,$31 # vars= 0, regs= 2/0, args= 0, extra= 0
; .mask 0x80010000,-4
; .fmask 0x00000000,0
pushn %r0
.loc 592
ld.w %r12,0x0
xcall GetSystemClock
ld.w %r0,%r10
xcall GetSerialLcdClkDivide
ld.w %r12,%r0
ld.w %r13,%r10
xcall __udivsi3
.loc 593
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetSerialBypassMode, val SetSerialBypassMode, scl 2, type 0x21, endef
.global SetSerialBypassMode
.loc 603
.def ent, scl 101, type 0x0, endef
SetSerialBypassMode:
; .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 mode, val 0, scl 17, type 0xd, endef
.loc 604
.def begin, scl 100, type 0x0, endef
.def reg, val 10, scl
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -