📄 hal_display.ms
字号:
; .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, tag __T6, size 4, type 0xa, endef
.loc 39
.def begin, scl 100, type 0x0, endef
.def reg, val 10, scl 4, type 0xd, endef
ext 0x8 ; xld.w %r12,0x00000200 ; 512
ld.w %r12,0x0
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
.loc 40
ext 0x3f3 ; xand %r10,%r10,0x0000fcff
and %r10,0x3f
.loc 41
cmp %r0,0x1 ; xcmp %r0,1
jreq __LX5 ; xjreq __L5
cmp %r0,0x2 ; xcmp %r0,2
jreq __LX6 ; xjreq __L6
.loc 43
jp __LX3 ; xjp __L3
__LX5: ; __L5:
.loc 44
ext 0x4 ; xoor %r10,%r10,0x00000100
or %r10,0x0
jp __LX3 ; xjp __L3
__LX6: ; __L6:
.loc 45
ext 0xc ; xoor %r10,%r10,0x00000300
or %r10,0x0
__LX3: ; __L3:
.loc 47
ld.uh %r13,%r10
ext 0x8 ; xld.w %r12,0x00000200 ; 512
ld.w %r12,0x0
ext halWriteReg16@rh ; xcall halWriteReg16
ext halWriteReg16@rm
call halWriteReg16@rl
.loc 48
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def SetBitsPerPixel, val SetBitsPerPixel, scl 2, type 0x21, endef
.global SetBitsPerPixel
.loc 58
.def ent, scl 101, type 0x0, endef
SetBitsPerPixel:
; .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 bpp, val 0, scl 17, type 0xf, endef
.loc 59
.def begin, scl 100, type 0x0, endef
.def reg, val 10, scl 4, type 0xd, endef
ext 0x8 ; xld.w %r12,0x00000200 ; 512
ld.w %r12,0x0
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
.loc 61
cmp %r1,0x0
jreq __LX11 ; xjreq __L11
cmp %r1,0x1 ; xcmp %r1,1
jreq __LX17 ; xjreq __L17
__LX11: ; __L11:
.loc 65
and %r10,0x3c ; xand %r10,%r10,0xfffffffc
.loc 66
cmp %r0,0x10 ; xcmp %r0,16
jreq __LX13 ; xjreq __L13
ext 0x0 ; xcmp %r0,32
cmp %r0,0x20
jreq __LX14 ; xjreq __L14
jp __LX18 ; xjp __L18
.loc 68
__LX13: ; __L13:
or %r10,0x1 ; xoor %r10,%r10,0x00000001
jp __LX18 ; xjp __L18
__LX14: ; __L14:
.loc 69
or %r10,0x3 ; xoor %r10,%r10,0x00000003
.loc 72
jp __LX18 ; xjp __L18
__LX17: ; __L17:
.loc 75
and %r10,0x33 ; xand %r10,%r10,0xfffffff3
.loc 76
cmp %r0,0x10 ; xcmp %r0,16
jreq __LX19 ; xjreq __L19
ext 0x0 ; xcmp %r0,32
cmp %r0,0x20
jreq __LX20 ; xjreq __L20
jp __LX18 ; xjp __L18
.loc 78
__LX19: ; __L19:
or %r10,0x4 ; xoor %r10,%r10,0x00000004
jp __LX18 ; xjp __L18
__LX20: ; __L20:
.loc 79
or %r10,0xc ; xoor %r10,%r10,0x0000000c
__LX18: ; __L18:
.loc 82
ld.uh %r13,%r10
ext 0x8 ; xld.w %r12,0x00000200 ; 512
ld.w %r12,0x0
ext halWriteReg16@rh ; xcall halWriteReg16
ext halWriteReg16@rm
call halWriteReg16@rl
.loc 85
.def bend, scl 110, type 0x0, endef
popn %r1
ret
.def end, scl 111, type 0x0, endef
.align 1
.def GetBitsPerPixel, val GetBitsPerPixel, scl 2, type 0x2f, endef
.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
ext 0x8 ; xld.w %r12,0x00000200 ; 512
ld.w %r12,0x0
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
.loc 97
cmp %r0,0x0
jreq __LX41 ; xjreq __L41
cmp %r0,0x1 ; xcmp %r0,1
jrne __LX41 ; xjrne __L41
.loc 110
ld.uh %r10,%r10
srl %r10,0x2 ; xsrl %r10,2
__LX41: ; __L41:
and %r10,0x3 ; xand %r10,%r10,0x00000003
cmp %r10,0x1 ; xcmp %r10,1
jreq __LX36 ; xjreq __L36
cmp %r10,0x3 ; xcmp %r10,3
jreq __LX37 ; xjreq __L37
.loc 112
ld.w %r10,0x8 ; xld.w %r10,0x00000008 ; 8
jp __LX40 ; xjp __L40
__LX36: ; __L36:
.loc 113
ld.w %r10,0x10 ; xld.w %r10,0x00000010 ; 16
jp __LX40 ; xjp __L40
__LX37: ; __L37:
.loc 114
ext 0x0 ; xld.w %r10,0x00000020 ; 32
ld.w %r10,0x20
__LX40: ; __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
ext 0x8 ; xld.w %r0,0x00000216 ; 534
ld.w %r0,0x16
cmp %r12,0x1 ; xcmp %r12,1
jrne __LX43 ; xjrne __L43
ext 0x8 ; xld.w %r0,0x0000021e ; 542
ld.w %r0,0x1e
__LX43: ; __L43:
.loc 130
ld.w %r12,%r0
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
ext 0x3c0 ; xand %r10,%r10,0x0000f000
and %r10,0x0
ld.w %r11,%r1
ext 0x3f ; xand %r11,%r11,0x00000fff
and %r11,0x3f
.loc 132
ld.w %r12,%r0
ld.w %r13,%r10
or %r13,%r11
ext halWriteReg16@rh ; xcall halWriteReg16
ext halWriteReg16@rm
call halWriteReg16@rl
.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
ext 0x8 ; xld.w %r10,0x00000216 ; 534
ld.w %r10,0x16
cmp %r12,0x1 ; xcmp %r12,1
jrne __LX46 ; xjrne __L46
ext 0x8 ; xld.w %r10,0x0000021e ; 542
ld.w %r10,0x1e
__LX46: ; __L46:
.loc 145
ld.w %r12,%r10
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
ext 0x3f ; xand %r10,%r10,0x00000fff
and %r10,0x3f
.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
ext 0x8 ; xld.w %r12,0x00000202 ; 514
ld.w %r12,0x2
ext halReadReg16@rh ; xcall halReadReg16
ext halReadReg16@rm
call halReadReg16@rl
.loc 159
cmp %r1,0x0
jreq __LX51 ; xjreq __L51
cmp %r1,0x1 ; xcmp %r1,1
jreq __LX59 ; xjreq __L59
__LX51: ; __L51:
.loc 163
and %r10,0x3c ; xand %r10,%r10,0xfffffffc
.loc 164
ext 0x2 ; xcmp %r0,180
cmp %r0,0x34
jreq __LX55 ; xjreq __L55
jrugt __LX58 ; xjrugt __L58
ext 0x1 ; xcmp %r0,90
cmp %r0,0x1a
jreq __LX54 ; xjreq __L54
jp __LX49 ; xjp __L49
__LX58: ; __L58:
ext 0x4 ; xcmp %r0,270
cmp %r0,0xe
jreq __LX56 ; xjreq __L56
.loc 166
jp __LX49 ; xjp __L49
__LX54: ; __L54:
.loc 167
or %r10,0x1 ; xoor %r10,%r10,0x00000001
jp __LX49 ; xjp __L49
__LX55: ; __L55:
.loc 168
or %r10,0x2 ; xoor %r10,%r10,0x00000002
jp __LX49 ; xjp __L49
__LX56: ; __L56:
.loc 169
or %r10,0x3 ; xoor %r10,%r10,0x00000003
.loc 171
jp __LX49 ; xjp __L49
__LX59: ; __L59:
.loc 174
ext 0x3ff ; xand %r10,%r10,0x0000ffcf
and %r10,0xf
.loc 175
ext 0x2 ; xcmp %r0,180
cmp %r0,0x34
jreq __LX63 ; xjreq __L63
jrugt __LX66 ; xjrugt __L66
ext 0x1 ; xcmp %r0,90
cmp %r0,0x1a
jreq __LX62 ; xjreq __L62
jp __LX49 ; xjp __L49
__LX66: ; __L66:
ext 0x4 ; xcmp %r0,270
cmp %r0,0xe
jreq __LX64 ; xjreq __L64
.loc 177
jp __LX49 ; xjp __L49
__LX62: ; __L62:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -