📄 test.ls1
字号:
0006 120000 F 165 LCALL _?InitSerial
166 ; InitSerialBuffer();
167 ; SOURCE LINE # 17
0009 120000 F 168 LCALL _?InitSerialBuffer
169 ;
170 ; OSTaskCreate(TaskStartyya, (void *)0, &TaskStartStkyya[0],2);
171 ; SOURCE LINE # 19
000C 900000 F 172 MOV DPTR,#?_OSTaskCreate?BYTE+03H
000F E4 173 CLR A
0010 F0 174 MOVX @DPTR,A
0011 A3 175 INC DPTR
0012 F0 176 MOVX @DPTR,A
0013 A3 177 INC DPTR
0014 F0 178 MOVX @DPTR,A
0015 A3 179 INC DPTR
0016 04 180 INC A
0017 F0 181 MOVX @DPTR,A
0018 A3 182 INC DPTR
0019 7400 F 183 MOV A,#HIGH (TaskStartStkyya)
001B F0 184 MOVX @DPTR,A
001C A3 185 INC DPTR
001D 7400 F 186 MOV A,#LOW (TaskStartStkyya)
001F F0 187 MOVX @DPTR,A
0020 A3 188 INC DPTR
0021 7402 189 MOV A,#02H
0023 F0 190 MOVX @DPTR,A
0024 7BFF 191 MOV R3,#0FFH
0026 7A00 F 192 MOV R2,#HIGH (_?TaskStartyya)
0028 7900 F 193 MOV R1,#LOW (_?TaskStartyya)
002A 120000 F 194 LCALL _OSTaskCreate
195 ; OSTaskCreate(TaskStartyyb, (void *)0, &TaskStartStkyyb[0],3);
196 ; SOURCE LINE # 20
002D 900000 F 197 MOV DPTR,#?_OSTaskCreate?BYTE+03H
0030 E4 198 CLR A
0031 F0 199 MOVX @DPTR,A
0032 A3 200 INC DPTR
0033 F0 201 MOVX @DPTR,A
0034 A3 202 INC DPTR
0035 F0 203 MOVX @DPTR,A
0036 A3 204 INC DPTR
0037 04 205 INC A
0038 F0 206 MOVX @DPTR,A
0039 A3 207 INC DPTR
003A 7400 F 208 MOV A,#HIGH (TaskStartStkyyb)
003C F0 209 MOVX @DPTR,A
003D A3 210 INC DPTR
003E 7400 F 211 MOV A,#LOW (TaskStartStkyyb)
0040 F0 212 MOVX @DPTR,A
0041 A3 213 INC DPTR
0042 7403 214 MOV A,#03H
0044 F0 215 MOVX @DPTR,A
0045 7BFF 216 MOV R3,#0FFH
0047 7A00 F 217 MOV R2,#HIGH (_?TaskStartyyb)
0049 7900 F 218 MOV R1,#LOW (_?TaskStartyyb)
004B 120000 F 219 LCALL _OSTaskCreate
220 ; OSTaskCreate(TaskStartyyc, (void *)0, &TaskStartStkyyc[0],4);
A51 MACRO ASSEMBLER TEST 09/04/2007 10:31:12 PAGE 5
221 ; SOURCE LINE # 21
004E 900000 F 222 MOV DPTR,#?_OSTaskCreate?BYTE+03H
0051 E4 223 CLR A
0052 F0 224 MOVX @DPTR,A
0053 A3 225 INC DPTR
0054 F0 226 MOVX @DPTR,A
0055 A3 227 INC DPTR
0056 F0 228 MOVX @DPTR,A
0057 A3 229 INC DPTR
0058 04 230 INC A
0059 F0 231 MOVX @DPTR,A
005A A3 232 INC DPTR
005B 7400 F 233 MOV A,#HIGH (TaskStartStkyyc)
005D F0 234 MOVX @DPTR,A
005E A3 235 INC DPTR
005F 7400 F 236 MOV A,#LOW (TaskStartStkyyc)
0061 F0 237 MOVX @DPTR,A
0062 A3 238 INC DPTR
0063 7404 239 MOV A,#04H
0065 F0 240 MOVX @DPTR,A
0066 7BFF 241 MOV R3,#0FFH
0068 7A00 F 242 MOV R2,#HIGH (_?TaskStartyyc)
006A 7900 F 243 MOV R1,#LOW (_?TaskStartyyc)
006C 120000 F 244 LCALL _OSTaskCreate
245 ;
246 ; OSStart();
247 ; SOURCE LINE # 23
006F 020000 F 248 LJMP _?OSStart
249 ; END OF main
250
251 ; }
252 ;
253 ;
254 ; void TaskStartyya(void *yydata) reentrant
255
---- 256 RSEG ?PR?_?TaskStartyya?TEST
0000 257 _?TaskStartyya:
258 USING 0
259 ; SOURCE LINE # 27
0000 90FFFD 260 MOV DPTR,#0FFFDH
0003 120000 F 261 LCALL ?C?ADDXBP
0006 EB 262 MOV A,R3
0007 F0 263 MOVX @DPTR,A
0008 A3 264 INC DPTR
0009 EA 265 MOV A,R2
000A F0 266 MOVX @DPTR,A
000B A3 267 INC DPTR
000C E9 268 MOV A,R1
000D F0 269 MOVX @DPTR,A
270 ; {
271 ; yydata=yydata;
272 ; SOURCE LINE # 29
000E 850083 F 273 MOV DPH,?C_XBP
0011 850082 F 274 MOV DPL,?C_XBP+01H
0014 E0 275 MOVX A,@DPTR
0015 F9 276 MOV R1,A
0016 A3 277 INC DPTR
0017 E0 278 MOVX A,@DPTR
0018 FA 279 MOV R2,A
0019 A3 280 INC DPTR
001A E0 281 MOVX A,@DPTR
001B 850083 F 282 MOV DPH,?C_XBP
001E 850082 F 283 MOV DPL,?C_XBP+01H
0021 C9 284 XCH A,R1
0022 F0 285 MOVX @DPTR,A
0023 A3 286 INC DPTR
A51 MACRO ASSEMBLER TEST 09/04/2007 10:31:12 PAGE 6
0024 EA 287 MOV A,R2
0025 F0 288 MOVX @DPTR,A
0026 A3 289 INC DPTR
0027 E9 290 MOV A,R1
0028 F0 291 MOVX @DPTR,A
292 ;
293 ; //注意!在最高优先级任务循环前打开定时器中断,以满足在OSStart()前不产生中断的要求。
294 ; //在系统调用OSInit()时会自动创建一个优先级最低的系统任务,创建过程中会调用OS_EXIT_C
RITICAL()打开EA。
295 ; //若在InitTimer0()里打开T0中断,则违反了在OSStart()前不产生中断的要求。
296 ; //切记将ET0=1;放在最高优先级任务里,OSStart()将调用OSStartHighRdy()第一个运行最高优先
级任务,这样ET0=1总能被第一个执行。
297 ; ET0=1;
298 ; SOURCE LINE # 35
0029 D2A9 299 SETB ET0
300 ;
301 ; clrscr();
302 ; SOURCE LINE # 37
002B 120000 F 303 LCALL _?clrscr
304 ; PrintStr("\n\t\t*******************************\n");
305 ; SOURCE LINE # 38
002E 7BFF 306 MOV R3,#0FFH
0030 7A00 F 307 MOV R2,#HIGH (?SC_0)
0032 7900 F 308 MOV R1,#LOW (?SC_0)
0034 120000 F 309 LCALL _?PrintStr
310 ; PrintStr("\t\t* Hello! csz *\n");
311 ; SOURCE LINE # 39
0037 7BFF 312 MOV R3,#0FFH
0039 7A00 F 313 MOV R2,#HIGH (?SC_36)
003B 7900 F 314 MOV R1,#LOW (?SC_36)
003D 120000 F 315 LCALL _?PrintStr
316 ; PrintStr("\t\t*******************************\n\n\n");
317 ; SOURCE LINE # 40
0040 7BFF 318 MOV R3,#0FFH
0042 7A00 F 319 MOV R2,#HIGH (?SC_73)
0044 7900 F 320 MOV R1,#LOW (?SC_73)
0046 120000 F 321 LCALL _?PrintStr
322 ;
323 ; for(;;){
324 ; SOURCE LINE # 42
0049 325 ?C0002:
326 ; PrintStr("\tAAAAAA111111 is active.\n");
327 ; SOURCE LINE # 43
0049 7BFF 328 MOV R3,#0FFH
004B 7A00 F 329 MOV R2,#HIGH (?SC_110)
004D 7900 F 330 MOV R1,#LOW (?SC_110)
004F 120000 F 331 LCALL _?PrintStr
332 ; /* P4=P4&0xF8;
333 ; P4=P4|0x07;
334 ; P4=P4&0xF2;*/
335 ; OSTimeDly(OS_TICKS_PER_SEC);
336 ; SOURCE LINE # 47
0052 7F32 337 MOV R7,#032H
0054 7E00 338 MOV R6,#00H
0056 120000 F 339 LCALL _OSTimeDly
340 ;
341 ; }
342 ; SOURCE LINE # 49
0059 80EE 343 SJMP ?C0002
344 ; END OF _?TaskStartyya
345
346 ; }
347 ;
348 ; void TaskStartyyb(void *yydata) reentrant
349
---- 350 RSEG ?PR?_?TaskStartyyb?TEST
A51 MACRO ASSEMBLER TEST 09/04/2007 10:31:12 PAGE 7
0000 351 _?TaskStartyyb:
352 USING 0
353 ; SOURCE LINE # 52
0000 90FFFD 354 MOV DPTR,#0FFFDH
0003 120000 F 355 LCALL ?C?ADDXBP
0006 EB 356 MOV A,R3
0007 F0 357 MOVX @DPTR,A
0008 A3 358 INC DPTR
0009 EA 359 MOV A,R2
000A F0 360 MOVX @DPTR,A
000B A3 361 INC DPTR
000C E9 362 MOV A,R1
000D F0 363 MOVX @DPTR,A
364 ; {
365 ; yydata=yydata;
366 ; SOURCE LINE # 54
000E 850083 F 367 MOV DPH,?C_XBP
0011 850082 F 368 MOV DPL,?C_XBP+01H
0014 E0 369 MOVX A,@DPTR
0015 F9 370 MOV R1,A
0016 A3 371 INC DPTR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -