📄 main.ls1
字号:
A51 MACRO ASSEMBLER MAIN 05/18/2007 11:58:16 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
0098 32 SCON DATA 098H
0089 33 TMOD DATA 089H
0088 34 TCON DATA 088H
0089 35 IE0 BIT 088H.1
008B 36 IE1 BIT 088H.3
00F0 37 B DATA 0F0H
00E0 38 ACC DATA 0E0H
00A9 39 ET0 BIT 0A8H.1
00AB 40 ET1 BIT 0A8H.3
008D 41 TF0 BIT 088H.5
008F 42 TF1 BIT 088H.7
009A 43 RB8 BIT 098H.2
008C 44 TH0 DATA 08CH
00A8 45 EX0 BIT 0A8H.0
0088 46 IT0 BIT 088H.0
008D 47 TH1 DATA 08DH
009B 48 TB8 BIT 098H.3
00AA 49 EX1 BIT 0A8H.2
008A 50 IT1 BIT 088H.2
00D0 51 P BIT 0D0H.0
009F 52 SM0 BIT 098H.7
008A 53 TL0 DATA 08AH
009E 54 SM1 BIT 098H.6
008B 55 TL1 DATA 08BH
009D 56 SM2 BIT 098H.5
00B9 57 PT0 BIT 0B8H.1
A51 MACRO ASSEMBLER MAIN 05/18/2007 11:58:16 PAGE 2
00BB 58 PT1 BIT 0B8H.3
00D3 59 RS0 BIT 0D0H.3
008C 60 TR0 BIT 088H.4
00D4 61 RS1 BIT 0D0H.4
008E 62 TR1 BIT 088H.6
00B8 63 PX0 BIT 0B8H.0
00BA 64 PX1 BIT 0B8H.2
00B1 65 CLK BIT 0B0H.1
00B0 66 DIN BIT 0B0H.0
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?DELAY?MAIN SEGMENT CODE
75 ?DT?DELAY?MAIN SEGMENT DATA OVERLAYABLE
76 ?PR?_DISP?MAIN SEGMENT CODE
77 ?PR?KEY?MAIN SEGMENT CODE
78 ?PR?main?MAIN SEGMENT CODE
79 ?CO?MAIN SEGMENT CODE
80 ?DT?MAIN SEGMENT DATA
81 EXTRN CODE (?C_STARTUP)
82 PUBLIC TEMP
83 PUBLIC DBUF
84 PUBLIC SEGTAB
85 PUBLIC K0TAB
86 PUBLIC main
87 PUBLIC KEY
88 PUBLIC _DISP
89 PUBLIC DELAY
90
---- 91 RSEG ?DT?DELAY?MAIN
0000 92 ?DELAY?BYTE:
0000 93 j?040: DS 1
94
---- 95 RSEG ?DT?MAIN
0000 96 DBUF: DS 1
0001 97 TEMP: DS 1
98
---- 99 RSEG ?CO?MAIN
0000 100 K0TAB:
0000 FE 101 DB 0FEH
0001 FD 102 DB 0FDH
0002 FB 103 DB 0FBH
0003 F7 104 DB 0F7H
0004 EF 105 DB 0EFH
0005 DF 106 DB 0DFH
0006 BF 107 DB 0BFH
0007 7F 108 DB 07FH
109
0008 110 SEGTAB:
0008 3F 111 DB 03FH
0009 06 112 DB 006H
000A 5B 113 DB 05BH
000B 4F 114 DB 04FH
000C 66 115 DB 066H
000D 6D 116 DB 06DH
000E 7D 117 DB 07DH
000F 07 118 DB 007H
0010 7F 119 DB 07FH
0011 6F 120 DB 06FH
121
122 ; #include <reg51.h>
123 ; typedef unsigned char BYTE;
A51 MACRO ASSEMBLER MAIN 05/18/2007 11:58:16 PAGE 3
124 ;
125 ; sbit DIN=P3^0;
126 ; sbit CLK=P3^1;
127 ;
128 ; BYTE DBUF;
129 ; BYTE TEMP;
130 ;
131 ; BYTE code K0TAB[]={ 0xFE,0xFD,0xFB,0xF7,
132 ; 0xEF,0xDF,0xBF,0x7F};
133 ;
134 ; BYTE code SEGTAB[]={0x3F,0x06,0x5B,0x4F,0x66,
135 ; 0x6D,0x7D,0x07,0x7F,0x6F};
136 ;
137 ;
138 ; void DELAY()
139
---- 140 RSEG ?PR?DELAY?MAIN
0000 141 DELAY:
142 USING 0
143 ; SOURCE LINE # 17
144 ; {
145 ; SOURCE LINE # 18
146 ; BYTE i=0x02;
147 ; SOURCE LINE # 19
148 ;---- Variable 'i?041' assigned to Register 'R7' ----
0000 7F02 149 MOV R7,#02H
0002 150 ?C0003:
151 ;
152 ; do
153 ; {
154 ; SOURCE LINE # 22
155 ; BYTE j=0xF8;
156 ; SOURCE LINE # 23
0002 7500F8 F 157 MOV j?040,#0F8H
158 ; do
159 ; {}while(--j);
160 ; SOURCE LINE # 25
0005 161 ?C0004:
0005 D500FD F 162 DJNZ j?040,?C0004
163 ; }while(--i);
164 ; SOURCE LINE # 26
0008 DFF8 165 DJNZ R7,?C0003
166 ; }
167 ; SOURCE LINE # 27
000A 22 168 RET
169 ; END OF DELAY
170
171 ;
172 ;
173 ; void DISP(BYTE in)
174
---- 175 RSEG ?PR?_DISP?MAIN
0000 176 _DISP:
177 USING 0
178 ; SOURCE LINE # 30
179 ;---- Variable 'in?142' assigned to Register 'R7' ----
180 ; {
181 ; SOURCE LINE # 31
182 ; BYTE num=8;
183 ; SOURCE LINE # 32
184 ;---- Variable 'num?143' assigned to Register 'R6' ----
0000 7E08 185 MOV R6,#08H
186 ;
187 ; DBUF=in;
188 ; SOURCE LINE # 34
0002 8F00 F 189 MOV DBUF,R7
A51 MACRO ASSEMBLER MAIN 05/18/2007 11:58:16 PAGE 4
190 ;
191 ; TEMP=SEGTAB[DBUF];
192 ; SOURCE LINE # 36
0004 EF 193 MOV A,R7
0005 900000 F 194 MOV DPTR,#SEGTAB
0008 93 195 MOVC A,@A+DPTR
0009 F500 F 196 MOV TEMP,A
197 ; ACC=TEMP;
198 ; SOURCE LINE # 37
000B 199 ?C0010:
200 ;
201 ; do
202 ; {
203 ; SOURCE LINE # 40
204 ; #pragma asm
205 ; RLC A
000B 33 206 RLC A
207 ; #pragma endasm
208 ;
209 ; DIN=CY;
210 ; SOURCE LINE # 45
000C 92B0 211 MOV DIN,C
212 ; CLK=0;
213 ; SOURCE LINE # 46
000E C2B1 214 CLR CLK
215 ; CLK=1;
216 ; SOURCE LINE # 47
0010 D2B1 217 SETB CLK
218 ; }while(--num);
219 ; SOURCE LINE # 48
0012 DEF7 220 DJNZ R6,?C0010
221 ; }
222 ; SOURCE LINE # 49
0014 22 223 RET
224 ; END OF _DISP
225
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -