⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.asm

📁 此程序为出租车计价器
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	.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 + -