📄 test.ls1
字号:
214 ; */
215 ;
216 ; INT8U RESFlag=0x00;
217 ; INT8U OEFlag =0x00;
218 ; INT8U InBuf[130];
219 ; INT8U OutBuf[256];
220 ; INT8U TICKS;
221 ;
222 ; /*
223 ; *****************************************************************************************
****************
224 ; * VARIABLES
225 ; *****************************************************************************************
****************
226 ; */
227 ; OS_STK TaskStartStk[TASK_STK_SIZE]; /* 声明启动任务堆栈
*/
228 ; OS_STK RxTASKStk[TASK_STK_SIZE]; /* 声明接收任务堆栈
*/
229 ; OS_STK TxTASKStk[TASK_STK_SIZE]; /* 声明发送任务堆栈
*/
230 ; OS_STK OETASKStk[TASK_STK_SIZE]; /* 声明加/解密任务堆栈
*/
231 ;
A51 MACRO ASSEMBLER TEST 03/06/2007 22:39:42 PAGE 5
232 ; /*
233 ; *****************************************************************************************
****************
234 ; * FUNCTION PROTOTYPESZ
235 ; *****************************************************************************************
****************
236 ; */
237 ; void TaskStart(void *cszdata) reentrant; /* 声明任务原型
*/
238 ; void RxTASK(void *cszdata) reentrant;
239 ; void TxTASK(void *cszdata) reentrant;
240 ; void OETASK(void *cszdata) reentrant;
241 ; void TaskCreate(void);
242 ;
243 ; /*
244 ; *****************************************************************************************
****************
245 ; * MAIN
246 ; *****************************************************************************************
****************
247 ; */
248 ; void main(void)
249
---- 250 RSEG ?PR?main?TEST
0000 251 main:
252 USING 0
253 ; SOURCE LINE # 68
254 ; {
255 ; SOURCE LINE # 69
256 ; OS_STK *ptos;
257 ; OS_STK *pbos;
258 ; INT32U size;
259 ;
260 ; OSInit(); /* 初始化uC/OS-II
*/
261 ; SOURCE LINE # 74
0000 120000 F 262 LCALL _?OSInit
263 ; InitTimer0(); /* 初始化定时器0
*/
264 ; SOURCE LINE # 75
0003 120000 F 265 LCALL _?InitTimer0
266 ; CommBufInit(); /* 初始化串口缓冲区
*/
267 ; SOURCE LINE # 76
0006 120000 F 268 LCALL _?CommBufInit
269 ; CommInit(); /* 初始化串口
*/
270 ; SOURCE LINE # 77
0009 120000 F 271 LCALL _?CommInit
272 ;
273 ; ptos = &TaskStartStk[0]; /* 51的堆栈是从下向上递增的,所以栈
顶为最低地址 */
274 ; SOURCE LINE # 79
000C 900000 F 275 MOV DPTR,#ptos?040
000F 7401 276 MOV A,#01H
0011 F0 277 MOVX @DPTR,A
0012 A3 278 INC DPTR
0013 7400 F 279 MOV A,#HIGH (TaskStartStk)
0015 F0 280 MOVX @DPTR,A
0016 A3 281 INC DPTR
0017 7400 F 282 MOV A,#LOW (TaskStartStk)
0019 F0 283 MOVX @DPTR,A
284 ; pbos = &TaskStartStk[TASK_STK_SIZE - 1];
285 ; SOURCE LINE # 80
001A A3 286 INC DPTR
001B 7401 287 MOV A,#01H
A51 MACRO ASSEMBLER TEST 03/06/2007 22:39:42 PAGE 6
001D F0 288 MOVX @DPTR,A
001E A3 289 INC DPTR
001F 7400 F 290 MOV A,#HIGH (TaskStartStk+01FFH)
0021 F0 291 MOVX @DPTR,A
0022 A3 292 INC DPTR
0023 7400 F 293 MOV A,#LOW (TaskStartStk+01FFH)
0025 F0 294 MOVX @DPTR,A
295 ; size = TASK_STK_SIZE;
296 ; SOURCE LINE # 81
297 ;---- Variable 'size?042' assigned to Register 'R4/R5/R6/R7' ----
0026 7F00 298 MOV R7,#00H
0028 7E02 299 MOV R6,#02H
002A 7D00 300 MOV R5,#00H
002C 7C00 301 MOV R4,#00H
302 ; /* 建立TaskStart任务
*/
303 ; OSTaskCreateExt(TaskStart,
304 ; (void *)0,
305 ; ptos,
306 ; TASKSTART_PRIO,
307 ; TASKSTART_ID,
308 ; pbos,
309 ; size,
310 ; (void *)0,
311 ; SOURCE LINE # 90
002E 900000 F 312 MOV DPTR,#?_OSTaskCreateExt?BYTE+03H
0031 E4 313 CLR A
0032 F0 314 MOVX @DPTR,A
0033 A3 315 INC DPTR
0034 F0 316 MOVX @DPTR,A
0035 A3 317 INC DPTR
0036 F0 318 MOVX @DPTR,A
0037 900000 F 319 MOV DPTR,#ptos?040
003A E0 320 MOVX A,@DPTR
003B F9 321 MOV R1,A
003C A3 322 INC DPTR
003D E0 323 MOVX A,@DPTR
003E FA 324 MOV R2,A
003F A3 325 INC DPTR
0040 E0 326 MOVX A,@DPTR
0041 900000 F 327 MOV DPTR,#?_OSTaskCreateExt?BYTE+06H
0044 C9 328 XCH A,R1
0045 F0 329 MOVX @DPTR,A
0046 A3 330 INC DPTR
0047 EA 331 MOV A,R2
0048 F0 332 MOVX @DPTR,A
0049 A3 333 INC DPTR
004A E9 334 MOV A,R1
004B F0 335 MOVX @DPTR,A
004C A3 336 INC DPTR
004D 7404 337 MOV A,#04H
004F F0 338 MOVX @DPTR,A
0050 A3 339 INC DPTR
0051 E4 340 CLR A
0052 F0 341 MOVX @DPTR,A
0053 A3 342 INC DPTR
0054 7404 343 MOV A,#04H
0056 F0 344 MOVX @DPTR,A
0057 900000 F 345 MOV DPTR,#pbos?041
005A E0 346 MOVX A,@DPTR
005B F9 347 MOV R1,A
005C A3 348 INC DPTR
005D E0 349 MOVX A,@DPTR
005E FA 350 MOV R2,A
005F A3 351 INC DPTR
0060 E0 352 MOVX A,@DPTR
A51 MACRO ASSEMBLER TEST 03/06/2007 22:39:42 PAGE 7
0061 900000 F 353 MOV DPTR,#?_OSTaskCreateExt?BYTE+0CH
0064 C9 354 XCH A,R1
0065 F0 355 MOVX @DPTR,A
0066 A3 356 INC DPTR
0067 EA 357 MOV A,R2
0068 F0 358 MOVX @DPTR,A
0069 A3 359 INC DPTR
006A E9 360 MOV A,R1
006B F0 361 MOVX @DPTR,A
006C A3 362 INC DPTR
006D 120000 F 363 LCALL ?C?LSTXDATA
0070 900000 F 364 MOV DPTR,#?_OSTaskCreateExt?BYTE+013H
0073 E4 365 CLR A
0074 F0 366 MOVX @DPTR,A
0075 A3 367 INC DPTR
0076 F0 368 MOVX @DPTR,A
0077 A3 369 INC DPTR
0078 F0 370 MOVX @DPTR,A
0079 A3 371 INC DPTR
007A F0 372 MOVX @DPTR,A
007B A3 373 INC DPTR
007C 7403 374 MOV A,#03H
007E F0 375 MOVX @DPTR,A
007F 7BFF 376 MOV R3,#0FFH
0081 7A00 F 377 MOV R2,#HIGH (_?TaskStart)
0083 7900 F 378 MOV R1,#LOW (_?TaskStart)
0085 120000 F 379 LCALL _OSTaskCreateExt
380 ; OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
381 ;
382 ; OSStart(); /* 开始执行
*/
383 ; SOURCE LINE # 93
0088 020000 F 384 LJMP _?OSStart
385 ; END OF main
386
387 ; }
388 ;
389 ; /*
390 ; *****************************************************************************************
****************
391 ; * STARTUP TASK
392 ; *****************************************************************************************
****************
393 ; */
394 ; void TaskStart (void *cszdata) reentrant
395
---- 396 RSEG ?PR?_?TaskStart?TEST
0000 397 _?TaskStart:
398 USING 0
399 ; SOURCE LINE # 101
0000 90FFFD 400 MOV DPTR,#0FFFDH
0003 120000 F 401 LCALL ?C?ADDXBP
0006 EB 402 MOV A,R3
0007 F0 403 MOVX @DPTR,A
0008 A3 404 INC DPTR
0009 EA 405 MOV A,R2
000A F0 406 MOVX @DPTR,A
000B A3 407 INC DPTR
000C E9 408 MOV A,R1
000D F0 409 MOVX @DPTR,A
000E 90FFBA 410 MOV DPTR,#0FFBAH
0011 120000 F 411 LCALL ?C?ADDXBP
412 ; {
413 ; INT16U i=0;
414 ; SOURCE LINE # 103
0014 850083 F 415 MOV DPH,?C_XBP
A51 MACRO ASSEMBLER TEST 03/06/2007 22:39:42 PAGE 8
0017 850082 F 416 MOV DPL,?C_XBP+01H
001A E4 417 CLR A
001B F0 418 MOVX @DPTR,A
001C A3 419 INC DPTR
001D F0 420 MOVX @DPTR,A
421 ; INT16U j=0;
422 ; SOURCE LINE # 104
001E 850083 F 423 MOV DPH,?C_XBP
0021 850082 F 424 MOV DPL,?C_XBP+01H
0024 A3 425 INC DPTR
0025 A3 426 INC DPTR
0026 F0 427 MOVX @DPTR,A
0027 A3 428 INC DPTR
0028 F0 429 MOVX @DPTR,A
430 ; INT16U CRC;
431 ; /*
432 ; 命令表如下,用户可以通剐槟饨邮芾词迪滞牙胧导士
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -