📄 test.lst
字号:
\ 0000040E DF5C RCALL PutChar
\ ?0083:
262 }
263 if (x1 || x2) {
\ 00000410 2388 TST R24
\ 00000412 F411 BRNE ?0086
\ 00000414 23AA TST R26
\ 00000416 F019 BREQ ?0085
\ ?0086:
264 PutChar(x1 + '0');
\ 00000418 5D80 SUBI R24,LOW(208)
\ 0000041A 2F08 MOV R16,R24
\ 0000041C DF55 RCALL PutChar
\ ?0085:
265 }
266 PutChar(x0 + '0');
\ 0000041E 5D90 SUBI R25,LOW(208)
\ 00000420 2F09 MOV R16,R25
\ 00000422 DF52 RCALL PutChar
267 }
\ 00000424 E0E3 LDI R30,3
\ 00000426 .... RJMP ?EPILOGUE_B3_L09
\ ?0100:
\ 00000428 2F0A MOV R16,R26
\ 0000042A E04A LDI R20,10
\ 0000042C .... RCALL ?UC_DIVMOD_L01
\ 0000042E 2FA0 MOV R26,R16
\ 00000430 9508 RET
\ ; x1 R24
\ ; x0 R25
\ ; x2 R26
\ VT102Attribute:
268
269
270 void VT102Attribute (INT8U fgcolor, INT8U bgcolor)
271 {
\ 00000432 .... RCALL ?PROLOGUE2_L09
\ 00000434 2F80 MOV R24,R16
\ 00000436 2F94 MOV R25,R20
272 PutChar(0x1b);
\ 00000438 D018 RCALL ?0114
273 PutChar('[');
274 PutDec(30 + fgcolor);
\ 0000043A 5E82 SUBI R24,LOW(226)
\ 0000043C 2F08 MOV R16,R24
\ 0000043E DFDA RCALL PutDec
275 PutChar(';');
\ 00000440 E30B LDI R16,59
\ 00000442 DF42 RCALL PutChar
276 PutDec(40 + bgcolor);
\ 00000444 5D98 SUBI R25,LOW(216)
\ 00000446 2F09 MOV R16,R25
\ 00000448 DFD5 RCALL PutDec
277 PutChar('m');
\ 0000044A E60D LDI R16,109
\ 0000044C DF3D RCALL PutChar
278 }
\ 0000044E E0E2 LDI R30,2
\ 00000450 .... RJMP ?EPILOGUE_B2_L09
\ ?0108:
\ 00000452 DFEF RCALL VT102Attribute
\ 00000454 D00A RCALL ?0114
\ 00000456 2F09 MOV R16,R25
\ 00000458 DFCD RCALL PutDec
\ 0000045A E30B LDI R16,59
\ 0000045C DF35 RCALL PutChar
\ 0000045E 2F08 MOV R16,R24
\ 00000460 DFC9 RCALL PutDec
\ 00000462 E408 LDI R16,72
\ 00000464 DF31 RCALL PutChar
\ 00000466 810B LDD R16,Y+3
\ 00000468 9508 RET
\ ?0114:
\ 0000046A E10B LDI R16,27
\ 0000046C DF2D RCALL PutChar
\ 0000046E E50B LDI R16,91
\ 00000470 CF2B RJMP PutChar
\ ; bgcolor R25
\ ; fgcolor R24
\ VT102DispClrScr:
279
280
281 void VT102DispClrScr (void)
282 {
283 VT102Attribute(COLOR_WHITE, COLOR_BLACK);
\ 00000472 E040 LDI R20,LOW(0)
\ 00000474 E007 LDI R16,7
\ 00000476 DFDD RCALL VT102Attribute
284 PutString("\x1B[2J");
\ 00000478 .... LDI R16,LOW(?0088)
\ 0000047A .... LDI R17,(?0088 >> 8)
\ 0000047C CF51 RJMP PutString
285 }
\ VT102DispChar:
286
287
288 void VT102DispChar (INT8U x, INT8U y, char c, INT8U fgcolor, INT8U bgcolor)
289 {
290 INT8U err;
291
292 OSSemPend(DispStrSem, 0, &err); /* Acquire semaphore to display string */
\ 0000047E DDED RCALL ?0093
293 VT102Attribute(fgcolor, bgcolor);
\ 00000480 814D LDD R20,Y+5
\ 00000482 810C LDD R16,Y+4
294 PutChar(0x1B);
295 PutChar('[');
296 PutDec(y);
\ 00000484 DFE6 RCALL ?0108
297 PutChar(';');
298 PutDec(x);
299 PutChar('H');
300 PutChar(c);
\ 00000486 DF20 RCALL PutChar
301 OSSemPost(DispStrSem); /* Release semaphore */
\ 00000488 D003 RCALL ?0107
302 }
\ 0000048A 9621 ADIW R28,LOW(1)
\ 0000048C E0E5 LDI R30,5
\ 0000048E .... RJMP ?EPILOGUE_B2_L09
\ ?0107:
\ 00000490 DDF6 RCALL ?0113
\ 00000492 .... RJMP OSSemPost
\ ; x R24
\ ; y R25
\ VT102DispStr:
303
304
305 void VT102DispStr (INT8U x, INT8U y, char *s, INT8U fgcolor, INT8U bgcolor)
306 {
307 INT8U err;
308
309 OSSemPend(DispStrSem, 0, &err); /* Acquire semaphore to display string */
\ 00000494 DDE2 RCALL ?0093
310 VT102Attribute(fgcolor, bgcolor);
\ 00000496 814E LDD R20,Y+6
\ 00000498 810D LDD R16,Y+5
311 PutChar(0x1B);
312 PutChar('[');
313 PutDec(y);
\ 0000049A DFDB RCALL ?0108
314 PutChar(';');
315 PutDec(x);
316 PutChar('H');
317 PutString(s);
\ 0000049C 811C LDD R17,Y+4
\ 0000049E DF40 RCALL PutString
318 OSSemPost(DispStrSem); /* Release semaphore */
\ 000004A0 DFF7 RCALL ?0107
319 }
\ 000004A2 9621 ADIW R28,LOW(1)
\ 000004A4 E0E6 LDI R30,6
\ 000004A6 .... RJMP ?EPILOGUE_B2_L09
\ ; x R24
\ ; y R25
\ 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
\ ?0048:
\ DS 31
\ ?0049:
\ DS 17
\ ?0050:
\ DS 24
\ ?0051:
\ DS 32
\ ?0056:
\ DS 42
\ ?0057:
\ DS 24
\ ?0088:
\ DS 5
\ 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: 1192
Constant size: 175
Static variable size: 6086
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -