📄 main.ls1
字号:
A51 MACRO ASSEMBLER MAIN 05/18/2007 11:58:54 PAGE 1
MACRO ASSEMBLER A51 V8.00d
OBJECT MODULE PLACED IN main.OBJ
ASSEMBLER INVOKED BY: D:\Program Files\Keil 8.08\C51\BIN\A51.EXE main.src PR(.\main.ls1) EP DEBUG
LOC OBJ LINE SOURCE
1 ; .\main.SRC generated from: main.c
2 ; COMPILER INVOKED BY:
3 ; D:\Program Files\Keil 8.08\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND SRC(.\
main.SRC)
4
5 $nomod51
6
7 NAME MAIN
8
0080 9 P0 DATA 080H
0090 10 P1 DATA 090H
00A0 11 P2 DATA 0A0H
00B0 12 P3 DATA 0B0H
00B4 13 T0 BIT 0B0H.4
00D6 14 AC BIT 0D0H.6
00B5 15 T1 BIT 0B0H.5
00AF 16 EA BIT 0A8H.7
00A8 17 IE DATA 0A8H
00B7 18 RD BIT 0B0H.7
00AC 19 ES BIT 0A8H.4
00B8 20 IP DATA 0B8H
0098 21 RI BIT 098H.0
00B2 22 INT0 BIT 0B0H.2
00D7 23 CY BIT 0D0H.7
0099 24 TI BIT 098H.1
00B3 25 INT1 BIT 0B0H.3
00BC 26 PS BIT 0B8H.4
0081 27 SP DATA 081H
00D2 28 OV BIT 0D0H.2
00B6 29 WR BIT 0B0H.6
0099 30 SBUF DATA 099H
0087 31 PCON DATA 087H
00B0 32 P30 BIT 0B0H.0
00B1 33 P31 BIT 0B0H.1
0098 34 SCON DATA 098H
0089 35 TMOD DATA 089H
0088 36 TCON DATA 088H
0089 37 IE0 BIT 088H.1
008B 38 IE1 BIT 088H.3
00F0 39 B DATA 0F0H
00E0 40 ACC DATA 0E0H
00A9 41 ET0 BIT 0A8H.1
00AB 42 ET1 BIT 0A8H.3
008D 43 TF0 BIT 088H.5
008F 44 TF1 BIT 088H.7
009A 45 RB8 BIT 098H.2
008C 46 TH0 DATA 08CH
00A8 47 EX0 BIT 0A8H.0
0088 48 IT0 BIT 088H.0
008D 49 TH1 DATA 08DH
009B 50 TB8 BIT 098H.3
00AA 51 EX1 BIT 0A8H.2
008A 52 IT1 BIT 088H.2
00D0 53 P BIT 0D0H.0
009F 54 SM0 BIT 098H.7
008A 55 TL0 DATA 08AH
009E 56 SM1 BIT 098H.6
008B 57 TL1 DATA 08BH
A51 MACRO ASSEMBLER MAIN 05/18/2007 11:58:54 PAGE 2
009D 58 SM2 BIT 098H.5
00B9 59 PT0 BIT 0B8H.1
00BB 60 PT1 BIT 0B8H.3
00D3 61 RS0 BIT 0D0H.3
008C 62 TR0 BIT 088H.4
00D4 63 RS1 BIT 0D0H.4
008E 64 TR1 BIT 088H.6
00B8 65 PX0 BIT 0B8H.0
00BA 66 PX1 BIT 0B8H.2
0083 67 DPH DATA 083H
0082 68 DPL DATA 082H
009C 69 REN BIT 098H.4
00B0 70 RXD BIT 0B0H.0
00B1 71 TXD BIT 0B0H.1
00D5 72 F0 BIT 0D0H.5
00D0 73 PSW DATA 0D0H
74 ?PR?_display?MAIN SEGMENT CODE
75 ?PR?delay?MAIN SEGMENT CODE
76 ?DT?delay?MAIN SEGMENT DATA OVERLAYABLE
77 ?PR?key1?MAIN SEGMENT CODE
78 ?PR?main?MAIN SEGMENT CODE
79 ?CO?MAIN SEGMENT CODE
80 EXTRN CODE (?C_STARTUP)
81 PUBLIC TEMP
82 PUBLIC DBUF
83 PUBLIC K1TAB
84 PUBLIC SEGTAB
85 PUBLIC main
86 PUBLIC key1
87 PUBLIC delay
88 PUBLIC _display
89
---- 90 DSEG AT 030H
0030 91 DBUF: DS 1
92
---- 93 DSEG AT 040H
0040 94 TEMP: DS 1
95
---- 96 RSEG ?DT?delay?MAIN
0000 97 ?delay?BYTE:
0000 98 j?142: DS 1
99
---- 100 RSEG ?CO?MAIN
0000 101 SEGTAB:
0000 3F 102 DB 03FH
0001 06 103 DB 006H
0002 5B 104 DB 05BH
0003 4F 105 DB 04FH
0004 66 106 DB 066H
0005 6D 107 DB 06DH
0006 7D 108 DB 07DH
0007 07 109 DB 007H
0008 7F 110 DB 07FH
0009 6F 111 DB 06FH
000A 77 112 DB 077H
000B 7C 113 DB 07CH
000C 58 114 DB 058H
000D 5E 115 DB 05EH
000E 79 116 DB 079H
000F 71 117 DB 071H
0010 00 118 DB 000H
0011 40 119 DB 040H
120
0012 121 K1TAB:
0012 81 122 DB 081H
0013 41 123 DB 041H
A51 MACRO ASSEMBLER MAIN 05/18/2007 11:58:54 PAGE 3
0014 21 124 DB 021H
0015 11 125 DB 011H
0016 82 126 DB 082H
0017 42 127 DB 042H
0018 22 128 DB 022H
0019 12 129 DB 012H
001A 84 130 DB 084H
001B 44 131 DB 044H
001C 24 132 DB 024H
001D 14 133 DB 014H
001E 88 134 DB 088H
001F 48 135 DB 048H
0020 28 136 DB 028H
0021 18 137 DB 018H
138
139 ; #include <reg51.h>
140 ; #include <intrins.h>
141 ;
142 ; typedef unsigned char BYTE;
143 ;
144 ; BYTE DBUF _at_ 0x30;
145 ; BYTE TEMP _at_ 0x40;
146 ;
147 ; sbit P30=P3^0;
148 ; sbit P31=P3^1;
149 ;
150 ; BYTE code SEGTAB[]={ 0x3F,0x06,0x5B,0x4F,0x66,0x6D,
151 ; 0x7D,0x07,0x7F,0x6F,0x77,0x7C,
152 ; 0x58,0x5E,0x79,0x71,0x00,0x40};
153 ;
154 ; BYTE code K1TAB[]={ 0x81,0x41,0x21,0x11,
155 ; 0x82,0x42,0x22,0x12,
156 ; 0x84,0x44,0x24,0x14,
157 ; 0x88,0x48,0x28,0x18};
158 ;
159 ;
160 ; void display(BYTE in)
161
---- 162 RSEG ?PR?_display?MAIN
0000 163 _display:
164 USING 0
165 ; SOURCE LINE # 22
166 ;---- Variable 'in?040' assigned to Register 'R7' ----
167 ; {
168 ; SOURCE LINE # 23
169 ; BYTE num;
170 ; DBUF=in;
171 ; SOURCE LINE # 25
0000 8F30 172 MOV DBUF,R7
173 ; TEMP=SEGTAB[DBUF];
174 ; SOURCE LINE # 26
0002 EF 175 MOV A,R7
0003 900000 F 176 MOV DPTR,#SEGTAB
0006 93 177 MOVC A,@A+DPTR
0007 F540 178 MOV TEMP,A
179 ;
180 ; num=8;
181 ; SOURCE LINE # 28
182 ;---- Variable 'num?041' assigned to Register 'R7' ----
0009 7F08 183 MOV R7,#08H
184 ; ACC=TEMP;
185 ; SOURCE LINE # 29
000B 186 ?C0003:
187 ;
188 ; do
189 ; {
A51 MACRO ASSEMBLER MAIN 05/18/2007 11:58:54 PAGE 4
190 ; SOURCE LINE # 32
191 ; #pragma asm
192 ; RLC A
000B 33 193 RLC A
194 ; #pragma endasm
195 ;
196 ; P30=CY;
197 ; SOURCE LINE # 37
000C 92B0 198 MOV P30,C
199 ; P31=0;
200 ; SOURCE LINE # 38
000E C2B1 201 CLR P31
202 ; P31=1;
203 ; SOURCE LINE # 39
0010 D2B1 204 SETB P31
205 ; }while(--num);
206 ; SOURCE LINE # 40
0012 DFF7 207 DJNZ R7,?C0003
208 ; }
209 ; SOURCE LINE # 41
0014 22 210 RET
211 ; END OF _display
212
213 ;
214 ;
215 ;
216 ; void delay()
217
---- 218 RSEG ?PR?delay?MAIN
0000 219 delay:
220 USING 0
221 ; SOURCE LINE # 45
222 ; {
223 ; SOURCE LINE # 46
224 ; BYTE i=0x01;
225 ; SOURCE LINE # 47
226 ;---- Variable 'i?143' assigned to Register 'R7' ----
0000 7F01 227 MOV R7,#01H
0002 228 ?C0007:
229 ;
230 ; do
231 ; {
232 ; SOURCE LINE # 50
233 ; BYTE j=0x88;
234 ; SOURCE LINE # 51
0002 750088 F 235 MOV j?142,#088H
0005 236 ?C0010:
237 ; do
238 ; {
239 ; SOURCE LINE # 53
240 ; _nop_();
241 ; SOURCE LINE # 54
0005 00 242 NOP
243 ; }while(--j);
244 ; SOURCE LINE # 55
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -