📄 hal_display.ps
字号:
.global GetBitsPerPixel
.loc 94
.def ent, scl 101, type 0x0, endef
GetBitsPerPixel:
; .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 WindowNum, val 0, scl 17, tag __T8, size 4, type 0xa, endef
.loc 95
.def begin, scl 100, type 0x0, endef
.def reg, val 10, scl 4, type 0xd, endef
xld.w %r12,0x00000200 ; 512
xcall halReadReg16
.loc 97
cmp %r0,0x0
xjreq __L41
xcmp %r0,1
xjrne __L41
.loc 110
ld.uh %r10,%r10
xsrl %r10,2
__L41:
xand %r10,%r10,0x00000003
xcmp %r10,1
xjreq __L36
xcmp %r10,3
xjreq __L37
.loc 112
xld.w %r10,0x00000008 ; 8
xjp __L40
__L36:
.loc 113
xld.w %r10,0x00000010 ; 16
xjp __L40
__L37:
.loc 114
xld.w %r10,0x00000020 ; 32
__L40:
.loc 118
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetStride, val SetStride, scl 2, type 0x21, endef
.global SetStride
.loc 128
.def ent, scl 101, type 0x0, endef
SetStride:
; .frame %sp,12,$31 # vars= 0, regs= 3/0, args= 0, extra= 0
; .mask 0x80030000,-4
; .fmask 0x00000000,0
pushn %r1
ld.w %r1,%r13
.def WindowNum, val 12, scl 17, tag __T8, size 4, type 0xa, endef
.def stride, val 1, scl 17, type 0xf, endef
.loc 129
.def begin, scl 100, type 0x0, endef
.def Register, val 0, scl 4, type 0xf, endef
xld.w %r0,0x00000216 ; 534
xcmp %r12,1
xjrne __L43
xld.w %r0,0x0000021e ; 542
__L43:
.loc 130
ld.w %r12,%r0
xcall halReadReg16
xand %r10,%r10,0x0000f000
ld.w %r11,%r1
xand %r11,%r11,0x00000fff
.loc 132
ld.w %r12,%r0
ld.w %r13,%r10
or %r13,%r11
xcall halWriteReg16
.loc 133
.def bend, scl 110, type 0x0, endef
popn %r1
ret
.def end, scl 111, type 0x0, endef
.align 1
.def GetStride, val GetStride, scl 2, type 0x2d, endef
.global GetStride
.loc 142
.def ent, scl 101, type 0x0, endef
GetStride:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.def WindowNum, val 12, scl 17, tag __T8, size 4, type 0xa, endef
.loc 143
.def begin, scl 100, type 0x0, endef
.def Register, val 10, scl 4, type 0xf, endef
xld.w %r10,0x00000216 ; 534
xcmp %r12,1
xjrne __L46
xld.w %r10,0x0000021e ; 542
__L46:
.loc 145
ld.w %r12,%r10
xcall halReadReg16
xand %r10,%r10,0x00000fff
.loc 146
.def bend, scl 110, type 0x0, endef
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetSwivelViewMode, val SetSwivelViewMode, scl 2, type 0x21, endef
.global SetSwivelViewMode
.loc 156
.def ent, scl 101, type 0x0, endef
SetSwivelViewMode:
; .frame %sp,12,$31 # vars= 0, regs= 3/0, args= 0, extra= 0
; .mask 0x80030000,-4
; .fmask 0x00000000,0
pushn %r1
ld.w %r1,%r12
ld.w %r0,%r13
.def WindowNum, val 1, scl 17, tag __T8, size 4, type 0xa, endef
.def mode, val 0, scl 17, type 0xf, endef
.loc 157
.def begin, scl 100, type 0x0, endef
.def reg, val 10, scl 4, type 0xd, endef
xld.w %r12,0x00000202 ; 514
xcall halReadReg16
.loc 159
cmp %r1,0x0
xjreq __L51
xcmp %r1,1
xjreq __L59
__L51:
.loc 163
xand %r10,%r10,0xfffffffc
.loc 164
xcmp %r0,180
xjreq __L55
xjrugt __L58
xcmp %r0,90
xjreq __L54
xjp __L49
__L58:
xcmp %r0,270
xjreq __L56
.loc 166
xjp __L49
__L54:
.loc 167
xoor %r10,%r10,0x00000001
xjp __L49
__L55:
.loc 168
xoor %r10,%r10,0x00000002
xjp __L49
__L56:
.loc 169
xoor %r10,%r10,0x00000003
.loc 171
xjp __L49
__L59:
.loc 174
xand %r10,%r10,0x0000ffcf
.loc 175
xcmp %r0,180
xjreq __L63
xjrugt __L66
xcmp %r0,90
xjreq __L62
xjp __L49
__L66:
xcmp %r0,270
xjreq __L64
.loc 177
xjp __L49
__L62:
.loc 178
xoor %r10,%r10,0x00000010
xjp __L49
__L63:
.loc 179
xoor %r10,%r10,0x00000020
xjp __L49
__L64:
.loc 180
xoor %r10,%r10,0x00000030
__L49:
.loc 185
ld.uh %r13,%r10
xld.w %r12,0x00000202 ; 514
xcall halWriteReg16
.loc 186
.def bend, scl 110, type 0x0, endef
popn %r1
ret
.def end, scl 111, type 0x0, endef
.data
.align 2
aSwivelViewMode.16:
.word 0
.word 90
.word 180
.word 270
.code
.align 1
.def GetSwivelViewMode, val GetSwivelViewMode, scl 2, type 0x2f, endef
.global GetSwivelViewMode
.loc 195
.def ent, scl 101, type 0x0, endef
GetSwivelViewMode:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.def WindowNum, val 12, scl 17, tag __T8, size 4, type 0xa, endef
.loc 196
.def begin, scl 100, type 0x0, endef
.def aSwivelViewMode, val aSwivelViewMode.16, scl 3, dim 4, size 16, type 0x3f, endef
.loc 198
xcmp %r12,1
xjreq __L69
.loc 201
xld.w %r12,0x00000202 ; 514
xcall halReadReg16
xand %r10,%r10,0x00000003
xsll %r10,2
xjp __L72
__L69:
.loc 199
xld.w %r12,0x00000202 ; 514
xcall halReadReg16
ld.uh %r10,%r10
xsrl %r10,2
xand %r10,%r10,0x0000000c
__L72:
xld.w %r10,[%r10+aSwivelViewMode.16]
.loc 202
.def bend, scl 110, type 0x0, endef
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetWinMirror, val SetWinMirror, scl 2, type 0x21, endef
.global SetWinMirror
.loc 214
.def ent, scl 101, type 0x0, endef
SetWinMirror:
; .frame %sp,8,$31 # vars= 0, regs= 2/0, args= 0, extra= 0
; .mask 0x80010000,-4
; .fmask 0x00000000,0
pushn %r0
ld.w %r0,%r13
.def WindowNum, val 12, scl 17, tag __T8, size 4, type 0xa, endef
.def enable, val 0, scl 17, type 0xf, endef
.loc 215
.def begin, scl 100, type 0x0, endef
.def reg, val 13, scl 4, type 0xd, endef
.loc 217
cmp %r12,0x0
xjreq __L76
xcmp %r12,1
xjreq __L78
__L76:
.loc 221
xld.w %r12,0x00000202 ; 514
xcall halReadReg16
xand %r10,%r10,0x0000fff7
ld.w %r13,%r10
.loc 223
cmp %r0,0x0
xjreq __L74
.loc 224
ld.w %r13,%r10
xoor %r13,%r13,0x00000008
.loc 225
xjp __L74
__L78:
.loc 228
xld.w %r12,0x00000202 ; 514
xcall halReadReg16
xand %r10,%r10,0x0000ff7f
ld.w %r13,%r10
.loc 230
cmp %r0,0x0
xjreq __L74
.loc 231
ld.w %r13,%r10
xoor %r13,%r13,0x00000080
__L74:
.loc 235
ld.uh %r13,%r13
xld.w %r12,0x00000202 ; 514
xcall halWriteReg16
.loc 236
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def GetWinMirror, val GetWinMirror, scl 2, type 0x2f, endef
.global GetWinMirror
.loc 245
.def ent, scl 101, type 0x0, endef
GetWinMirror:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.def WindowNum, val 12, scl 17, tag __T8, size 4, type 0xa, endef
.loc 246
ld.w %r10,0x0
.loc 247
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetPixelDoubling, val SetPixelDoubling, scl 2, type 0x21, endef
.global SetPixelDoubling
.loc 261
.def ent, scl 101, type 0x0, endef
SetPixelDoubling:
; .frame %sp,20,$31 # vars= 0, regs= 5/0, args= 0, extra= 0
; .mask 0x800f0000,-4
; .fmask 0x00000000,0
pushn %r3
ld.w %r2,%r12
ld.w %r1,%r13
.def WindowNum, val 2, scl 17, tag __T8, size 4, type 0xa, endef
.def mode, val 1, scl 17, tag __T7, size 4, type 0xa, endef
.loc 262
.def begin, scl 100, type 0x0, endef
.def val, val 0, scl 4, type 0xd, endef
.def index, val 3, scl 4, type 0xf, endef
.loc 265
.loc 268
xld.w %r3,0x00000216 ; 534
.loc 265
xcmp %r2,1
xjrne __L83
.loc 266
xld.w %r3,0x0000021e ; 542
__L83:
.loc 270
ld.w %r12,%r3
xcall halReadReg16
ld.w %r0,%r10
xand %r0,%r0,0x0000cfff
.loc 272
ld.w %r12,%r2
xcall GetSwivelViewMode
xcmp %r10,90
xjreq __L92
xjrule __L88
xcmp %r10,180
xjreq __L88
xcmp %r10,270
xjreq __L92
__L88:
.loc 277
ld.w %r10,%r1
xand %r10,%r10,0x00000001
xjreq __L89
.loc 278
xoor %r0,%r0,0x00001000
__L89:
.loc 280
ld.w %r10,%r1
xand %r10,%r10,0x00000002
xjreq __L85
.loc 281
xoor %r0,%r0,0x00002000
.loc 282
xjp __L85
__L92:
.loc 286
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -