📄 keyscan.lst
字号:
A51 MACRO ASSEMBLER KEYSCAN 11/17/2006 20:11:44 PAGE 1
MACRO ASSEMBLER A51 V7.01
OBJECT MODULE PLACED IN KEYSCAN.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE KEYSCAN.ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0000 1 ORG 0000H
0000 802E 2 SJMP 0030H
0030 3 ORG 0030H
0030 5100 4 START: ACALL KEYPRG
0032 00 5 NOP
0033 80FB 6 SJMP START
0200 7 ORG 0200H
0200 75900F 8 KEYPRG: MOV P1,#0FH
0203 E590 9 MOV A,P1
0205 540F 10 ANL A,#0FH
0207 B40F02 11 CJNE A,#0FH,K1
020A 4169 12 AJMP NOKEY
020C 5196 13 K1: ACALL DL20
020E 75900F 14 MOV P1,#0FH
0211 E590 15 MOV A,P1
0213 540F 16 ANL A,#0FH
0215 B40F02 17 CJNE A,#0FH,K2
0218 4169 18 AJMP NOKEY
021A 7F00 19 K2: MOV R7,#00H
021C 7590EF 20 MOV P1,#0EFH
021F E590 21 MOV A,P1
0221 540F 22 ANL A,#0FH
0223 B40F26 23 CJNE A,#0FH,KEYNO
0226 7F04 24 K3: MOV R7,#04H
0228 7590DF 25 MOV P1,#0DFH
022B E590 26 MOV A,P1
022D 540F 27 ANL A,#0FH
022F B40F1A 28 CJNE A,#0FH,KEYNO
0232 7F08 29 K4: MOV R7,#08H
0234 7590BF 30 MOV P1,#0BFH
0237 E590 31 MOV A,P1
0239 540F 32 ANL A,#0FH
023B B40F0E 33 CJNE A,#0FH,KEYNO
023E 7F0C 34 K5: MOV R7,#0CH
0240 75907F 35 MOV P1,#7FH
0243 E590 36 MOV A,P1
0245 540F 37 ANL A,#0FH
0247 B40F02 38 CJNE A,#0FH,KEYNO
024A 801D 39 SJMP NOKEY
024C 20E005 40 KEYNO: JB ACC.0,N1
024F 7400 41 MOV A,#0
0251 2F 42 ADD A,R7
0252 416B 43 AJMP KEYAND
0254 20E105 44 N1: JB ACC.1,N2
0257 7401 45 MOV A,#1
0259 2F 46 ADD A,R7
025A 416B 47 AJMP KEYAND
025C 20E205 48 N2: JB ACC.2,N3
025F 7402 49 MOV A,#2
0261 2F 50 ADD A,R7
0262 416B 51 AJMP KEYAND
0264 7403 52 N3: MOV A,#3
0266 2F 53 ADD A,R7
0267 416B 54 AJMP KEYAND
0269 74FF 55 NOKEY: MOV A,#0FFH
026B F4 56 KEYAND: CPL A
026C 6026 57 JZ KEND
026E F4 58 CPL A
A51 MACRO ASSEMBLER KEYSCAN 11/17/2006 20:11:44 PAGE 2
026F 23 59 RL A
0270 900274 60 MOV DPTR,#KEYGO
0273 73 61 JMP @A+DPTR
0274 419F 62 KEYGO: AJMP KEY0
0276 41A6 63 AJMP KEY1
0278 41AD 64 AJMP KEY2
027A 41B4 65 AJMP KEY3
027C 41BB 66 AJMP KEY4
027E 41C2 67 AJMP KEY5
0280 41C9 68 AJMP KEY6
0282 41D0 69 AJMP KEY7
0284 41D7 70 AJMP KEY8
0286 41DE 71 AJMP KEY9
0288 41E5 72 AJMP KEY10
028A 41EC 73 AJMP KEY11
028C 41F3 74 AJMP KEY12
028E 41FA 75 AJMP KEY13
0290 6101 76 AJMP KEY14
0292 6108 77 AJMP KEY15
0294 00 78 KEND: NOP
0295 22 79 RET
0296 7CFA 80 DL20: MOV R4,#250
0298 7DFA 81 DL1: MOV R5,#250
029A DDFE 82 DJNZ R5,$
029C DCFA 83 DJNZ R4,DL1
029E 22 84 RET
85
029F 75A040 86 KEY0: MOV P2,#40H
02A2 75B0F0 87 MOV P3,#0F0H
02A5 22 88 RET
02A6 75A079 89 KEY1: MOV P2,#79H
02A9 75B0F0 90 MOV P3,#0F0H
02AC 22 91 RET
02AD 75A024 92 KEY2: MOV P2,#24H
02B0 75B0F0 93 MOV P3,#0F0H
02B3 22 94 RET
02B4 75A030 95 KEY3: MOV P2,#30H
02B7 75B0F0 96 MOV P3,#0F0H
02BA 22 97 RET
02BB 75A019 98 KEY4: MOV P2,#19H
02BE 75B0F0 99 MOV P3,#0F0H
02C1 22 100 RET
02C2 75A012 101 KEY5: MOV P2,#12H
02C5 75B0F0 102 MOV P3,#0F0H
02C8 22 103 RET
02C9 75A002 104 KEY6: MOV P2,#02H
02CC 75B0F0 105 MOV P3,#0F0H
02CF 22 106 RET
02D0 75A078 107 KEY7: MOV P2,#78H
02D3 75B0F0 108 MOV P3,#0F0H
02D6 22 109 RET
02D7 75A000 110 KEY8: MOV P2,#00H
02DA 75B0F0 111 MOV P3,#0F0H
02DD 22 112 RET
02DE 75A010 113 KEY9: MOV P2,#10H
02E1 75B0F0 114 MOV P3,#0F0H
02E4 22 115 RET
02E5 75A008 116 KEY10: MOV P2,#08H
02E8 75B0F0 117 MOV P3,#0F0H
02EB 22 118 RET
02EC 75A003 119 KEY11: MOV P2,#03H
02EF 75B0F0 120 MOV P3,#0F0H
02F2 22 121 RET
02F3 75A046 122 KEY12: MOV P2,#46H
02F6 75B0F0 123 MOV P3,#0F0H
02F9 22 124 RET
A51 MACRO ASSEMBLER KEYSCAN 11/17/2006 20:11:44 PAGE 3
02FA 75A021 125 KEY13: MOV P2,#21H
02FD 75B0F0 126 MOV P3,#0F0H
0300 22 127 RET
0301 75A006 128 KEY14: MOV P2,#06H
0304 75B0F0 129 MOV P3,#0F0H
0307 22 130 RET
0308 75A00E 131 KEY15: MOV P2,#0EH
030B 75B0F0 132 MOV P3,#0F0H
030E 22 133 RET
134
135 END
A51 MACRO ASSEMBLER KEYSCAN 11/17/2006 20:11:44 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
DL1. . . . . . . . C ADDR 0298H A
DL20 . . . . . . . C ADDR 0296H A
K1 . . . . . . . . C ADDR 020CH A
K2 . . . . . . . . C ADDR 021AH A
K3 . . . . . . . . C ADDR 0226H A
K4 . . . . . . . . C ADDR 0232H A
K5 . . . . . . . . C ADDR 023EH A
KEND . . . . . . . C ADDR 0294H A
KEY0 . . . . . . . C ADDR 029FH A
KEY1 . . . . . . . C ADDR 02A6H A
KEY10. . . . . . . C ADDR 02E5H A
KEY11. . . . . . . C ADDR 02ECH A
KEY12. . . . . . . C ADDR 02F3H A
KEY13. . . . . . . C ADDR 02FAH A
KEY14. . . . . . . C ADDR 0301H A
KEY15. . . . . . . C ADDR 0308H A
KEY2 . . . . . . . C ADDR 02ADH A
KEY3 . . . . . . . C ADDR 02B4H A
KEY4 . . . . . . . C ADDR 02BBH A
KEY5 . . . . . . . C ADDR 02C2H A
KEY6 . . . . . . . C ADDR 02C9H A
KEY7 . . . . . . . C ADDR 02D0H A
KEY8 . . . . . . . C ADDR 02D7H A
KEY9 . . . . . . . C ADDR 02DEH A
KEYAND . . . . . . C ADDR 026BH A
KEYGO. . . . . . . C ADDR 0274H A
KEYNO. . . . . . . C ADDR 024CH A
KEYPRG . . . . . . C ADDR 0200H A
N1 . . . . . . . . C ADDR 0254H A
N2 . . . . . . . . C ADDR 025CH A
N3 . . . . . . . . C ADDR 0264H A
NOKEY. . . . . . . C ADDR 0269H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
START. . . . . . . C ADDR 0030H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -