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

📄 rd_usecooperatingminios.lis

📁 AVR基本工程模板(含调度器) 内有详细说明
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 000A           ;         #endif
 000A           ;         ProcPCB[n].Proc   = NULL_PROC;
 000A 83E0              ldi R24,3
 000C 849F              mul R24,R20
 000E F001              movw R30,R0
 0010 80E0              ldi R24,<_ProcPCB
 0012 90E0              ldi R25,>_ProcPCB
 0014 E80F              add R30,R24
 0016 F91F              adc R31,R25
 0018 80E0              ldi R24,<PL_NULL_PROC
 001A 90E0              ldi R25,>PL_NULL_PROC
 001C 9183              std z+1,R25
 001E 8083              std z+0,R24
 0020                   .dbline 119
 0020           ;         ProcPCB[n].IfProcAlive = FALSE;
 0020 83E0              ldi R24,3
 0022 849F              mul R24,R20
 0024 F001              movw R30,R0
 0026 80E0              ldi R24,<_ProcPCB+2
 0028 90E0              ldi R25,>_ProcPCB+2
 002A E80F              add R30,R24
 002C F91F              adc R31,R25
 002E 2224              clr R2
 0030 2082              std z+0,R2
 0032                   .dbline 120
 0032           ;     }
 0032           L4:
 0032                   .dbline 113
 0032 4395              inc R20
 0034           L6:
 0034                   .dbline 113
 0034 4230              cpi R20,2
 0036 48F3              brlo L3
 0038           X0:
 0038                   .dbline 122
 0038           ;               
 0038           ;     COS_REGISTER_PROC_FUNCTION
 0038 00D0              rcall _PROC_Register
 003A                   .dbline -2
 003A           L2:
 003A                   .dbline 0 ; func end
 003A 4991              ld R20,y+
 003C 0895              ret
 003E                   .dbsym r n 20 c
 003E                   .dbend
                        .area data(ram, con, rel)
 0001                   .dbfile H:\单片机\工程模板\基本工程模板with调度器\RD_UseCooperatingMiniOs.c
 0001           L9:
 0001                   .blkb 1
                        .area idata
 0001 00                .byte 0
                        .area data(ram, con, rel)
 0002                   .dbfile H:\单片机\工程模板\基本工程模板with调度器\RD_UseCooperatingMiniOs.c
                        .area text(rom, con, rel)
 003E                   .dbfile H:\单片机\工程模板\基本工程模板with调度器\RD_UseCooperatingMiniOs.c
 003E                   .dbfunc e Process_Task _Process_Task fV
 003E                   .dbsym s n L9 c
                        .even
 003E           _Process_Task::
 003E                   .dbline -1
 003E                   .dbline 132
 003E           ; }
 003E           ; 
 003E           ; /***********************************************************
 003E           ; *   函数说明:任务处理函数                                 *
 003E           ; *   输入:    无                                           *
 003E           ; *   输出:    无                                           *
 003E           ; *   调用函数:无                                           *
 003E           ; ***********************************************************/
 003E           ; void Process_Task(void)
 003E           ; {
 003E                   .dbline 135
 003E           ;     static uint8 n = 0;
 003E           ;     
 003E           ;     if (ProcPCB[n].IfProcAlive)                             //处理进程
 003E 20900100          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 136
 0056           ;     {
 0056                   .dbline 137
 0056           ;         ProcPCB[n].IfProcAlive = (*ProcPCB[n].Proc)();
 0056 20900100          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 xicallx
 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 138
 0086           ;     }        
 0086           L10:
 0086                   .dbline 140
 0086           ;     
 0086           ;     n ++;
 0086 80910100          lds R24,L9
 008A 8F5F              subi R24,255    ; addi 1
 008C 80930100          sts L9,R24
 0090                   .dbline 141
 0090           ;     if (n >= g_cCOSPROCCounter)
 0090 20900000          lds R2,_g_cCOSPROCCounter
 0094 8215              cp R24,R2
 0096 18F0              brlo L14
 0098           X2:
 0098                   .dbline 142
 0098           ;     {
 0098                   .dbline 143
 0098           ;         n = 0;
 0098 2224              clr R2
 009A 20920100          sts L9,R2
 009E                   .dbline 144
 009E           ;     }
 009E           L14:
 009E                   .dbline -2
 009E           L8:
 009E                   .dbline 0 ; func end
 009E 0895              ret
 00A0                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile H:\单片机\工程模板\基本工程模板with调度器\RD_UseCooperatingMiniOs.c
 0000           _ProcPCB::
 0000                   .blkb 6
 0006                   .dbstruct 0 3 Process
 0006                   .dbfield 0 Proc pfc
 0006                   .dbfield 2 IfProcAlive c
 0006                   .dbend
 0006                   .dbsym e ProcPCB _ProcPCB A[6:2]S[Process]
 0006           ; }
                        .area  func_lit
 0000 0000      PL_NULL_PROC:   .word `_NULL_PROC

⌨️ 快捷键说明

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