📄 hal_host.ms
字号:
.loc 161
ret
.def end, scl 111, type 0x0, endef
.align 1
.def halWriteDisplay8, val halWriteDisplay8, scl 2, type 0x21, endef
.global halWriteDisplay8
.loc 174
.def ent, scl 101, type 0x0, endef
halWriteDisplay8:
; .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 Offset, val 12, scl 17, type 0xf, endef
.def Value, val 0, scl 17, type 0xc, endef
.loc 175
.def begin, scl 100, type 0x0, endef
.def pMem, val 10, scl 4, type 0x1c, endef
.loc 177
ext HalInfo+0x148@h ; xld.w %r10,[HalInfo+328]
ext HalInfo+0x148@m
ld.w %r9,HalInfo+0x148@l
ld.w %r10,[%r9]
ext 0x1 ; xand %r10,%r10,0x00000040
and %r10,0x0
jreq __LX34 ; xjreq __L34
.loc 179
ext halIndirectWriteDisplayAddress@rm ; xcall halIndirectWriteDisplayAddress
call halIndirectWriteDisplayAddress@rl
.loc 180
ext pIndirectData8+0x0@h ; xld.w %r10,[pIndirectData8]
ext pIndirectData8+0x0@m
ld.w %r9,pIndirectData8+0x0@l
ld.w %r10,[%r9]
.loc 181
jp __LX36 ; xjp __L36
__LX34: ; __L34:
.loc 184
ext gHalMemAddr+0x0@h ; xld.w %r10,[gHalMemAddr]
ext gHalMemAddr+0x0@m
ld.w %r9,gHalMemAddr+0x0@l
ld.w %r10,[%r9]
add %r12,%r10
ld.w %r10,%r12
.loc 185
__LX36: ; __L36:
;.set volatile
ld.b [%r10],%r0 ; xld.b [%r10],%r0
;.set novolatile
.loc 187
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def halWriteDisplay16, val halWriteDisplay16, scl 2, type 0x21, endef
.global halWriteDisplay16
.loc 190
.def ent, scl 101, type 0x0, endef
halWriteDisplay16:
; .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 Offset, val 12, scl 17, type 0xf, endef
.def Value, val 0, scl 17, type 0xd, endef
.loc 192
.def begin, scl 100, type 0x0, endef
.def pMem, val 10, scl 4, type 0x1d, endef
.loc 193
ext HalInfo+0x148@h ; xld.w %r10,[HalInfo+328]
ext HalInfo+0x148@m
ld.w %r9,HalInfo+0x148@l
ld.w %r10,[%r9]
ext 0x1 ; xand %r10,%r10,0x00000040
and %r10,0x0
jreq __LX38 ; xjreq __L38
.loc 195
ext halIndirectWriteDisplayAddress@rm ; xcall halIndirectWriteDisplayAddress
call halIndirectWriteDisplayAddress@rl
.loc 196
ext pIndirectData16+0x0@h ; xld.w %r10,[pIndirectData16]
ext pIndirectData16+0x0@m
ld.w %r9,pIndirectData16+0x0@l
ld.w %r10,[%r9]
.loc 197
jp __LX40 ; xjp __L40
__LX38: ; __L38:
.loc 200
ext gHalMemAddr+0x0@h ; xld.w %r10,[gHalMemAddr]
ext gHalMemAddr+0x0@m
ld.w %r9,gHalMemAddr+0x0@l
ld.w %r10,[%r9]
add %r12,%r10
ld.w %r10,%r12
.loc 201
__LX40: ; __L40:
;.set volatile
ld.h [%r10],%r0 ; xld.h [%r10],%r0
;.set novolatile
.loc 203
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def halWriteDisplay32, val halWriteDisplay32, scl 2, type 0x21, endef
.global halWriteDisplay32
.loc 206
.def ent, scl 101, type 0x0, endef
halWriteDisplay32:
; .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 Offset, val 12, scl 17, type 0xf, endef
.def Value, val 0, scl 17, type 0xf, endef
.loc 207
.def begin, scl 100, type 0x0, endef
.def pMem, val 10, scl 4, type 0x1f, endef
.loc 208
ext HalInfo+0x148@h ; xld.w %r10,[HalInfo+328]
ext HalInfo+0x148@m
ld.w %r9,HalInfo+0x148@l
ld.w %r10,[%r9]
ext 0x1 ; xand %r10,%r10,0x00000040
and %r10,0x0
jreq __LX42 ; xjreq __L42
.loc 210
ext halIndirectWriteDisplayAddress@rm ; xcall halIndirectWriteDisplayAddress
call halIndirectWriteDisplayAddress@rl
.loc 211
ext pIndirectData8+0x0@h ; xld.w %r10,[pIndirectData8]
ext pIndirectData8+0x0@m
ld.w %r9,pIndirectData8+0x0@l
ld.w %r10,[%r9]
ld.b [%r10],%r0 ; xld.b [%r10],%r0
.loc 212
ext pIndirectData8+0x0@h ; xld.w %r11,[pIndirectData8]
ext pIndirectData8+0x0@m
ld.w %r9,pIndirectData8+0x0@l
ld.w %r11,[%r9]
ld.w %r10,%r0
srl %r10,0x8 ; xsrl %r10,8
ld.b [%r11],%r10 ; xld.b [%r11],%r10
.loc 213
ext pIndirectData8+0x0@h ; xld.w %r11,[pIndirectData8]
ext pIndirectData8+0x0@m
ld.w %r9,pIndirectData8+0x0@l
ld.w %r11,[%r9]
ld.w %r10,%r0
srl %r10,0x8 ; xsrl %r10,16
srl %r10,0x8
ld.b [%r11],%r10 ; xld.b [%r11],%r10
.loc 214
ext pIndirectData8+0x0@h ; xld.w %r11,[pIndirectData8]
ext pIndirectData8+0x0@m
ld.w %r9,pIndirectData8+0x0@l
ld.w %r11,[%r9]
ld.w %r10,%r0
srl %r10,0x8 ; xsrl %r10,24
srl %r10,0x8
srl %r10,0x8
ld.b [%r11],%r10 ; xld.b [%r11],%r10
.loc 215
jp __LX43 ; xjp __L43
__LX42: ; __L42:
.loc 218
ext gHalMemAddr+0x0@h ; xld.w %r10,[gHalMemAddr]
ext gHalMemAddr+0x0@m
ld.w %r9,gHalMemAddr+0x0@l
ld.w %r10,[%r9]
add %r12,%r10
ld.w %r10,%r12
.loc 219
;.set volatile
ld.w [%r10],%r0 ; xld.w [%r10],%r0
;.set novolatile
__LX43: ; __L43:
.loc 221
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.align 1
.def halReadDisplay8, val halReadDisplay8, scl 2, type 0x2c, endef
.global halReadDisplay8
.loc 233
.def ent, scl 101, type 0x0, endef
halReadDisplay8:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.def Offset, val 12, scl 17, type 0xf, endef
.loc 234
ext HalInfo+0x148@h ; xld.w %r10,[HalInfo+328]
ext HalInfo+0x148@m
ld.w %r9,HalInfo+0x148@l
ld.w %r10,[%r9]
ext 0x1 ; xand %r10,%r10,0x00000040
and %r10,0x0
jrne __LX45 ; xjrne __L45
.loc 237
ext gHalMemAddr+0x0@h ; xld.w %r10,[gHalMemAddr]
ext gHalMemAddr+0x0@m
ld.w %r9,gHalMemAddr+0x0@l
ld.w %r10,[%r9]
add %r10,%r12
;.set volatile
ld.ub %r10,[%r10] ; xld.ub %r10,[%r10]
;.set novolatile
jp __LX48 ; xjp __L48
__LX45: ; __L45:
.loc 235
ext halIndirectReadDisplay8@rm ; xcall halIndirectReadDisplay8
call halIndirectReadDisplay8@rl
__LX48: ; __L48:
ld.ub %r10,%r10
.loc 238
ret
.def end, scl 111, type 0x0, endef
.align 1
.def halReadDisplay16, val halReadDisplay16, scl 2, type 0x2d, endef
.global halReadDisplay16
.loc 241
.def ent, scl 101, type 0x0, endef
halReadDisplay16:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.def Offset, val 12, scl 17, type 0xf, endef
.loc 242
ext HalInfo+0x148@h ; xld.w %r10,[HalInfo+328]
ext HalInfo+0x148@m
ld.w %r9,HalInfo+0x148@l
ld.w %r10,[%r9]
ext 0x1 ; xand %r10,%r10,0x00000040
and %r10,0x0
jrne __LX50 ; xjrne __L50
.loc 245
ext gHalMemAddr+0x0@h ; xld.w %r10,[gHalMemAddr]
ext gHalMemAddr+0x0@m
ld.w %r9,gHalMemAddr+0x0@l
ld.w %r10,[%r9]
add %r10,%r12
;.set volatile
ld.uh %r10,[%r10] ; xld.uh %r10,[%r10]
;.set novolatile
jp __LX53 ; xjp __L53
__LX50: ; __L50:
.loc 243
ext halIndirectReadDisplay16@rm ; xcall halIndirectReadDisplay16
call halIndirectReadDisplay16@rl
__LX53: ; __L53:
ld.uh %r10,%r10
.loc 246
ret
.def end, scl 111, type 0x0, endef
.align 1
.def halReadDisplay32, val halReadDisplay32, scl 2, type 0x2f, endef
.global halReadDisplay32
.loc 249
.def ent, scl 101, type 0x0, endef
halReadDisplay32:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.def Offset, val 12, scl 17, type 0xf, endef
.loc 250
ext HalInfo+0x148@h ; xld.w %r10,[HalInfo+328]
ext HalInfo+0x148@m
ld.w %r9,HalInfo+0x148@l
ld.w %r10,[%r9]
ext 0x1 ; xand %r10,%r10,0x00000040
and %r10,0x0
jrne __LX55 ; xjrne __L55
.loc 253
ext gHalMemAddr+0x0@h ; xld.w %r10,[gHalMemAddr]
ext gHalMemAddr+0x0@m
ld.w %r9,gHalMemAddr+0x0@l
ld.w %r10,[%r9]
add %r10,%r12
;.set volatile
ld.w %r10,[%r10] ; xld.w %r10,[%r10]
;.set novolatile
jp __LX57 ; xjp __L57
__LX55: ; __L55:
.loc 251
ext halIndirectReadDisplay32@rm ; xcall halIndirectReadDisplay32
call halIndirectReadDisplay32@rl
__LX57: ; __L57:
.loc 254
ret
.def end, scl 111, type 0x0, endef
.align 1
.def halInitRegisters, val halInitRegisters, scl 2, type 0x21, endef
.global halInitRegisters
.loc 264
.def ent, scl 101, type 0x0, endef
halInitRegisters:
; .frame %sp,8,$31 # vars= 0, regs= 2/0, args= 0, extra= 0
; .mask 0x80010000,-4
; .fmask 0x00000000,0
pushn %r0
.loc 265
.def begin, scl 100, type 0x0, endef
.def idx, val 0, scl 4, type 0xf, endef
.def ulIndex, val 12, scl 4, type 0xf, endef
.loc 268
ld.w %r0,0x0
__LX62: ; __L62:
.loc 270
ld.w %r10,%r0
sll %r10,0x2 ; xsll %r10,2
ext HalInfo+0x14c@h ; xld.uh %r12,[%r10+HalInfo+332]
ext HalInfo+0x14c@m
ld.w %r9,HalInfo+0x14c@l
add %r9,%r10
ld.uh %r12,[%r9]
.loc 272
ext 0x3ff ; xcmp %r12,65519
cmp %r12,0x2f
jrugt __LX63 ; xjrugt __L63
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -