⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.ls1

📁 在ucos上实现的通信协议程序
💻 LS1
📖 第 1 页 / 共 2 页
字号:
                     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 + -