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

📄 rd_usecooperatingminios.lis

📁 移动机器人(小车)的物理坐标和逻辑坐标的转换源码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0010 80E0              ldi R24,<_ProcPCB
 0012 90E0              ldi R25,>_ProcPCB
 0014 F501              movw R30,R10
 0016 E80F              add R30,R24
 0018 F91F              adc R31,R25
 001A 80E0              ldi R24,<PL_NULL_PROC
 001C 90E0              ldi R25,>PL_NULL_PROC
 001E 9183              std z+1,R25
 0020 8083              std z+0,R24
 0022                   .dbline 120
 0022           ;         ProcPCB[n].IfProcAlive = FALSE;
 0022 80E0              ldi R24,<_ProcPCB+2
 0024 90E0              ldi R25,>_ProcPCB+2
 0026 F501              movw R30,R10
 0028 E80F              add R30,R24
 002A F91F              adc R31,R25
 002C 2224              clr R2
 002E 2082              std z+0,R2
 0030                   .dbline 121
 0030           ;     }
 0030           L4:
 0030                   .dbline 114
 0030 4395              inc R20
 0032           L6:
 0032                   .dbline 114
 0032 4430              cpi R20,4
 0034 50F3              brlo L3
 0036           X0:
 0036                   .dbline 123
 0036           ;               
 0036           ;     COS_REGISTER_PROC_FUNCTION
 0036 00D0              rcall _PROC_Register
 0038                   .dbline -2
 0038           L2:
 0038                   .dbline 0 ; func end
 0038 00C0              rjmp pop_xgset300C
 003A                   .dbsym r Reg1 10 S
 003A                   .dbsym r n1 20 c
 003A                   .dbend
                        .area data(ram, con, rel)
 0002                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\RD_UseCooperatingMiniOs.c
 0002           L9:
 0002                   .blkb 1
                        .area idata
 0002 00                .byte 0
                        .area data(ram, con, rel)
 0003                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\RD_UseCooperatingMiniOs.c
                        .area text(rom, con, rel)
 003A                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\RD_UseCooperatingMiniOs.c
 003A                   .dbfunc e Process_Task _Process_Task fV
 003A                   .dbsym s n L9 c
                        .even
 003A           _Process_Task::
 003A 4A93              st -y,R20
 003C 5A93              st -y,R21
 003E                   .dbline -1
 003E                   .dbline 133
 003E           ; }
 003E           ; 
 003E           ; /***********************************************************
 003E           ; *   函数说明:任务处理函数                                 *
 003E           ; *   输入:    无                                           *
 003E           ; *   输出:    无                                           *
 003E           ; *   调用函数:无                                           *
 003E           ; ***********************************************************/
 003E           ; void Process_Task(void)
 003E           ; {
 003E                   .dbline 136
 003E           ;     static uint8 n = 0;
 003E           ;     
 003E           ;     if (ProcPCB[n].IfProcAlive)                             //处理进程
 003E 20900200          lds R2,L9
 0042 83E0              ldi R24,3
 0044 829D              mul R24,R2
 0046 F001              movw R30,R0
 0048 80E0              ldi R24,<_ProcPCB+2
 004A 90E0              ldi R25,>_ProcPCB+2
 004C E80F              add R30,R24
 004E F91F              adc R31,R25
 0050 2080              ldd R2,z+0
 0052 2220              tst R2
 0054 C1F0              breq L10
 0056           X1:
 0056                   .dbline 137
 0056           ;     {
 0056                   .dbline 138
 0056           ;         ProcPCB[n].IfProcAlive = (*ProcPCB[n].Proc)();
 0056 20900200          lds R2,L9
 005A 83E0              ldi R24,3
 005C 829D              mul R24,R2
 005E 1001              movw R2,R0
 0060 80E0              ldi R24,<_ProcPCB
 0062 90E0              ldi R25,>_ProcPCB
 0064 F101              movw R30,R2
 0066 E80F              add R30,R24
 0068 F91F              adc R31,R25
 006A A081              ldd R26,z+0
 006C B181              ldd R27,z+1
 006E 0F92              push R0
 0070 1F92              push R1
 0072 FD01              movw R30,R26
 0074 00D0              rcall xicall
 0076 3F90              pop R3
 0078 2F90              pop R2
 007A 80E0              ldi R24,<_ProcPCB+2
 007C 90E0              ldi R25,>_ProcPCB+2
 007E F101              movw R30,R2
 0080 E80F              add R30,R24
 0082 F91F              adc R31,R25
 0084 0083              std z+0,R16
 0086                   .dbline 139
 0086           ;     }        
 0086           L10:
 0086                   .dbline 141
 0086           ;     
 0086           ;     n ++;
 0086 80910200          lds R24,L9
 008A 8F5F              subi R24,255    ; addi 1
 008C 80930200          sts L9,R24
 0090                   .dbline 142
 0090           ;     if (n >= g_cCOSPROCCounter)
 0090 20900000          lds R2,_g_cCOSPROCCounter
 0094 8215              cp R24,R2
 0096 78F0              brlo L14
 0098           X2:
 0098                   .dbline 143
 0098           ;     {
 0098                   .dbline 144
 0098           ;         n = 0;
 0098 2224              clr R2
 009A 20920200          sts L9,R2
 009E                   .dbline 145
 009E           ;         g_cScheduleTest = MIN(g_cScheduleTest + 1,254);
 009E 80910100          lds R24,_g_cScheduleTest
 00A2 8F5F              subi R24,255    ; addi 1
 00A4 8E3F              cpi R24,254
 00A6 20F4              brsh L16
 00A8           X3:
 00A8 40910100          lds R20,_g_cScheduleTest
 00AC 4F5F              subi R20,255    ; addi 1
 00AE 01C0              rjmp L17
 00B0           L16:
 00B0 4EEF              ldi R20,254
 00B2           L17:
 00B2 40930100          sts _g_cScheduleTest,R20
 00B6                   .dbline 146
 00B6           ;     }
 00B6           L14:
 00B6                   .dbline -2
 00B6           L8:
 00B6                   .dbline 0 ; func end
 00B6 5991              ld R21,y+
 00B8 4991              ld R20,y+
 00BA 0895              ret
 00BC                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\RD_UseCooperatingMiniOs.c
 0000           _ProcPCB::
 0000                   .blkb 12
 000C                   .dbstruct 0 3 Process
 000C                   .dbfield 0 Proc pfc
 000C                   .dbfield 2 IfProcAlive c
 000C                   .dbend
 000C                   .dbsym e ProcPCB _ProcPCB A[12:4]S[Process]
 000C           ; }
                        .area  func_lit
 0000 0000      PL_NULL_PROC:   .word `_NULL_PROC

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -