📄 test.lst
字号:
\ ?0060:
270 PutChar(x1 + '0');
\ 00000440 5D80 SUBI R24,LOW(208)
\ 00000442 2F08 MOV R16,R24
\ 00000444 DF37 RCALL PutChar
\ ?0059:
271 }
272 PutChar(x0 + '0');
\ 00000446 5D90 SUBI R25,LOW(208)
\ 00000448 2F09 MOV R16,R25
\ 0000044A DF34 RCALL PutChar
273 }
\ 0000044C E0E3 LDI R30,3
\ 0000044E ........ JMP ?EPILOGUE_B3_L09
\ ; x1 R24
\ ; x0 R25
\ ; x2 R26
\ VT102Attribute:
274
275
276 void VT102Attribute (INT8U fgcolor, INT8U bgcolor)
277 {
\ 00000452 939A ST -Y,R25
\ 00000454 938A ST -Y,R24
\ 00000456 2F80 MOV R24,R16
\ 00000458 2F94 MOV R25,R20
278 PutChar(0x1b);
\ 0000045A D019 RCALL ?0073
279 PutChar('[');
280 PutDec(30 + fgcolor);
\ 0000045C 5E82 SUBI R24,LOW(226)
\ 0000045E 2F08 MOV R16,R24
\ 00000460 DFD2 RCALL PutDec
281 PutChar(';');
\ 00000462 E30B LDI R16,59
\ 00000464 DF27 RCALL PutChar
282 PutDec(40 + bgcolor);
\ 00000466 5D98 SUBI R25,LOW(216)
\ 00000468 2F09 MOV R16,R25
\ 0000046A DFCD RCALL PutDec
283 PutChar('m');
\ 0000046C E60D LDI R16,109
\ 0000046E DF22 RCALL PutChar
284 }
\ 00000470 9189 LD R24,Y+
\ 00000472 9199 LD R25,Y+
\ 00000474 9508 RET
\ ?0068:
\ 00000476 DFED RCALL VT102Attribute
\ 00000478 D00A RCALL ?0073
\ 0000047A 2F09 MOV R16,R25
\ 0000047C DFC4 RCALL PutDec
\ 0000047E E30B LDI R16,59
\ 00000480 DF19 RCALL PutChar
\ 00000482 2F08 MOV R16,R24
\ 00000484 DFC0 RCALL PutDec
\ 00000486 E408 LDI R16,72
\ 00000488 DF15 RCALL PutChar
\ 0000048A 810B LDD R16,Y+3
\ 0000048C 9508 RET
\ ?0073:
\ 0000048E E10B LDI R16,27
\ 00000490 DF11 RCALL PutChar
\ 00000492 E50B LDI R16,91
\ 00000494 CF0F RJMP PutChar
\ ; bgcolor R25
\ ; fgcolor R24
\ VT102DispClrScr:
285
286
287 void VT102DispClrScr (void)
288 {
289 VT102Attribute(COLOR_WHITE, COLOR_BLACK);
\ 00000496 E040 LDI R20,LOW(0)
\ 00000498 E007 LDI R16,7
\ 0000049A DFDB RCALL VT102Attribute
290 PutString("\x1B[2J");
\ 0000049C .... LDI R16,LOW(?0062)
\ 0000049E .... LDI R17,(?0062 >> 8)
\ 000004A0 CF3D RJMP PutString
291 }
\ VT102DispChar:
292
293
294 void VT102DispChar (INT8U x, INT8U y, char c, INT8U fgcolor, INT8U bgcolor)
295 {
296 INT8U err;
297
298 OSSemPend(DispStrSem, 0, &err); /* Acquire semaphore to display string */
\ 000004A2 DDE3 RCALL ?0065
299 VT102Attribute(fgcolor, bgcolor);
\ 000004A4 814D LDD R20,Y+5
\ 000004A6 810C LDD R16,Y+4
300 PutChar(0x1B);
301 PutChar('[');
302 PutDec(y);
\ 000004A8 DFE6 RCALL ?0068
303 PutChar(';');
304 PutDec(x);
305 PutChar('H');
306 PutChar(c);
\ 000004AA DF04 RCALL PutChar
307 OSSemPost(DispStrSem); /* Release semaphore */
\ 000004AC D002 RCALL ?0070
308 }
\ 000004AE 9623 ADIW R28,LOW(3)
\ 000004B0 9508 RET
\ ?0070:
\ 000004B2 9100.... LDS R16,LWRD(DispStrSem)
\ 000004B6 9110.... LDS R17,LWRD((DispStrSem+1))
\ 000004BA ........ CALL OSSemPost
\ 000004BE 9621 ADIW R28,LOW(1)
\ 000004C0 9189 LD R24,Y+
\ 000004C2 9199 LD R25,Y+
\ 000004C4 9508 RET
\ ; x R24
\ ; y R25
\ VT102DispStr:
309
310
311 void VT102DispStr (INT8U x, INT8U y, char *s, INT8U fgcolor, INT8U bgcolor)
312 {
313 INT8U err;
314
315 OSSemPend(DispStrSem, 0, &err); /* Acquire semaphore to display string */
\ 000004C6 DDD1 RCALL ?0065
316 VT102Attribute(fgcolor, bgcolor);
\ 000004C8 814E LDD R20,Y+6
\ 000004CA 810D LDD R16,Y+5
317 PutChar(0x1B);
318 PutChar('[');
319 PutDec(y);
\ 000004CC DFD4 RCALL ?0068
320 PutChar(';');
321 PutDec(x);
322 PutChar('H');
323 PutString(s);
\ 000004CE 811C LDD R17,Y+4
\ 000004D0 DF25 RCALL PutString
324 OSSemPost(DispStrSem); /* Release semaphore */
\ 000004D2 DFEF RCALL ?0070
325 }
\ 000004D4 9624 ADIW R28,LOW(4)
\ 000004D6 9508 RET
\ ; 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
\ ?0020:
\ DS 31
\ ?0021:
\ DS 17
\ ?0022:
\ DS 24
\ ?0023:
\ DS 32
\ ?0028:
\ DS 42
\ ?0029:
\ DS 24
\ ?0062:
\ DS 5
\ COMMON INTVEC
\ DS 80
\ JMP 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: 1240
Constant size: 257
Static variable size: 6086
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -