📄 main.ls1
字号:
A51 MACRO ASSEMBLER MAIN 05/22/2007 12:48:49 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/22/2007 12:48:49 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
0095 63 SDA BIT 090H.5
00B8 64 PX0 BIT 0B8H.0
00BA 65 PX1 BIT 0B8H.2
0083 66 DPH DATA 083H
0082 67 DPL DATA 082H
0094 68 SCL BIT 090H.4
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?main?MAIN SEGMENT CODE
75 ?PR?IWRNBYTE?MAIN SEGMENT CODE
76 ?DT?IWRNBYTE?MAIN SEGMENT DATA OVERLAYABLE
77 ?PR?IRDNBYTE?MAIN SEGMENT CODE
78 ?DT?IRDNBYTE?MAIN SEGMENT DATA OVERLAYABLE
79 ?PR?START?MAIN SEGMENT CODE
80 ?PR?STOP?MAIN SEGMENT CODE
81 ?PR?MACK?MAIN SEGMENT CODE
82 ?PR?MNACK?MAIN SEGMENT CODE
83 ?PR?CACK?MAIN SEGMENT CODE
84 ?PR?_WRBYTE?MAIN SEGMENT CODE
85 ?PR?RDBYTE?MAIN SEGMENT CODE
86 ?DT?MAIN SEGMENT DATA
87 ?BI?MAIN SEGMENT BIT
88 EXTRN CODE (?C_STARTUP)
89 PUBLIC MTD
90 PUBLIC MRD
91 PUBLIC SLA
92 PUBLIC ACK
93 PUBLIC SUBA
94 PUBLIC NUMBYTE
95 PUBLIC RDBYTE
96 PUBLIC _WRBYTE
97 PUBLIC CACK
98 PUBLIC MNACK
99 PUBLIC MACK
100 PUBLIC STOP
101 PUBLIC START
102 PUBLIC IRDNBYTE
103 PUBLIC IWRNBYTE
104 PUBLIC main
105
---- 106 RSEG ?DT?IRDNBYTE?MAIN
0000 107 ?IRDNBYTE?BYTE:
0000 108 offset?247: DS 1
0001 109 ORG 1
0001 110 num?248: DS 1
111
---- 112 RSEG ?DT?IWRNBYTE?MAIN
0000 113 ?IWRNBYTE?BYTE:
0000 114 i?145: DS 1
0001 115 ORG 1
0001 116 offset?146: DS 1
117
---- 118 RSEG ?DT?MAIN
0000 119 NUMBYTE: DS 1
0001 120 SUBA: DS 1
0002 121 SLA: DS 1
0003 122 MRD: DS 15
0012 123 MTD: DS 15
A51 MACRO ASSEMBLER MAIN 05/22/2007 12:48:49 PAGE 3
124
---- 125 RSEG ?BI?MAIN
0000 126 ACK: DBIT 1
127 ; #include <reg51.h>
128 ; #include <intrins.h>
129 ;
130 ; typedef unsigned char BYTE;
131 ;
132 ; sbit SDA=P1^5;
133 ; sbit SCL=P1^4;
134 ; bit ACK;
135 ; BYTE SLA;
136 ; BYTE SUBA;
137 ; BYTE NUMBYTE;
138 ;
139 ; BYTE MTD[0x0F];
140 ; BYTE MRD[0x0F];
141 ;
142 ;
143 ; void IWRNBYTE();
144 ; void IRDNBYTE();
145 ; void START();
146 ; void STOP();
147 ; void MACK();
148 ; void MNACK();
149 ; void CACK();
150 ; void WRBYTE(BYTE in);
151 ; BYTE RDBYTE();
152 ;
153 ;
154 ;
155 ; main()
156
---- 157 RSEG ?PR?main?MAIN
0000 158 main:
159 USING 0
160 ; SOURCE LINE # 29
161 ; {
162 ; SOURCE LINE # 30
163 ; BYTE delay=0xF0;
164 ; SOURCE LINE # 31
165 ;---- Variable 'delay?040' assigned to Register 'R7' ----
0000 7FF0 166 MOV R7,#0F0H
167 ; BYTE offset=0;
168 ; SOURCE LINE # 32
169 ;---- Variable 'offset?041' assigned to Register 'R6' ----
0002 E4 170 CLR A
0003 FE 171 MOV R6,A
0004 172 ?C0001:
173 ; BYTE i,j,k;
174 ;
175 ; while(--delay);
176 ; SOURCE LINE # 35
0004 DFFE 177 DJNZ R7,?C0001
0006 178 ?C0003:
179 ;
180 ; while(offset<0x10)
181 ; SOURCE LINE # 37
0006 EE 182 MOV A,R6
0007 C3 183 CLR C
0008 9410 184 SUBB A,#010H
000A 5008 185 JNC ?C0004
186 ; {
187 ; SOURCE LINE # 38
188 ; MTD[offset]=offset;
189 ; SOURCE LINE # 39
A51 MACRO ASSEMBLER MAIN 05/22/2007 12:48:49 PAGE 4
000C 7400 F 190 MOV A,#LOW (MTD)
000E 2E 191 ADD A,R6
000F F8 192 MOV R0,A
0010 A606 193 MOV @R0,AR6
194 ; }
195 ; SOURCE LINE # 40
0012 80F2 196 SJMP ?C0003
0014 197 ?C0004:
198 ;
199 ; SLA=0xA0;
200 ; SOURCE LINE # 42
0014 7500A0 F 201 MOV SLA,#0A0H
202 ; SUBA=0x30;
203 ; SOURCE LINE # 43
0017 750030 F 204 MOV SUBA,#030H
205 ; NUMBYTE=16;
206 ; SOURCE LINE # 44
001A 750010 F 207 MOV NUMBYTE,#010H
208 ; IWRNBYTE();
209 ; SOURCE LINE # 45
001D 120000 F 210 LCALL IWRNBYTE
211 ;
212 ; i=20;
213 ; SOURCE LINE # 47
214 ;---- Variable 'i?042' assigned to Register 'R7' ----
0020 7F14 215 MOV R7,#014H
0022 216 ?C0007:
217 ;
218 ; do
219 ; {
220 ; SOURCE LINE # 50
221 ; j=248;
222 ; SOURCE LINE # 51
223 ;---- Variable 'j?043' assigned to Register 'R6' ----
0022 7EF8 224 MOV R6,#0F8H
0024 225 ?C0010:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -