📄 test.lst
字号:
\ 00000064 07D0 RCALL ?0085
\ 00000066 0BD0 RCALL ?0086
\ 00000068 .... RJMP OSSemPend
\ ?0072:
\ 0000006A 01D0 RCALL ?0084
\ ?0071:
\ 0000006C 03C0 RJMP ?0085
\ ?0084:
\ 0000006E 0C2F MOV R16,R28
\ 00000070 1D2F MOV R17,R29
\ 00000072 0895 RET
\ ?0085:
\ 00000074 1A93 ST -Y,R17
\ 00000076 0A93 ST -Y,R16
\ 00000078 4427 CLR R20
\ 0000007A 5527 CLR R21
\ 0000007C 0895 RET
\ ?0086:
\ 0000007E 0091.... LDS R16,LWRD(DispStrSem)
\ 00000082 1091.... LDS R17,LWRD((DispStrSem+1))
\ 00000086 0895 RET
90 }
\ TaskStart:
91
92 /*
93 **************************************************************************************************************
94 * STARTUP TASK
95 **************************************************************************************************************
96 */
97 void TaskStart (void *data)
98 {
\ 00000088 .... RCALL ?PROLOGUE4_L09
\ 0000008A 2B97 SBIW R28,LOW(11)
99 INT8U i;
100 INT8U err;
101 char s[10];
102
103
104 data = data; /* Prevent compiler warning */
105
106 VT102DispClrScr(); /* Clear the screen */
\ 0000008C D4D1 RCALL VT102DispClrScr
107 VT102DispStr(26, 1, "uC/OS-II, The Real-Time Kernel", COLOR_WHITE, COLOR_RED);
\ 0000008E 01E0 LDI R16,1
\ 00000090 0A93 ST -Y,R16
\ 00000092 07E0 LDI R16,7
\ 00000094 0A93 ST -Y,R16
\ 00000096 .... LDI R16,LOW(?0022)
\ 00000098 .... LDI R17,(?0022 >> 8)
\ 0000009A 79D0 RCALL ?0075
\ 0000009C 41E0 LDI R20,1
\ 0000009E 0AE1 LDI R16,26
108 VT102DispStr(33, 2, "Jean J. Labrosse", COLOR_WHITE, COLOR_BLACK);
\ 000000A0 D6DF RCALL ?0067
\ 000000A2 .... LDI R16,LOW(?0023)
\ 000000A4 .... LDI R17,(?0023 >> 8)
\ 000000A6 73D0 RCALL ?0075
\ 000000A8 42E0 LDI R20,2
\ 000000AA 01E2 LDI R16,33
109 VT102DispStr(29, 3, "AVR port by Ole Saether", COLOR_WHITE, COLOR_BLACK);
\ 000000AC D0DF RCALL ?0067
\ 000000AE .... LDI R16,LOW(?0024)
\ 000000B0 .... LDI R17,(?0024 >> 8)
\ 000000B2 6DD0 RCALL ?0075
\ 000000B4 43E0 LDI R20,3
\ 000000B6 0DE1 LDI R16,29
110 VT102DispStr(1, 23, "Determining CPU's capacity ...", COLOR_WHITE, COLOR_BLACK);
\ 000000B8 CADF RCALL ?0067
\ 000000BA .... LDI R16,LOW(?0025)
\ 000000BC .... LDI R17,(?0025 >> 8)
\ 000000BE 63D0 RCALL ?0073
\ 000000C0 01E0 LDI R16,1
\ 000000C2 CAD1 RCALL VT102DispStr
111
112 OSStatInit(); /* Initialize uC/OS-II's statistics */
\ 000000C4 .... RCALL OSStatInit
113
114 for (i = 0; i < N_TASKS; i++) { /* Create N_TASKS identical tasks */
\ 000000C6 8827 CLR R24
\ ?0027:
\ 000000C8 8A30 CPI R24,LOW(10)
\ 000000CA C8F4 BRCC ?0026
115 TaskData[i] = '0' + i; /* Each task will display its own letter */
\ 000000CC 082F MOV R16,R24
\ 000000CE 005D SUBI R16,LOW(208)
\ 000000D0 E82F MOV R30,R24
\ 000000D2 FF27 CLR R31
\ 000000D4 .... SUBI R30,LOW(-(TaskData))
\ 000000D6 .... SBCI R31,HIGH(-(TaskData))
\ 000000D8 0083 ST Z,R16
116 OSTaskCreate(Task, (void *)&TaskData[i], (void *)&TaskStk[i][TASK_STK_SIZE - 1], i + 1);
\ 000000DA 082F MOV R16,R24
\ 000000DC 0395 INC R16
\ 000000DE 0A93 ST -Y,R16
\ 000000E0 182F MOV R17,R24
\ 000000E2 0027 CLR R16
\ 000000E4 110F LSL R17
\ 000000E6 .... SUBI R16,LOW(-((TaskStk+511)))
\ 000000E8 .... SBCI R17,HIGH(-((TaskStk+511)))
\ 000000EA 51D0 RCALL ?0075
\ 000000EC 482F MOV R20,R24
\ 000000EE 5527 CLR R21
\ 000000F0 .... SUBI R20,LOW(-(TaskData))
\ 000000F2 .... SBCI R21,HIGH(-(TaskData))
\ 000000F4 .... LDI R16,LOW(Task/2)
\ 000000F6 .... LDI R17,(Task/2 >> 8)
\ 000000F8 .... RCALL OSTaskCreate
\ 000000FA 8395 INC R24
\ 000000FC E5CF RJMP ?0027
\ ?0026:
117 }
118 VT102DispStr(1, 23, "#Tasks : xxxxx CPU Usage: xxx %", COLOR_WHITE, COLOR_BLACK);
\ 000000FE A8DF RCALL ?0068
\ 00000100 .... LDI R16,LOW(?0030)
\ 00000102 .... LDI R17,(?0030 >> 8)
\ 00000104 40D0 RCALL ?0073
\ 00000106 01E0 LDI R16,1
119 VT102DispStr(1, 24, "#Task switch/sec: xxxxx", COLOR_WHITE, COLOR_BLACK);
\ 00000108 A2DF RCALL ?0067
\ 0000010A .... LDI R16,LOW(?0031)
\ 0000010C .... LDI R17,(?0031 >> 8)
\ 0000010E 3FD0 RCALL ?0075
\ 00000110 48E1 LDI R20,24
\ 00000112 01E0 LDI R16,1
\ 00000114 A1D1 RCALL VT102DispStr
\ ?0033:
120 for (;;) {
121 SPrintDec(s, (INT16U)OSTaskCtr, 5); /* Display #tasks running */
\ 00000116 05E0 LDI R16,5
\ 00000118 0A93 ST -Y,R16
\ 0000011A 4091.... LDS R20,LWRD(OSTaskCtr)
\ 0000011E 5527 CLR R21
\ 00000120 39D0 RCALL ?0079
122 VT102DispStr(19, 23, s, COLOR_BLUE, COLOR_CYAN);
\ 00000122 2AD0 RCALL ?0070
\ 00000124 31D0 RCALL ?0074
\ 00000126 03E1 LDI R16,19
\ 00000128 97D1 RCALL VT102DispStr
123 SPrintDec(s, (INT16U)OSCPUUsage, 3); /* Display CPU usage in % */
\ 0000012A 03E0 LDI R16,3
\ 0000012C 0A93 ST -Y,R16
\ 0000012E 4091.... LDS R20,LWRD(OSCPUUsage)
\ 00000132 542F MOV R21,R20
\ 00000134 540F ADD R21,R20
\ 00000136 550B SBC R21,R21
\ 00000138 2DD0 RCALL ?0079
124 VT102DispStr(37, 23, s, COLOR_BLUE, COLOR_CYAN);
\ 0000013A 1ED0 RCALL ?0070
\ 0000013C 25D0 RCALL ?0074
\ 0000013E 05E2 LDI R16,37
\ 00000140 8BD1 RCALL VT102DispStr
125 SPrintDec(s, (INT16U)OSCtxSwCtr, 5); /* Display #context switches per second */
\ 00000142 05E0 LDI R16,5
\ 00000144 0A93 ST -Y,R16
\ 00000146 .... LDI R30,LOW(OSCtxSwCtr)
\ 00000148 .... LDI R31,(OSCtxSwCtr >> 8)
\ 0000014A 4081 LDD R20,Z+0
\ 0000014C 5181 LDD R21,Z+1
\ 0000014E 22D0 RCALL ?0079
126 VT102DispStr(19, 24, s, COLOR_BLUE, COLOR_CYAN);
\ 00000150 13D0 RCALL ?0070
\ 00000152 0A93 ST -Y,R16
\ 00000154 48E1 LDI R20,24
\ 00000156 03E1 LDI R16,19
\ 00000158 7FD1 RCALL VT102DispStr
127 OSCtxSwCtr = 0;
\ 0000015A 0027 CLR R16
\ 0000015C 1127 CLR R17
\ 0000015E .... LDI R30,LOW(OSCtxSwCtr)
\ 00000160 .... LDI R31,(OSCtxSwCtr >> 8)
\ 00000162 0083 STD Z+0,R16
\ 00000164 0183 STD Z+1,R16
\ 00000166 0283 STD Z+2,R16
\ 00000168 0383 STD Z+3,R16
128 OSTimeDlyHMSM(0, 0, 1, 0); /* Wait one second */
\ 0000016A 11D0 RCALL ?0075
\ 0000016C 01E0 LDI R16,1
\ 0000016E 0A93 ST -Y,R16
\ 00000170 4427 CLR R20
\ 00000172 0027 CLR R16
\ 00000174 .... RCALL OSTimeDlyHMSM
129 }
130 }
\ 00000176 CFCF RJMP ?0033
\ ?0070:
\ 00000178 04E0 LDI R16,4
\ 0000017A 0A93 ST -Y,R16
\ 0000017C 78DF RCALL ?0084
\ 0000017E 0D5F SUBI R16,LOW(253)
\ 00000180 1F4F SBCI R17,LOW(255)
\ 00000182 1A93 ST -Y,R17
\ 00000184 0895 RET
\ ?0073:
\ 00000186 1A93 ST -Y,R17
\ ?0074:
\ 00000188 0A93 ST -Y,R16
\ 0000018A 47E1 LDI R20,23
\ 0000018C 0895 RET
\ ?0075:
\ 0000018E 1A93 ST -Y,R17
\ 00000190 0A93 ST -Y,R16
\ 00000192 0895 RET
\ ?0079:
\ 00000194 6CDF RCALL ?0084
\ 00000196 0E5F SUBI R16,LOW(254)
\ 00000198 1F4F SBCI R17,LOW(255)
\ 0000019A B4D0 RCALL SPrintDec
\ 0000019C 06E0 LDI R16,6
\ 0000019E 0A93 ST -Y,R16
\ 000001A0 0895 RET
\ ; i R24
\ ; data R26-R27
\ Task:
131
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -