📄 test.lst
字号:
\ 000003E2 092F MOV R16,R25
\ 000003E4 50DF RCALL PutChar
\ ?0061:
257 }
258 PutChar(x0 + '0');
\ 000003E6 A05D SUBI R26,LOW(208)
\ 000003E8 0A2F MOV R16,R26
\ 000003EA 4DDF RCALL PutChar
259 }
\ 000003EC E3E0 LDI R30,3
\ 000003EE .... RJMP ?EPILOGUE_B3_L09
\ ?0078:
\ 000003F0 082F MOV R16,R24
\ 000003F2 4AE0 LDI R20,10
\ 000003F4 .... RCALL ?UC_DIVMOD_L01
\ 000003F6 802F MOV R24,R16
\ 000003F8 0895 RET
\ ; x1 R25
\ ; x0 R26
\ ; x2 R24
\ VT102Attribute:
260
261
262 void VT102Attribute (INT8U fgcolor, INT8U bgcolor)
263 {
\ 000003FA .... RCALL ?PROLOGUE2_L09
\ 000003FC 802F MOV R24,R16
\ 000003FE 942F MOV R25,R20
264 PutChar(0x1b);
\ 00000400 16D0 RCALL ?0088
265 PutChar('[');
266 PutDec(30 + fgcolor);
\ 00000402 825E SUBI R24,LOW(226)
\ 00000404 10D0 RCALL ?0087
267 PutChar(';');
268 PutDec(40 + bgcolor);
\ 00000406 985D SUBI R25,LOW(216)
\ 00000408 092F MOV R16,R25
\ 0000040A D8DF RCALL PutDec
269 PutChar('m');
\ 0000040C 0DE6 LDI R16,109
\ 0000040E 3BDF RCALL PutChar
270 }
\ 00000410 E2E0 LDI R30,2
\ 00000412 .... RJMP ?EPILOGUE_B2_L09
\ ?0076:
\ 00000414 F2DF RCALL VT102Attribute
\ 00000416 0BD0 RCALL ?0088
\ 00000418 06D0 RCALL ?0087
\ 0000041A 092F MOV R16,R25
\ 0000041C CFDF RCALL PutDec
\ 0000041E 08E4 LDI R16,72
\ 00000420 32DF RCALL PutChar
\ 00000422 0B81 LDD R16,Y+3
\ 00000424 0895 RET
\ ?0087:
\ 00000426 082F MOV R16,R24
\ 00000428 C9DF RCALL PutDec
\ 0000042A 0BE3 LDI R16,59
\ 0000042C 2CCF RJMP PutChar
\ ?0088:
\ 0000042E 0BE1 LDI R16,27
\ 00000430 2ADF RCALL PutChar
\ 00000432 0BE5 LDI R16,91
\ 00000434 28CF RJMP PutChar
\ ; bgcolor R25
\ ; fgcolor R24
\ VT102DispClrScr:
271
272
273 void VT102DispClrScr (void)
274 {
275 VT102Attribute(COLOR_WHITE, COLOR_BLACK);
\ 00000436 4427 CLR R20
\ 00000438 07E0 LDI R16,7
\ 0000043A DFDF RCALL VT102Attribute
276 PutString("\x1B[2J");
\ 0000043C .... LDI R16,LOW(?0064)
\ 0000043E .... LDI R17,(?0064 >> 8)
\ 00000440 52CF RJMP PutString
277 }
\ VT102DispChar:
278
279
280 void VT102DispChar (INT8U x, INT8U y, char c, INT8U fgcolor, INT8U bgcolor)
281 {
282 INT8U err;
283
284 OSSemPend(DispStrSem, 0, &err); /* Acquire semaphore to display string */
\ 00000442 0BDE RCALL ?0069
285 VT102Attribute(fgcolor, bgcolor);
\ 00000444 4D81 LDD R20,Y+5
\ 00000446 0C81 LDD R16,Y+4
286 PutChar(0x1B);
287 PutChar('[');
288 PutDec(y);
\ 00000448 E5DF RCALL ?0076
289 PutChar(';');
290 PutDec(x);
291 PutChar('H');
292 PutChar(c);
\ 0000044A 1DDF RCALL PutChar
293 OSSemPost(DispStrSem); /* Release semaphore */
\ 0000044C 03D0 RCALL ?0081
294 }
\ 0000044E 2196 ADIW R28,LOW(1)
\ 00000450 E5E0 LDI R30,5
\ 00000452 .... RJMP ?EPILOGUE_B2_L09
\ ?0081:
\ 00000454 14DE RCALL ?0086
\ 00000456 .... RJMP OSSemPost
\ ; x R25
\ ; y R24
\ VT102DispStr:
295
296
297 void VT102DispStr (INT8U x, INT8U y, char *s, INT8U fgcolor, INT8U bgcolor)
298 {
299 INT8U err;
300
301 OSSemPend(DispStrSem, 0, &err); /* Acquire semaphore to display string */
\ 00000458 00DE RCALL ?0069
302 VT102Attribute(fgcolor, bgcolor);
\ 0000045A 4E81 LDD R20,Y+6
\ 0000045C 0D81 LDD R16,Y+5
303 PutChar(0x1B);
304 PutChar('[');
305 PutDec(y);
\ 0000045E DADF RCALL ?0076
306 PutChar(';');
307 PutDec(x);
308 PutChar('H');
309 PutString(s);
\ 00000460 1C81 LDD R17,Y+4
\ 00000462 41DF RCALL PutString
310 OSSemPost(DispStrSem); /* Release semaphore */
\ 00000464 F7DF RCALL ?0081
311 }
\ 00000466 2196 ADIW R28,LOW(1)
\ 00000468 E6E0 LDI R30,6
\ 0000046A .... RJMP ?EPILOGUE_B2_L09
\ ; x R25
\ ; y R24
\ RSEG CCSTR
\ DB 'uC/OS-II, The Real-Time Kernel'
\ DB 0
\ DB 'Jean J. Labrosse'
\ DB 0
\ DB 'AVR port by Ole Saether'
\ DB 0
\ DB 'Determining CPU''s capacity ...'
\ DB 0
\ DB '#Tasks : xxxxx CPU Usage: xxx %'
\ DB 0
\ DB '#Task switch/sec: xxxxx'
\ DB 0
\ DB 27
\ DB '[2J'
\ DB 0
\ RSEG ECSTR
\ ?0022:
\ DS 31
\ ?0023:
\ DS 17
\ ?0024:
\ DS 24
\ ?0025:
\ DS 32
\ ?0030:
\ DS 42
\ ?0031:
\ DS 24
\ ?0064:
\ DS 5
\ COMMON INTVEC
\ DS 22
\ RJMP UART_TX_interrupt
\ RSEG UDATA1
\ TaskStk:
\ DS 5120
\ TaskStartStk:
\ DS 512
\ TaskData:
\ DS 10
\ RandomSem:
\ DS 2
\ DispStrSem:
\ DS 2
\ RndNext:
\ DS 4
\ UartTxBuf:
\ DS 256
\ UartTxRdPtr:
\ DS 1
\ UartTxWrPtr:
\ DS 1
\ UartTxCount:
\ DS 1
\ UartTxSem:
\ DS 2
\ END
Source file: test.c
Errors: none
Warnings: none
Code size: 1132
Constant size: 199
Static variable size: 6086
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -