📄 key.asm
字号:
.dd LM41-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM41:
call _DrvGetKeyID // call with return value
CMP R1,0 // QImode test
JNZ L48 // QImode EQ
PC=L18
L48:
.debug
.dw '.stabn 0x44,0,100,',0,0
.dd LM42-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM42:
call _DrvGetKeyID // call with return value
CMP R1,[_ui_KeyID] // QImode compare
JZ L49 // QImode NE
PC=L19
L49:
.debug
.dw '.stabn 0x44,0,102,',0,0
.dd LM43-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM43:
R1=1 // QImode move
[_ui_KeyState]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,103,',0,0
.dd LM44-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM44:
R1=2 // QImode move
[_ui_KeyScanState]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,104,',0,0
.dd LM45-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM45:
pc=L20 // Indirect jump
L19:
.debug
.dw '.stabn 0x44,0,107,',0,0
.dd LM46-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM46:
R1=0 // QImode move
[_ui_KeyScanState]=R1 // QImode move
L20:
.debug
.dw '.stabn 0x44,0,109,',0,0
.dd LM47-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM47:
pc=L21 // Indirect jump
L18:
.debug
.dw '.stabn 0x44,0,112,',0,0
.dd LM48-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM48:
R1=0 // QImode move
[_ui_KeyScanState]=R1 // QImode move
L21:
.debug
.dw '.stabn 0x44,0,115,',0,0
.dd LM49-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM49:
pc=L22 // Indirect jump
L17:
.debug
.dw '.stabn 0x44,0,118,',0,0
.dd LM50-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM50:
R1=[_ui_KeyCount] // QImode move
R2=1 // QImode move
[_ui_KeyCount]=R1+R2
L22:
.debug
.dw '.stabn 0x44,0,120,',0,0
.dd LM51-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM51:
pc=L13 // Indirect jump
L23:
.debug
.dw '.stabn 0x44,0,122,',0,0
.dd LM52-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM52:
call _DrvGetKeyID // call with return value
CMP R1,0 // QImode test
JNZ L50 // QImode EQ
PC=L24
L50:
.debug
.dw '.stabn 0x44,0,124,',0,0
.dd LM53-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM53:
call _DrvGetKeyID // call with return value
CMP R1,[_ui_KeyID] // QImode compare
JZ L51 // QImode NE
PC=L25
L51:
.debug
.dw '.stabn 0x44,0,134,',0,0
.dd LM54-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM54:
R1=[_ui_KeyCount] // QImode move
CMP R1,1000 // QImode compare
JA L52 // QImode LEU
PC=L26
L52:
.debug
.dw '.stabn 0x44,0,136,',0,0
.dd LM55-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM55:
R1=4 // QImode move
[_ui_KeyScanState]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,137,',0,0
.dd LM56-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM56:
R1=2 // QImode move
[_ui_KeyState]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,138,',0,0
.dd LM57-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM57:
pc=L27 // Indirect jump
L26:
.debug
.dw '.stabn 0x44,0,141,',0,0
.dd LM58-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM58:
R1=[_ui_KeyCount] // QImode move
R2=1 // QImode move
[_ui_KeyCount]=R1+R2
L27:
.debug
.dw '.stabn 0x44,0,143,',0,0
.dd LM59-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM59:
pc=L28 // Indirect jump
L25:
.debug
.dw '.stabn 0x44,0,146,',0,0
.dd LM60-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM60:
R1=0 // QImode move
[_ui_KeyScanState]=R1 // QImode move
L28:
.debug
.dw '.stabn 0x44,0,148,',0,0
.dd LM61-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM61:
pc=L29 // Indirect jump
L24:
.debug
.dw '.stabn 0x44,0,151,',0,0
.dd LM62-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM62:
R1=3 // QImode move
[_ui_KeyScanState]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,152,',0,0
.dd LM63-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM63:
R1=[_ui_KeyCount] // QImode move
[_ui_KeyCountBK]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,153,',0,0
.dd LM64-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM64:
R1=0 // QImode move
[_ui_KeyCount]=R1 // QImode move
L29:
.debug
.dw '.stabn 0x44,0,155,',0,0
.dd LM65-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM65:
pc=L13 // Indirect jump
L30:
.debug
.dw '.stabn 0x44,0,157,',0,0
.dd LM66-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM66:
R1=[_ui_KeyCount] // QImode move
CMP R1,25 // QImode compare
JA L53 // QImode LEU
PC=L31
L53:
.debug
.dw '.stabn 0x44,0,159,',0,0
.dd LM67-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM67:
call _DrvGetKeyID // call with return value
CMP R1,0 // QImode test
JZ L54 // QImode NE
PC=L32
L54:
.debug
.dw '.stabn 0x44,0,161,',0,0
.dd LM68-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM68:
R1=0 // QImode move
[_ui_KeyScanState]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,162,',0,0
.dd LM69-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM69:
R1=[_ui_KeyState] // QImode move
CMP R1,1 // QImode compare
JZ L55 // QImode NE
PC=L33
L55:
.debug
.dw '.stabn 0x44,0,163,',0,0
.dd LM70-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM70:
R1=3 // QImode move
[_ui_KeyState]=R1 // QImode move
pc=L34 // Indirect jump
L33:
.debug
.dw '.stabn 0x44,0,164,',0,0
.dd LM71-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM71:
R1=[_ui_KeyState] // QImode move
CMP R1,2 // QImode compare
JZ L56 // QImode NE
PC=L34
L56:
.debug
.dw '.stabn 0x44,0,165,',0,0
.dd LM72-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM72:
R1=4 // QImode move
[_ui_KeyState]=R1 // QImode move
L35:
L34:
.debug
.dw '.stabn 0x44,0,166,',0,0
.dd LM73-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM73:
pc=L36 // Indirect jump
L32:
.debug
.dw '.stabn 0x44,0,169,',0,0
.dd LM74-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM74:
R1=[_ui_KeyCountBK] // QImode move
[_ui_KeyCount]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,170,',0,0
.dd LM75-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM75:
R1=2 // QImode move
[_ui_KeyScanState]=R1 // QImode move
L36:
.debug
.dw '.stabn 0x44,0,172,',0,0
.dd LM76-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM76:
pc=L37 // Indirect jump
L31:
.debug
.dw '.stabn 0x44,0,175,',0,0
.dd LM77-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM77:
R1=[_ui_KeyCount] // QImode move
R2=1 // QImode move
[_ui_KeyCount]=R1+R2
L37:
.debug
.dw '.stabn 0x44,0,177,',0,0
.dd LM78-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM78:
pc=L13 // Indirect jump
L38:
.debug
.dw '.stabn 0x44,0,179,',0,0
.dd LM79-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM79:
R2=[_ui_RepeatCount] // QImode move
R1=R2+1
R2=R1 // QImode move
[_ui_RepeatCount]=R2 // QImode move
CMP R2,199 // QImode compare
JA L57 // QImode LEU
PC=L39
L57:
.debug
.dw '.stabn 0x44,0,181,',0,0
.dd LM80-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM80:
R1=0 // QImode move
[_ui_RepeatCount]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,182,',0,0
.dd LM81-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM81:
R1=1 // QImode move
[_ui_RepeatEvent]=R1 // QImode move
L39:
.debug
.dw '.stabn 0x44,0,184,',0,0
.dd LM82-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM82:
call _DrvGetKeyID // call with return value
CMP R1,0 // QImode test
JZ L58 // QImode NE
PC=L40
L58:
.debug
.dw '.stabn 0x44,0,186,',0,0
.dd LM83-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM83:
R1=3 // QImode move
[_ui_KeyScanState]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,187,',0,0
.dd LM84-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM84:
pc=L41 // Indirect jump
L40:
.debug
.dw '.stabn 0x44,0,188,',0,0
.dd LM85-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM85:
call _DrvGetKeyID // call with return value
CMP R1,[_ui_KeyID] // QImode compare
JNZ L59 // QImode EQ
PC=L41
L59:
.debug
.dw '.stabn 0x44,0,190,',0,0
.dd LM86-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM86:
R1=0 // QImode move
[_ui_KeyScanState]=R1 // QImode move
L42:
L41:
.debug
.dw '.stabn 0x44,0,192,',0,0
.dd LM87-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM87:
pc=L13 // Indirect jump
L43:
.debug
.dw '.stabn 0x44,0,194,',0,0
.dd LM88-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM88:
pc=L13 // Indirect jump
L13:
.debug
.dw '.stabn 0x44,0,196,',0,0
.dd LM89-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM89:
.debug
.dw '.stabn 0x44,0,196,',0,0
.dd LM90-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LM90:
L12:
sp+=1
pop bp from [sp]
retf
.endp // end of KeyScan_ServiceLoop
.debug
.dw '.stabf ',0,0
.dd LME4-_KeyScan_ServiceLoop
.dw 0x0d,0x0a
.code
LME4:
.debug
.dw '.stabs "ui_KeyScanState:G4",32,0,0,',0,0,offset _ui_KeyScanState,seg _ui_KeyScanState,0x0d,0x0a
.CODE
.ram
.public _ui_KeyScanState
_ui_KeyScanState:
.dw 0
.debug
.dw '.stabs "ui_KeyState:G4",32,0,0,',0,0,offset _ui_KeyState,seg _ui_KeyState,0x0d,0x0a
.CODE
.ram
.public _ui_KeyState
_ui_KeyState:
.dw 0
.debug
.dw '.stabs "ui_KeyID:G4",32,0,0,',0,0,offset _ui_KeyID,seg _ui_KeyID,0x0d,0x0a
.CODE
.ram
.public _ui_KeyID
_ui_KeyID:
.dw 0
.debug
.dw '.stabs "ui_KeyCount:G4",32,0,0,',0,0,offset _ui_KeyCount,seg _ui_KeyCount,0x0d,0x0a
.CODE
.ram
.public _ui_KeyCount
_ui_KeyCount:
.dw 0
.debug
.dw '.stabs "ui_KeyCountBK:G4",32,0,0,',0,0,offset _ui_KeyCountBK,seg _ui_KeyCountBK,0x0d,0x0a
.CODE
.ram
.public _ui_KeyCountBK
_ui_KeyCountBK:
.dw 0
.debug
.dw '.stabs "ui_RepeatCount:G4",32,0,0,',0,0,offset _ui_RepeatCount,seg _ui_RepeatCount,0x0d,0x0a
.CODE
.ram
.public _ui_RepeatCount
_ui_RepeatCount:
.dw 0
.debug
.dw '.stabs "ui_RepeatEvent:G4",32,0,0,',0,0,offset _ui_RepeatEvent,seg _ui_RepeatEvent,0x0d,0x0a
.CODE
.ram
.public _ui_RepeatEvent
_ui_RepeatEvent:
.dw 0
.external _DrvGetKeyID
.external _DrvKeyInit
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -