📄 test.ls1
字号:
A51 MACRO ASSEMBLER TEST 05/25/2008 19:55:17 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN .\DeBug\test.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE .\DeBug\test.src PR(.\DeBug\test.ls1) EP DEBUG
LOC OBJ LINE SOURCE
1 ; .\DeBug\test.SRC generated from: test.c
2 ; COMPILER INVOKED BY:
3 ; C:\Keil\C51\BIN\C51.EXE test.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\DeBug\test.
lst) SRC(.\DeBug\test.SRC)
4
5 $nomod51
6
7 NAME TEST
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 TEST 05/25/2008 19:55:17 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
0083 65 DPH DATA 083H
0082 66 DPL DATA 082H
009C 67 REN BIT 098H.4
00B0 68 RXD BIT 0B0H.0
00B1 69 TXD BIT 0B0H.1
00D5 70 F0 BIT 0D0H.5
00D0 71 PSW DATA 0D0H
72 ?PR?main?TEST SEGMENT CODE
73 ?PR?_?TaskStarta?TEST SEGMENT CODE
74 ?PR?_?TaskStartb?TEST SEGMENT CODE
75 ?PR?_?TaskStartc?TEST SEGMENT CODE
76 ?CO?TEST SEGMENT CODE
77 ?XD?TEST SEGMENT XDATA
78 EXTRN CODE (_?InitSerial)
79 EXTRN CODE (_?clrscr)
80 EXTRN CODE (_OSTimeDly)
81 EXTRN CODE (_?OSStart)
82 EXTRN CODE (_?OSInit)
83 EXTRN CODE (_?PrintStr)
84 EXTRN CODE (_?InitTimer0)
85 EXTRN CODE (_OSTaskCreate)
86 EXTRN XDATA (?_OSTaskCreate?BYTE)
87 EXTRN CODE (_?InitSerialBuffer)
88 EXTRN CODE (?C_STARTUP)
89 EXTRN CODE (?C?ADDXBP)
90 EXTRN DATA (?C_XBP)
91 PUBLIC TaskStartStkc
92 PUBLIC TaskStartStkb
93 PUBLIC TaskStartStka
94 PUBLIC _?TaskStartc
95 PUBLIC _?TaskStartb
96 PUBLIC _?TaskStarta
97 PUBLIC main
98
---- 99 RSEG ?XD?TEST
0000 100 TaskStartStka: DS 900
0384 101 TaskStartStkb: DS 900
0708 102 TaskStartStkc: DS 900
103
---- 104 RSEG ?CO?TEST
0000 105 ?SC_0:
0000 09414141 106 DB 009H,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'1' ,'1' ,'1'
0004 41414131
0008 3131
000A 31313120 107 DB '1' ,'1' ,'1' ,' ' ,'i' ,'s' ,' ' ,'a' ,'c' ,'t'
000E 69732061
0012 6374
0014 6976652E 108 DB 'i' ,'v' ,'e' ,'.' ,00AH,000H
0018 0A00
109
001A 110 ?SC_26:
001A 09424242 111 DB 009H,'B' ,'B' ,'B' ,'B' ,'B' ,'B' ,'3' ,'3' ,'3'
001E 42424233
0022 3333
0024 33333320 112 DB '3' ,'3' ,'3' ,' ' ,'i' ,'s' ,' ' ,'a' ,'c' ,'t'
0028 69732061
002C 6374
002E 6976652E 113 DB 'i' ,'v' ,'e' ,'.' ,00AH,000H
0032 0A00
A51 MACRO ASSEMBLER TEST 05/25/2008 19:55:17 PAGE 3
114
0034 115 ?SC_52:
0034 09434343 116 DB 009H,'C' ,'C' ,'C' ,'C' ,'C' ,'C' ,'6' ,'6' ,'6'
0038 43434336
003C 3636
003E 36363620 117 DB '6' ,'6' ,'6' ,' ' ,'i' ,'s' ,' ' ,'a' ,'c' ,'t'
0042 69732061
0046 6374
0048 6976652E 118 DB 'i' ,'v' ,'e' ,'.' ,00AH,000H
004C 0A00
119
120 ; #include <includes.h>
121 ;
122 ; void TaskStarta(void *ddata) reentrant;
123 ; void TaskStartb(void *ddata) reentrant;
124 ; void TaskStartc(void *ddata) reentrant;
125 ;
126 ; OS_STK TaskStartStka[MaxStkSize];//注意:我在ASM文件中设置?STACK空间为40H即64。
127 ; OS_STK TaskStartStkb[MaxStkSize];
128 ; OS_STK TaskStartStkc[MaxStkSize];
129 ;
130 ; void main(void)
131
---- 132 RSEG ?PR?main?TEST
0000 133 main:
134 USING 0
135 ; SOURCE LINE # 11
136 ; {
137 ; SOURCE LINE # 12
138 ; OSInit();
139 ; SOURCE LINE # 13
0000 120000 F 140 LCALL _?OSInit
141 ;
142 ; InitTimer0();
143 ; SOURCE LINE # 15
0003 120000 F 144 LCALL _?InitTimer0
145 ; InitSerial();
146 ; SOURCE LINE # 16
0006 120000 F 147 LCALL _?InitSerial
148 ; InitSerialBuffer();
149 ; SOURCE LINE # 17
0009 120000 F 150 LCALL _?InitSerialBuffer
151 ;
152 ; OSTaskCreate(TaskStarta, (void *)0, &TaskStartStka[0],2);
153 ; SOURCE LINE # 19
000C 900000 F 154 MOV DPTR,#?_OSTaskCreate?BYTE+03H
000F E4 155 CLR A
0010 F0 156 MOVX @DPTR,A
0011 A3 157 INC DPTR
0012 F0 158 MOVX @DPTR,A
0013 A3 159 INC DPTR
0014 F0 160 MOVX @DPTR,A
0015 A3 161 INC DPTR
0016 04 162 INC A
0017 F0 163 MOVX @DPTR,A
0018 A3 164 INC DPTR
0019 7400 F 165 MOV A,#HIGH (TaskStartStka)
001B F0 166 MOVX @DPTR,A
001C A3 167 INC DPTR
001D 7400 F 168 MOV A,#LOW (TaskStartStka)
001F F0 169 MOVX @DPTR,A
0020 A3 170 INC DPTR
0021 7402 171 MOV A,#02H
0023 F0 172 MOVX @DPTR,A
0024 7BFF 173 MOV R3,#0FFH
0026 7A00 F 174 MOV R2,#HIGH (_?TaskStarta)
A51 MACRO ASSEMBLER TEST 05/25/2008 19:55:17 PAGE 4
0028 7900 F 175 MOV R1,#LOW (_?TaskStarta)
002A 120000 F 176 LCALL _OSTaskCreate
177 ; OSTaskCreate(TaskStartb, (void *)0, &TaskStartStkb[0],3);
178 ; SOURCE LINE # 20
002D 900000 F 179 MOV DPTR,#?_OSTaskCreate?BYTE+03H
0030 E4 180 CLR A
0031 F0 181 MOVX @DPTR,A
0032 A3 182 INC DPTR
0033 F0 183 MOVX @DPTR,A
0034 A3 184 INC DPTR
0035 F0 185 MOVX @DPTR,A
0036 A3 186 INC DPTR
0037 04 187 INC A
0038 F0 188 MOVX @DPTR,A
0039 A3 189 INC DPTR
003A 7400 F 190 MOV A,#HIGH (TaskStartStkb)
003C F0 191 MOVX @DPTR,A
003D A3 192 INC DPTR
003E 7400 F 193 MOV A,#LOW (TaskStartStkb)
0040 F0 194 MOVX @DPTR,A
0041 A3 195 INC DPTR
0042 7403 196 MOV A,#03H
0044 F0 197 MOVX @DPTR,A
0045 7BFF 198 MOV R3,#0FFH
0047 7A00 F 199 MOV R2,#HIGH (_?TaskStartb)
0049 7900 F 200 MOV R1,#LOW (_?TaskStartb)
004B 120000 F 201 LCALL _OSTaskCreate
202 ; OSTaskCreate(TaskStartc, (void *)0, &TaskStartStkc[0],4);
203 ; SOURCE LINE # 21
004E 900000 F 204 MOV DPTR,#?_OSTaskCreate?BYTE+03H
0051 E4 205 CLR A
0052 F0 206 MOVX @DPTR,A
0053 A3 207 INC DPTR
0054 F0 208 MOVX @DPTR,A
0055 A3 209 INC DPTR
0056 F0 210 MOVX @DPTR,A
0057 A3 211 INC DPTR
0058 04 212 INC A
0059 F0 213 MOVX @DPTR,A
005A A3 214 INC DPTR
005B 7400 F 215 MOV A,#HIGH (TaskStartStkc)
005D F0 216 MOVX @DPTR,A
005E A3 217 INC DPTR
005F 7400 F 218 MOV A,#LOW (TaskStartStkc)
0061 F0 219 MOVX @DPTR,A
0062 A3 220 INC DPTR
0063 7404 221 MOV A,#04H
0065 F0 222 MOVX @DPTR,A
0066 7BFF 223 MOV R3,#0FFH
0068 7A00 F 224 MOV R2,#HIGH (_?TaskStartc)
006A 7900 F 225 MOV R1,#LOW (_?TaskStartc)
006C 120000 F 226 LCALL _OSTaskCreate
227 ;
228 ; OSStart();
229 ; SOURCE LINE # 23
006F 020000 F 230 LJMP _?OSStart
231 ; END OF main
232
233 ; }
234 ;
235 ; void TaskStarta(void *ddata) reentrant
236
---- 237 RSEG ?PR?_?TaskStarta?TEST
0000 238 _?TaskStarta:
239 USING 0
240 ; SOURCE LINE # 26
A51 MACRO ASSEMBLER TEST 05/25/2008 19:55:17 PAGE 5
0000 90FFFD 241 MOV DPTR,#0FFFDH
0003 120000 F 242 LCALL ?C?ADDXBP
0006 EB 243 MOV A,R3
0007 F0 244 MOVX @DPTR,A
0008 A3 245 INC DPTR
0009 EA 246 MOV A,R2
000A F0 247 MOVX @DPTR,A
000B A3 248 INC DPTR
000C E9 249 MOV A,R1
000D F0 250 MOVX @DPTR,A
251 ; {
252 ; ddata=ddata;
253 ; SOURCE LINE # 28
000E 850083 F 254 MOV DPH,?C_XBP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -