📄 hal_display.ms
字号:
.loc 178
or %r10,0x10 ; xoor %r10,%r10,0x00000010
jp __LX49 ; xjp __L49
__LX63: ; __L63:
.loc 179
ext 0x0 ; xoor %r10,%r10,0x00000020
or %r10,0x20
jp __LX49 ; xjp __L49
__LX64: ; __L64:
.loc 180
ext 0x0 ; xoor %r10,%r10,0x00000030
or %r10,0x30
__LX49: ; __L49:
.loc 185
ld.uh %r13,%r10
ext 0x8 ; xld.w %r12,0x00000202 ; 514
ld.w %r12,0x2
ext halWriteReg16@rh ; xcall halWriteReg16
ext halWriteReg16@rm
call halWriteReg16@rl
.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
cmp %r12,0x1 ; xcmp %r12,1
jreq __LX69 ; xjreq __L69
.loc 201
ext 0x8 ; xld.w %r12,0x00000202 ; 514
ld.w %r12,0x2
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
and %r10,0x3 ; xand %r10,%r10,0x00000003
sll %r10,0x2 ; xsll %r10,2
jp __LX72 ; xjp __L72
__LX69: ; __L69:
.loc 199
ext 0x8 ; xld.w %r12,0x00000202 ; 514
ld.w %r12,0x2
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
ld.uh %r10,%r10
srl %r10,0x2 ; xsrl %r10,2
and %r10,0xc ; xand %r10,%r10,0x0000000c
__LX72: ; __L72:
ext aSwivelViewMode.16+0x0@h ; xld.w %r10,[%r10+aSwivelViewMode.16]
ext aSwivelViewMode.16+0x0@m
ld.w %r9,aSwivelViewMode.16+0x0@l
add %r9,%r10
ld.w %r10,[%r9]
.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
jreq __LX76 ; xjreq __L76
cmp %r12,0x1 ; xcmp %r12,1
jreq __LX78 ; xjreq __L78
__LX76: ; __L76:
.loc 221
ext 0x8 ; xld.w %r12,0x00000202 ; 514
ld.w %r12,0x2
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
ext 0x3ff ; xand %r10,%r10,0x0000fff7
and %r10,0x37
ld.w %r13,%r10
.loc 223
cmp %r0,0x0
jreq __LX74 ; xjreq __L74
.loc 224
ld.w %r13,%r10
or %r13,0x8 ; xoor %r13,%r13,0x00000008
.loc 225
jp __LX74 ; xjp __L74
__LX78: ; __L78:
.loc 228
ext 0x8 ; xld.w %r12,0x00000202 ; 514
ld.w %r12,0x2
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
ext 0x3fd ; xand %r10,%r10,0x0000ff7f
and %r10,0x3f
ld.w %r13,%r10
.loc 230
cmp %r0,0x0
jreq __LX74 ; xjreq __L74
.loc 231
ld.w %r13,%r10
ext 0x2 ; xoor %r13,%r13,0x00000080
or %r13,0x0
__LX74: ; __L74:
.loc 235
ld.uh %r13,%r13
ext 0x8 ; xld.w %r12,0x00000202 ; 514
ld.w %r12,0x2
ext halWriteReg16@rh ; xcall halWriteReg16
ext halWriteReg16@rm
call halWriteReg16@rl
.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
ext 0x8 ; xld.w %r3,0x00000216 ; 534
ld.w %r3,0x16
.loc 265
cmp %r2,0x1 ; xcmp %r2,1
jrne __LX83 ; xjrne __L83
.loc 266
ext 0x8 ; xld.w %r3,0x0000021e ; 542
ld.w %r3,0x1e
__LX83: ; __L83:
.loc 270
ld.w %r12,%r3
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
ld.w %r0,%r10
ext 0x33f ; xand %r0,%r0,0x0000cfff
and %r0,0x3f
.loc 272
ld.w %r12,%r2
call GetSwivelViewMode ; xcall GetSwivelViewMode
ext 0x1 ; xcmp %r10,90
cmp %r10,0x1a
jreq __LX92 ; xjreq __L92
jrule __LX88 ; xjrule __L88
ext 0x2 ; xcmp %r10,180
cmp %r10,0x34
jreq __LX88 ; xjreq __L88
ext 0x4 ; xcmp %r10,270
cmp %r10,0xe
jreq __LX92 ; xjreq __L92
__LX88: ; __L88:
.loc 277
ld.w %r10,%r1
and %r10,0x1 ; xand %r10,%r10,0x00000001
jreq __LX89 ; xjreq __L89
.loc 278
ext 0x40 ; xoor %r0,%r0,0x00001000
or %r0,0x0
__LX89: ; __L89:
.loc 280
ld.w %r10,%r1
and %r10,0x2 ; xand %r10,%r10,0x00000002
jreq __LX85 ; xjreq __L85
.loc 281
ext 0x80 ; xoor %r0,%r0,0x00002000
or %r0,0x0
.loc 282
jp __LX85 ; xjp __L85
__LX92: ; __L92:
.loc 286
ld.w %r10,%r1
and %r10,0x1 ; xand %r10,%r10,0x00000001
jreq __LX93 ; xjreq __L93
.loc 287
ext 0x80 ; xoor %r0,%r0,0x00002000
or %r0,0x0
__LX93: ; __L93:
.loc 289
ld.w %r10,%r1
and %r10,0x2 ; xand %r10,%r10,0x00000002
jreq __LX85 ; xjreq __L85
.loc 290
ext 0x40 ; xoor %r0,%r0,0x00001000
or %r0,0x0
__LX85: ; __L85:
.loc 294
ld.uh %r13,%r0
ld.w %r12,%r3
ext halWriteReg16@rh ; xcall halWriteReg16
ext halWriteReg16@rm
call halWriteReg16@rl
.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
ext 0x8 ; xld.w %r12,0x00000216 ; 534
ld.w %r12,0x16
.loc 310
cmp %r2,0x1 ; xcmp %r2,1
jrne __LX98 ; xjrne __L98
.loc 311
ext 0x8 ; xld.w %r12,0x0000021e ; 542
ld.w %r12,0x1e
__LX98: ; __L98:
.loc 313
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
ld.w %r1,%r10
.loc 315
ld.w %r12,%r2
ext GetSwivelViewMode@rm ; xcall GetSwivelViewMode
call GetSwivelViewMode@rl
ext 0x1 ; xcmp %r10,90
cmp %r10,0x1a
jreq __LX107 ; xjreq __L107
jrule __LX103 ; xjrule __L103
ext 0x2 ; xcmp %r10,180
cmp %r10,0x34
jreq __LX103 ; xjreq __L103
ext 0x4 ; xcmp %r10,270
cmp %r10,0xe
jreq __LX107 ; xjreq __L107
__LX103: ; __L103:
.loc 320
ld.w %r10,%r1
ext 0x40 ; xand %r10,%r10,0x00001000
and %r10,0x0
jreq __LX104 ; xjreq __L104
.loc 321
or %r0,0x1 ; xoor %r0,%r0,0x00000001
__LX104: ; __L104:
.loc 322
ld.w %r10,%r1
ext 0x80 ; xand %r10,%r10,0x00002000
and %r10,0x0
jreq __LX100 ; xjreq __L100
.loc 323
or %r0,0x2 ; xoor %r0,%r0,0x00000002
.loc 324
jp __LX100 ; xjp __L100
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -