📄 key.lst
字号:
A51 MACRO ASSEMBLER KEY 11/14/2007 15:27:00 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN key.OBJ
ASSEMBLER INVOKED BY: C:\Program Files\Keil\C51\BIN\A51.EXE key.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0000 1 ORG 0000H
0000 2100 2 AJMP START
0100 3 ORG 0100H
4
00B2 5 KEY1 EQU P3.2
00B3 6 KEY2 EQU P3.3
0040 7 DATA1 EQU 40H
0041 8 DATA2 EQU 41H
9
0100 10 START:
0100 754008 11 MOV 40H, #8
0103 754108 12 MOV 41H, #8
0106 AF41 13 MOV R7, 41H
0108 AE40 14 MOV R6, 40H
010A 7840 15 MOV R0, #40H
010C 7902 16 MOV R1, #2
010E 7A00 17 MOV R2, #0
18
0110 19 LOOP:
0110 3154 20 CALL DISP
0112 30B205 21 JNB KEY1, COUNTER1
0115 30B31F 22 JNB KEY2, DECCOUNTER1
0118 2110 23 AJMP LOOP
24
011A 25 COUNTER1:
011A 20B204 26 JB KEY1, COUNTER
011D 3154 27 CALL DISP
011F 211A 28 AJMP COUNTER1
0121 29 COUNTER:
0121 AF41 30 MOV R7, 41H
0123 0F 31 INC R7
0124 BF0A0A 32 CJNE R7, #10, OVR1
0127 7F00 33 MOV R7, #0
0129 AE40 34 MOV R6, 40H
012B 0E 35 INC R6
012C BE0A02 36 CJNE R6, #10, OVR1
012F 7E00 37 MOV R6, #0
0131 38 OVR1:
0131 8F41 39 MOV 41H, R7
0133 8E40 40 MOV 40H, R6
0135 2110 41 AJMP LOOP
42
0137 43 DECCOUNTER1:
0137 20B304 44 JB KEY2, DECCOUNTER
013A 3154 45 CALL DISP
013C 2137 46 AJMP DECCOUNTER1
013E 47 DECCOUNTER:
013E AF41 48 MOV R7, 41H
0140 1F 49 DEC R7
0141 BFFF0A 50 CJNE R7, #255, OTT1
0144 7F09 51 MOV R7, #9
0146 AE40 52 MOV R6, 40H
0148 1E 53 DEC R6
0149 BEFF02 54 CJNE R6, #255, OTT1
014C 7E09 55 MOV R6, #9
014E 56 OTT1:
014E 8F41 57 MOV 41H, R7
0150 8E40 58 MOV 40H, R6
A51 MACRO ASSEMBLER KEY 11/14/2007 15:27:00 PAGE 2
0152 2110 59 AJMP LOOP
60
0154 61 DISP:
0154 900188 62 MOV DPTR, #TABSEG
0157 E6 63 MOV A, @R0
0158 93 64 MOVC A, @A+DPTR
0159 F4 65 CPL A
015A F580 66 MOV P0, A
015C 3179 67 CALL OUTS
015E 900192 68 MOV DPTR, #TABBIT
0161 EA 69 MOV A, R2
0162 93 70 MOVC A, @A+DPTR
0163 F580 71 MOV P0, A
0165 317F 72 CALL OUTB
0167 3185 73 CALL DELAY
0169 758000 74 MOV P0, #0
016C 317F 75 CALL OUTB
016E 08 76 INC R0
016F 0A 77 INC R2
0170 D906 78 DJNZ R1, QUIT1
0172 7840 79 MOV R0, #40H
0174 7902 80 MOV R1, #2
0176 7A00 81 MOV R2, #0
0178 82 QUIT1:
0178 22 83 RET
84
0179 85 OUTS:
0179 D293 86 SETB P1.3
017B 00 87 NOP
017C C293 88 CLR P1.3
017E 22 89 RET
90
017F 91 OUTB:
017F D292 92 SETB P1.2
0181 00 93 NOP
0182 C292 94 CLR P1.2
0184 22 95 RET
96
0185 97 DELAY:
0185 DCFE 98 DJNZ R4, $
0187 22 99 RET
100
0188 101 TABSEG:
0188 3F065B4F 102 DB 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F
018C 666D7D07
0190 7F6F
103
0192 104 TABBIT:
0192 80402010 105 DB 0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01
0196 08040201
106
107 END
A51 MACRO ASSEMBLER KEY 11/14/2007 15:27:00 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
COUNTER. . . . . . C ADDR 0121H A
COUNTER1 . . . . . C ADDR 011AH A
DATA1. . . . . . . N NUMB 0040H A
DATA2. . . . . . . N NUMB 0041H A
DECCOUNTER . . . . C ADDR 013EH A
DECCOUNTER1. . . . C ADDR 0137H A
DELAY. . . . . . . C ADDR 0185H A
DISP . . . . . . . C ADDR 0154H A
KEY1 . . . . . . . B ADDR 00B0H.2 A
KEY2 . . . . . . . B ADDR 00B0H.3 A
LOOP . . . . . . . C ADDR 0110H A
OTT1 . . . . . . . C ADDR 014EH A
OUTB . . . . . . . C ADDR 017FH A
OUTS . . . . . . . C ADDR 0179H A
OVR1 . . . . . . . C ADDR 0131H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
QUIT1. . . . . . . C ADDR 0178H A
START. . . . . . . C ADDR 0100H A
TABBIT . . . . . . C ADDR 0192H A
TABSEG . . . . . . C ADDR 0188H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -