📄 hal_display.ps
字号:
ld.w %r10,%r1
xand %r10,%r10,0x00000001
xjreq __L93
.loc 287
xoor %r0,%r0,0x00002000
__L93:
.loc 289
ld.w %r10,%r1
xand %r10,%r10,0x00000002
xjreq __L85
.loc 290
xoor %r0,%r0,0x00001000
__L85:
.loc 294
ld.uh %r13,%r0
ld.w %r12,%r3
xcall halWriteReg16
.loc 296
.def bend, scl 110, type 0x0, endef
popn %r3
ret
.def end, scl 111, type 0x0, endef
.align 1
.def GetPixelDoubling, val GetPixelDoubling, scl 2, tag __T7, size 4, type 0x2a, endef
.global GetPixelDoubling
.loc 305
.def ent, scl 101, type 0x0, endef
GetPixelDoubling:
; .frame %sp,16,$31 # vars= 0, regs= 4/0, args= 0, extra= 0
; .mask 0x80070000,-4
; .fmask 0x00000000,0
pushn %r2
ld.w %r2,%r12
.def WindowNum, val 2, scl 17, tag __T8, size 4, type 0xa, endef
.loc 306
.def begin, scl 100, type 0x0, endef
.def mode, val 0, scl 4, type 0xf, endef
.def reg, val 1, scl 4, type 0xd, endef
ld.w %r0,0x0
.loc 310
.loc 313
xld.w %r12,0x00000216 ; 534
.loc 310
xcmp %r2,1
xjrne __L98
.loc 311
xld.w %r12,0x0000021e ; 542
__L98:
.loc 313
xcall halReadReg16
ld.w %r1,%r10
.loc 315
ld.w %r12,%r2
xcall GetSwivelViewMode
xcmp %r10,90
xjreq __L107
xjrule __L103
xcmp %r10,180
xjreq __L103
xcmp %r10,270
xjreq __L107
__L103:
.loc 320
ld.w %r10,%r1
xand %r10,%r10,0x00001000
xjreq __L104
.loc 321
xoor %r0,%r0,0x00000001
__L104:
.loc 322
ld.w %r10,%r1
xand %r10,%r10,0x00002000
xjreq __L100
.loc 323
xoor %r0,%r0,0x00000002
.loc 324
xjp __L100
__L107:
.loc 327
ld.w %r10,%r1
xand %r10,%r10,0x00001000
xjreq __L108
.loc 328
xoor %r0,%r0,0x00000002
__L108:
.loc 329
ld.w %r10,%r1
xand %r10,%r10,0x00002000
xjreq __L100
.loc 330
xoor %r0,%r0,0x00000001
__L100:
.loc 334
ld.w %r10,%r0
.loc 335
.def bend, scl 110, type 0x0, endef
popn %r2
ret
.def end, scl 111, type 0x0, endef
.align 1
.def CalculateSwivelViewBias, val CalculateSwivelViewBias, scl 2, type 0x2f, endef
.global CalculateSwivelViewBias
.loc 347
.def ent, scl 101, type 0x0, endef
CalculateSwivelViewBias:
; .frame %sp,36,$31 # vars= 16, regs= 5/0, args= 0, extra= 0
; .mask 0x800f0000,-4
; .fmask 0x00000000,0
pushn %r3
xsub %sp,%sp,16
xld.w [%sp],%r12
.def WindowNum, val 0, scl 9, tag __T8, size 4, type 0xa, endef
.loc 348
.def begin, scl 100, type 0x0, endef
.def Bias, val 0, scl 4, type 0xf, endef
.def width, val 1, scl 4, type 0xf, endef
.def height, val 12, scl 4, type 0xf, endef
.def swivel, val 2, scl 4, type 0xf, endef
.def stride, val 4, scl 1, type 0xf, endef
.def bpp, val 8, scl 1, type 0xf, endef
.def skew, val 12, scl 1, type 0xf, endef
.def doubles, val 3, scl 4, type 0xf, endef
.loc 349
xld.w %r12,[%sp]
xcall GetSwivelViewMode
ld.w %r2,%r10
.loc 350
xld.w %r12,[%sp]
xcall GetStride
ld.uh %r10,%r10
xld.w [%sp+4],%r10
.loc 351
xld.w %r12,[%sp]
xcall GetBitsPerPixel
xld.w [%sp+8],%r10
.loc 352
ld.w %r13,%r10
xsrl %r13,3
xld.w [%sp+12],%r13
.loc 353
xld.w %r12,[%sp]
xcall GetPixelDoubling
ld.w %r3,%r10
.loc 355
xld.w %r13,[%sp]
xcmp %r13,1
xjrne __L114
.loc 357
xld.w %r12,0x00000224 ; 548
xcall halReadReg16
ld.w %r0,%r10
xld.w %r12,0x00000220 ; 544
xcall halReadReg16
ld.uh %r1,%r0
ld.uh %r10,%r10
sub %r1,%r10
xadd %r1,%r1,1
.loc 358
xld.w %r12,0x00000226 ; 550
xcall halReadReg16
ld.w %r0,%r10
xld.w %r12,0x00000222 ; 546
xcall halReadReg16
ld.uh %r12,%r0
ld.uh %r10,%r10
sub %r12,%r10
xadd %r12,%r12,1
.loc 359
xjp __L115
__L114:
.loc 362
xcall GetOutputPort
ld.w %r12,%r10
xcall GetLcdHdp
ld.w %r1,%r10
.loc 363
xcall GetOutputPort
ld.w %r12,%r10
xcall GetLcdVdp
ld.w %r12,%r10
__L115:
.loc 366
xcmp %r2,90
xjreq __L123
xjrule __L119
xcmp %r2,180
xjreq __L119
xcmp %r2,270
xjreq __L123
__L119:
.loc 371
ld.w %r10,%r3
xand %r10,%r10,0x00000001
xjreq __L120
.loc 372
xsrl %r1,1
__L120:
.loc 373
ld.w %r10,%r3
xand %r10,%r10,0x00000002
xjreq __L116
.loc 374
xsrl %r12,1
.loc 375
xjp __L116
__L123:
.loc 379
ld.w %r10,%r3
xand %r10,%r10,0x00000001
xjreq __L124
.loc 380
xsrl %r12,1
__L124:
.loc 381
ld.w %r10,%r3
xand %r10,%r10,0x00000002
xjreq __L116
.loc 382
xsrl %r1,1
__L116:
.loc 387
xcmp %r2,90
xjreq __L131
xjrule __L130
xcmp %r2,180
xjreq __L132
xcmp %r2,270
xjreq __L133
__L130:
.loc 390
ld.w %r0,0x0
xjp __L128
__L131:
.loc 391
xld.w %r13,[%sp+8]
mlt.w %r12,%r13
ld.w %r0,%alr
ld.w %r10,%r0
xsrl %r10,3
ld.w %r0,%r10
xjp __L145
__L132:
.loc 392
xld.w %r13,[%sp+8]
mlt.w %r1,%r13
ld.w %r0,%alr
ld.w %r11,%r0
xsrl %r11,3
xsub %r10,%r12,1
xld.w %r13,[%sp+4]
mlt.w %r13,%r10
ld.w %r14,%alr
ld.w %r0,%r11
add %r0,%r14
__L145:
xld.w %r13,[%sp+12]
sub %r0,%r13
xjp __L128
__L133:
.loc 393
xsub %r10,%r1,1
xld.w %r13,[%sp+4]
mlt.w %r13,%r10
ld.w %r0,%alr
__L128:
.loc 396
xld.w %r12,[%sp]
xcall GetWinMirror
cmp %r10,0x0
xjreq __L136
.loc 398
xcmp %r2,90
xjreq __L140
xjrule __L139
xcmp %r2,180
xjreq __L141
xcmp %r2,270
xjreq __L142
__L139:
.loc 401
xld.w %r10,[%sp+4]
xjp __L146
__L140:
.loc 402
ld.w %r0,0x0
xjp __L136
__L141:
.loc 403
xld.w %r10,[%sp+4]
xld.w %r13,[%sp+12]
sub %r10,%r13
sub %r0,%r10
xjp __L136
__L142:
.loc 404
xcall GetOutputPort
ld.w %r12,%r10
xcall GetLcdVdp
__L146:
xld.w %r13,[%sp+12]
sub %r10,%r13
add %r0,%r10
__L136:
.loc 408
ld.w %r10,%r0
.loc 409
.def bend, scl 110, type 0x0, endef
xadd %sp,%sp,16
popn %r3
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetLcdDisplayBlank, val SetLcdDisplayBlank, scl 2, type 0x21, endef
.global SetLcdDisplayBlank
.loc 418
.def ent, scl 101, type 0x0, endef
SetLcdDisplayBlank:
; .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 419
.def begin, scl 100, type 0x0, endef
.def reg, val 10, scl 4, type 0xd, endef
xld.w %r12,0x00000202 ; 514
xcall halReadReg16
.loc 421
ld.uh %r0,%r0
cmp %r0,0x0
xjreq __L148
.loc 422
xoor %r10,%r10,0x00000100
xjp __L149
__L148:
.loc 424
xand %r10,%r10,0x0000feff
__L149:
.loc 426
ld.uh %r13,%r10
xld.w %r12,0x00000202 ; 514
xcall halWriteReg16
.loc 427
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def GetLcdDisplayBlank, val GetLcdDisplayBlank, scl 2, type 0x2f, endef
.global GetLcdDisplayBlank
.loc 436
.def ent, scl 101, type 0x0, endef
GetLcdDisplayBlank:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.loc 437
xld.w %r12,0x00000202 ; 514
xcall halReadReg16
xand %r10,%r10,0x00000100
.loc 438
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetVideoInvert, val SetVideoInvert, scl 2, type 0x21, endef
.global SetVideoInvert
.loc 450
.def ent, scl 101, type 0x0, endef
SetVideoInvert:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -