📄 calculator.lst
字号:
0176 F532 161 MOV 32H,A ;百位数送显示缓存
0178 020014 162 DISP11: LJMP MLOOP
017B 7830 163 DISP: MOV R0,#DBUF ;显示子程序
017D 7944 164 MOV R1,#TEMP+4
017F 7A05 165 MOV R2,#5
0181 90019F 166 DP10: MOV DPTR,#SEGTAB
0184 E6 167 MOV A,@R0
0185 93 168 MOVC A,@A+DPTR
0186 F7 169 MOV @R1,A
0187 08 170 INC R0
0188 19 171 DEC R1
0189 DAF6 172 DJNZ R2,DP10
018B 7840 173 MOV R0,#TEMP
018D 7905 174 MOV R1,#5
018F 7A08 175 DP12: MOV R2,#8
0191 E6 176 MOV A,@R0
0192 33 177 DP13: RLC A
0193 92B0 178 MOV DIN,C
0195 C2B1 179 CLR CLK
0197 D2B1 180 SETB CLK
0199 DAF7 181 DJNZ R2,DP13
019B 08 182 INC R0
019C D9F1 183 DJNZ R1,DP12
019E 22 184 RET
019F 3F065B4F 185 SEGTAB: DB 3FH,06H,5BH,4FH,66H,6DH ;段码定义
01A3 666D
01A5 7D077F6F 186 DB 7DH,07H,7FH,6FH,77H,7CH
01A9 777C
01AB 395E7971 187 DB 39H,5EH,79H,71H,00H,40H
01AF 0040
A51 MACRO ASSEMBLER CALCULATOR 08/05/2006 11:29:50 PAGE 4
01B1 188 TESTKEY:
01B1 75900F 189 MOV P1,#0FH ;读入键状态
01B4 E590 190 MOV A,P1
01B6 F4 191 CPL A
01B7 540F 192 ANL A,#0FH ;高四位不用
01B9 22 193 RET
01BA 194 KEYTABLE:
01BA DEEDDDBD 195 DB 0DEH,0EDH,0DDH,0BDH ;键码定义
01BE EBDBBBE7 196 DB 0EBH,0DBH,0BBH,0E7H
01C2 D7B77E7D 197 DB 0D7H,0B7H,07EH,07DH
01C6 7B77BEEE 198 DB 07BH,077H,0BEH,0EEH
01CA 199 GETKEY: ;读键子程序
01CA 7E0A 200 MOV R6,#10
01CC 5123 201 ACALL DELAY
01CE 75900F 202 MOV P1,#0FH
01D1 E590 203 MOV A,P1
01D3 B50F03 204 CJNE A,0FH,K12
01D6 020014 205 LJMP MLOOP
01D9 F5F0 206 K12: MOV B,A
01DB 7590EF 207 MOV P1,#0EFH
01DE E590 208 MOV A,P1
01E0 B4EF1B 209 CJNE A,#0EFH,K13
01E3 7590DF 210 MOV P1,#0DFH
01E6 E590 211 MOV A,P1
01E8 B4DF13 212 CJNE A,#0DFH,K13
01EB 7590BF 213 MOV P1,#0BFH
01EE E590 214 MOV A,P1
01F0 B4BF0B 215 CJNE A,#0BFH,K13
01F3 75907F 216 MOV P1,#07FH
01F6 E590 217 MOV A,P1
01F8 B47F03 218 CJNE A,#07FH,K13
01FB 020014 219 LJMP MLOOP
01FE 54F0 220 K13: ANL A,#0F0H
0200 45F0 221 ORL A,B
0202 F5F0 222 MOV B,A
0204 7910 223 MOV R1,#16
0206 7A00 224 MOV R2,#0
0208 9001BA 225 MOV DPTR,#KEYTABLE
020B EA 226 K14: MOV A,R2
020C 93 227 MOVC A,@A+DPTR
020D B5F00E 228 CJNE A,B,K16
0210 75900F 229 MOV P1,#0FH
0213 E590 230 K15: MOV A,P1
0215 B40FFB 231 CJNE A,#0FH,K15
0218 7E0A 232 MOV R6,#10
021A 5123 233 ACALL DELAY
021C EA 234 MOV A,R2
021D 22 235 RET
021E 0A 236 K16: INC R2
021F D9EA 237 DJNZ R1,K14
0221 0114 238 AJMP MLOOP
0223 7F50 239 DELAY: MOV R7,#80 ;延时子程序
0225 DFFE 240 DLOOP: DJNZ R7,DLOOP
0227 DEFC 241 DJNZ R6,DLOOP
0229 22 242 RET
243 END
A51 MACRO ASSEMBLER CALCULATOR 08/05/2006 11:29:50 PAGE 5
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
B. . . . . . . . . D ADDR 00F0H A
CHENG. . . . . . . C ADDR 0136H A
CHU. . . . . . . . C ADDR 0144H A
CLK. . . . . . . . B ADDR 00B0H.1 A
CY . . . . . . . . B ADDR 00D0H.7 A
DBUF . . . . . . . N NUMB 0030H A
DELAY. . . . . . . C ADDR 0223H A
DEN. . . . . . . . C ADDR 0151H A
DIN. . . . . . . . B ADDR 00B0H.0 A
DISP . . . . . . . C ADDR 017BH A
DISP1. . . . . . . C ADDR 0156H A
DISP11 . . . . . . C ADDR 0178H A
DLOOP. . . . . . . C ADDR 0225H A
DP10 . . . . . . . C ADDR 0181H A
DP12 . . . . . . . C ADDR 018FH A
DP13 . . . . . . . C ADDR 0192H A
E1 . . . . . . . . C ADDR 007AH A
E11. . . . . . . . C ADDR 008FH A
E12. . . . . . . . C ADDR 009BH A
E13. . . . . . . . C ADDR 00AEH A
E2 . . . . . . . . C ADDR 00E3H A
E3 . . . . . . . . C ADDR 00C7H A
FIRST. . . . . . . C ADDR 0115H A
GETKEY . . . . . . C ADDR 01CAH A
GONG . . . . . . . N NUMB 0052H A
JIA. . . . . . . . C ADDR 011CH A
JIAN . . . . . . . C ADDR 0129H A
K12. . . . . . . . C ADDR 01D9H A
K13. . . . . . . . C ADDR 01FEH A
K14. . . . . . . . C ADDR 020BH A
K15. . . . . . . . C ADDR 0213H A
K16. . . . . . . . C ADDR 021EH A
KEYTABLE . . . . . C ADDR 01BAH A
MLOOP. . . . . . . C ADDR 0014H A
N1 . . . . . . . . C ADDR 0080H A
N2 . . . . . . . . C ADDR 0086H A
N21. . . . . . . . C ADDR 00F7H A
N22. . . . . . . . C ADDR 00FDH A
N23. . . . . . . . C ADDR 0103H A
N24. . . . . . . . C ADDR 0109H A
N25. . . . . . . . C ADDR 010FH A
N3 . . . . . . . . C ADDR 008CH A
N4 . . . . . . . . C ADDR 0112H A
NEXT1. . . . . . . C ADDR 0023H A
NEXT10 . . . . . . C ADDR 0059H A
NEXT11 . . . . . . C ADDR 005FH A
NEXT12 . . . . . . C ADDR 0065H A
NEXT13 . . . . . . C ADDR 006BH A
NEXT14 . . . . . . C ADDR 0071H A
NEXT15 . . . . . . C ADDR 0077H A
NEXT2. . . . . . . C ADDR 0029H A
NEXT3. . . . . . . C ADDR 002FH A
NEXT4. . . . . . . C ADDR 0035H A
NEXT5. . . . . . . C ADDR 003BH A
NEXT6. . . . . . . C ADDR 0041H A
NEXT7. . . . . . . C ADDR 0047H A
NEXT8. . . . . . . C ADDR 004DH A
NEXT9. . . . . . . C ADDR 0053H A
OV . . . . . . . . B ADDR 00D0H.2 A
P1 . . . . . . . . D ADDR 0090H A
A51 MACRO ASSEMBLER CALCULATOR 08/05/2006 11:29:50 PAGE 6
SEGTAB . . . . . . C ADDR 019FH A
START. . . . . . . C ADDR 0000H A
TEMP . . . . . . . N NUMB 0040H A
TESTKEY. . . . . . C ADDR 01B1H A
WAIT . . . . . . . C ADDR 0016H A
YJ . . . . . . . . N NUMB 0050H A
YJ1. . . . . . . . N NUMB 0051H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -