📄 drv_key.ms
字号:
.loc 295
ld.w %r10,0xc ; xld.w %r10,0x0000000c ; 12
.loc 300
jp __LX53 ; xjp __L53
__L37:
.loc 305
ld.w %r10,0x4 ; xld.w %r10,0x00000004 ; 4
.loc 310
jp __LX54 ; xjp __L54
__L38:
.loc 315
ld.w %r10,0x7 ; xld.w %r10,0x00000007 ; 7
.loc 320
ext __LX55@rm ; xjp __L55
jp __LX55@rl
__L39:
.loc 325
ld.w %r10,0xa ; xld.w %r10,0x0000000a ; 10
.loc 330
ext __LX56@rm ; xjp __L56
jp __LX56@rl
__L34:
.loc 336
ext 0x0 ; xld.w %r11,0x000402dd ; 262877
ext 0x100b
ld.w %r11,0x1d
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
ext 0x0 ; xand %r10,%r10,0x0000002f
and %r10,0x2f
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 337
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
or %r10,0xf ; xoor %r10,%r10,0x0000000f
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 338
ext 0x0 ; xld.w %r10,0x000402c1 ; 262849
ext 0x100b
ld.w %r10,0x1
;.set volatile
ld.ub %r10,[%r10] ; xld.ub %r10,[%r10]
;.set novolatile
.loc 339
and %r10,0x1f ; xand %r10,%r10,0x0000001f
ext keytemp+0x0@h ; xld.b [keytemp],%r10
ext keytemp+0x0@m
ld.w %r9,keytemp+0x0@l
ld.b [%r9],%r10
.loc 340
ext keytemp+0x0@h ; xld.ub %r10,[keytemp]
ext keytemp+0x0@m
ld.w %r9,keytemp+0x0@l
ld.ub %r10,[%r9]
sub %r10,0xf ; xsub %r10,%r10,15
cmp %r10,0xf ; xcmp %r10,15
ext __L42@rm ; xjrugt __L42
jrugt __L42@rl
sll %r10,0x2 ; xsll %r10,2
ext __L48+0x0@h ; xld.w %r10,[%r10+__L48]
ext __L48+0x0@m
ld.w %r9,__L48+0x0@l
add %r9,%r10
ld.w %r10,[%r9]
jp %r10
.code
.align 2
__L48:
.word __L47
.word __L42
.word __L42
.word __L42
.word __L42
.word __L42
.word __L42
.word __L42
.word __L46
.word __L42
.word __L42
.word __L42
.word __L45
.word __L42
.word __L44
.word __L43
.code
__L43:
.loc 345
ext 0x1 ; xld.w %r10,0x00000067 ; 103
ld.w %r10,0x27
__LX52: ; __L52:
ext k5_data+0x0@h ; xld.b [k5_data],%r10
ext k5_data+0x0@m
ld.w %r9,k5_data+0x0@l
ld.b [%r9],%r10
.loc 347
ext 0x0 ; xld.w %r11,0x000402cc ; 262860
ext 0x100b
ld.w %r11,0xc
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
and %r10,0x1e ; xand %r10,%r10,0x0000001e
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 349
ext 0x0 ; xld.w %r11,0x000402ce ; 262862
ext 0x100b
ld.w %r11,0xe
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
and %r10,0x1 ; xand %r10,%r10,0x00000001
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 350
jp __LX11 ; xjp __L11
__L44:
.loc 355
ext 0x1 ; xld.w %r10,0x0000006c ; 108
ld.w %r10,0x2c
__LX53: ; __L53:
ext k5_data+0x0@h ; xld.b [k5_data],%r10
ext k5_data+0x0@m
ld.w %r9,k5_data+0x0@l
ld.b [%r9],%r10
.loc 357
ext 0x0 ; xld.w %r11,0x000402cc ; 262860
ext 0x100b
ld.w %r11,0xc
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
and %r10,0x1d ; xand %r10,%r10,0x0000001d
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 359
ext 0x0 ; xld.w %r11,0x000402ce ; 262862
ext 0x100b
ld.w %r11,0xe
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
and %r10,0x2 ; xand %r10,%r10,0x00000002
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 360
jp __LX11 ; xjp __L11
__L45:
.loc 365
ext 0x1 ; xld.w %r10,0x0000006a ; 106
ld.w %r10,0x2a
__LX54: ; __L54:
ext k5_data+0x0@h ; xld.b [k5_data],%r10
ext k5_data+0x0@m
ld.w %r9,k5_data+0x0@l
ld.b [%r9],%r10
.loc 367
ext 0x0 ; xld.w %r11,0x000402cc ; 262860
ext 0x100b
ld.w %r11,0xc
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
and %r10,0x1b ; xand %r10,%r10,0x0000001b
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 369
ext 0x0 ; xld.w %r11,0x000402ce ; 262862
ext 0x100b
ld.w %r11,0xe
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
and %r10,0x4 ; xand %r10,%r10,0x00000004
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 370
jp __LX11 ; xjp __L11
__L46:
.loc 375
ext 0x1 ; xld.w %r10,0x00000069 ; 105
ld.w %r10,0x29
__LX55: ; __L55:
ext k5_data+0x0@h ; xld.b [k5_data],%r10
ext k5_data+0x0@m
ld.w %r9,k5_data+0x0@l
ld.b [%r9],%r10
.loc 377
ext 0x0 ; xld.w %r11,0x000402cc ; 262860
ext 0x100b
ld.w %r11,0xc
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
and %r10,0x17 ; xand %r10,%r10,0x00000017
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 379
ext 0x0 ; xld.w %r11,0x000402ce ; 262862
ext 0x100b
ld.w %r11,0xe
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
and %r10,0x8 ; xand %r10,%r10,0x00000008
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 380
jp __LX11 ; xjp __L11
__L47:
.loc 385
ld.w %r10,0x1c ; xld.w %r10,0x0000001c ; 28
__LX56: ; __L56:
ext k5_data+0x0@h ; xld.b [k5_data],%r10
ext k5_data+0x0@m
ld.w %r9,k5_data+0x0@l
ld.b [%r9],%r10
.loc 387
__LX57: ; __L57:
ext 0x0 ; xld.w %r11,0x000402cc ; 262860
ext 0x100b
ld.w %r11,0xc
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
and %r10,0xf ; xand %r10,%r10,0x0000000f
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 389
ext 0x0 ; xld.w %r11,0x000402ce ; 262862
ext 0x100b
ld.w %r11,0xe
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
and %r10,0x10 ; xand %r10,%r10,0x00000010
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 390
jp __LX11 ; xjp __L11
__L42:
.loc 393
ext 0x0 ; xld.w %r11,0x000402dd ; 262877
ext 0x100b
ld.w %r11,0x1d
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
ext 0x3 ; xand %r10,%r10,0x000000e0
and %r10,0x20
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 399
jp __LX58 ; xjp __L58
.def scan_over, val __LX11, scl 6, type 0x0, endef
; .def scan_over, val __L11, scl 6, type 0x0, endef
__LX11: ; __L11:
.loc 401
ext 0x0 ; xld.w %r11,0x000402dd ; 262877
ext 0x100b
ld.w %r11,0x1d
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
ext 0x3 ; xand %r10,%r10,0x000000e0
and %r10,0x20
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 404
ext 0x0 ; xld.w %r10,0x000402c1 ; 262849
ext 0x100b
ld.w %r10,0x1
;.set volatile
ld.ub %r10,[%r10] ; xld.ub %r10,[%r10]
;.set novolatile
.loc 405
and %r10,0x1f ; xand %r10,%r10,0x0000001f
ext keytemp+0x0@h ; xld.b [keytemp],%r10
ext keytemp+0x0@m
ld.w %r9,keytemp+0x0@l
ld.b [%r9],%r10
.loc 406
ext keytemp+0x0@h ; xld.ub %r10,[keytemp]
ext keytemp+0x0@m
ld.w %r9,keytemp+0x0@l
ld.ub %r10,[%r9]
cmp %r10,0x1f ; xcmp %r10,31
jrne __LX51 ; xjrne __L51
.loc 409
__LX58: ; __L58:
ext 0x0 ; xld.w %r11,0x000402cc ; 262860
ext 0x100b
ld.w %r11,0xc
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
or %r10,0x1f ; xoor %r10,%r10,0x0000001f
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 411
ext 0x0 ; xld.w %r11,0x000402ce ; 262862
ext 0x100b
ld.w %r11,0xe
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
or %r10,0x1f ; xoor %r10,%r10,0x0000001f
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 412
jp __LX50 ; xjp __L50
__LX51: ; __L51:
.loc 414
ld.w %r10,0x1 ; xld.w %r10,0x00000001 ; 1
ext bKeyStatus+0x0@h ; xld.h [bKeyStatus],%r10
ext bKeyStatus+0x0@m
ld.w %r9,bKeyStatus+0x0@l
ld.h [%r9],%r10
.loc 416
ld.w %r12,0x1 ; xld.w %r12,0x00000001 ; 1
ld.w %r13,0x10 ; xld.w %r13,0x00000010 ; 16
ext iset_flg@rh ; xcall iset_flg
ext iset_flg@rm
call iset_flg@rl
.def scan_over1, val __LX50, scl 6, type 0x0, endef
; .def scan_over1, val __L50, scl 6, type 0x0, endef
__LX50: ; __L50:
.loc 419
ext 0x0 ; xld.w %r11,0x00040270 ; 262768
ext 0x1009
ld.w %r11,0x30
bset [%r11],0x4 ; xbset [%r11],0x4
.loc 420
; APP
popn %r15
; NO_APP
.loc 422
; APP
reti
; NO_APP
.loc 423
ret
.def end, scl 111, type 0x0, endef
.def bKeyStatus, val bKeyStatus, scl 2, type 0xd, endef
.comm bKeyStatus 2
.def k5_data, val k5_data, scl 2, type 0xc, endef
.comm k5_data 1
.def keytemp, val keytemp, scl 2, type 0xc, endef
.comm keytemp 1
.endfile
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -