?? ucos.lst
字號:
__start:
__text_start:
00B1 E5CF LDI R28,0x5F
00B2 E0D4 LDI R29,4
00B3 BFCD OUT 0x3D,R28
00B4 BFDE OUT 0x3E,R29
00B5 51C0 SUBI R28,0x10
00B6 40D0 SBCI R29,0
00B7 EA0A LDI R16,0xAA
00B8 8308 STD Y+0,R16
00B9 2400 CLR R0
00BA E6E0 LDI R30,0x60
00BB E0F0 LDI R31,0
00BC E012 LDI R17,2
00BD 33E9 CPI R30,0x39
00BE 07F1 CPC R31,R17
00BF F011 BEQ 0x00C2
00C0 9201 ST R0,Z+
00C1 CFFB RJMP 0x00BD
00C2 8300 STD Z+0,R16
00C3 E6E2 LDI R30,0x62
00C4 E0F1 LDI R31,1
00C5 E6A0 LDI R26,0x60
00C6 E0B0 LDI R27,0
00C7 E011 LDI R17,1
00C8 36E2 CPI R30,0x62
00C9 07F1 CPC R31,R17
00CA F021 BEQ 0x00CF
00CB 95C8 LPM
00CC 9631 ADIW R30,1
00CD 920D ST R0,X+
00CE CFF9 RJMP 0x00C8
00CF 940E00DF CALL _main
_exit:
00D1 CFFF RJMP _exit
_TC2_Init:
00D2 B789 IN R24,0x39
00D3 7B8F ANDI R24,0xBF
00D4 BF89 OUT 0x39,R24
00D5 2422 CLR R2
00D6 BC25 OUT 0x25,R2
00D7 BC24 OUT 0x24,R2
00D8 E084 LDI R24,4
00D9 BD85 OUT 0x25,R24
00DA B789 IN R24,0x39
00DB 6480 ORI R24,0x40
00DC BF89 OUT 0x39,R24
00DD 9478 BSET 7
00DE 9508 RET
_main:
00DF 9723 SBIW R28,3
00E0 940E0121 CALL _OSInit
00E2 940E0638 CALL _Uart_init
00E4 E087 LDI R24,7
00E5 838A STD Y+2,R24
00E6 E287 LDI R24,0x27
00E7 E091 LDI R25,1
FILE: C:\DOCUME~1\yjwpm\桌面\UCOS仿~1\ucos_m8_icc\test\test2.c
(0001)
(0002) #define Test1_GLOBALS
(0003) #include "includes.h"
(0004)
(0005) //******************************************************************************
(0006) // Constants
(0007) #define TaskStartPrio 10 // Task-Prioritaeten
(0008) //*****************************************************************************
(0009) // Variablen
(0010) INT8U display[5];
(0011) INT8U h,m,s,state;
(0012) OS_STK Task1Stack[OS_TASK_DEF_STK_SIZE]; // startup task stack
(0013) OS_STK Task2Stack[OS_TASK_DEF_STK_SIZE];
(0014) //ICC-AVR application builder : 2003-12-28 21:52:56
(0015) // Target : M8
(0016) // Crystal: 8.0000Mhz
(0017)
(0018) #include <iom16v.h>
(0019) #include <macros.h>
(0020) #include <stdio.h>
(0021)
(0022)
(0023) //*****************************************************************************
(0024) // Prototypes
(0025)
(0026) //*****************************************************************************
(0027) // TickISR
(0028) //*****************************************************************************
(0029) // Init Timer/Counter2 fuer Takterzeugung
(0030) void TC2_Init (void){
_uart0_init:
00E8 8399 STD Y+1,R25
00E9 8388 STD Y+0,R24
(0031) /* Only uses TIMER2 overflow for tick interrupt. Timer compare
00EA 2722 CLR R18
(0032) * can also be used.
00EB 2733 CLR R19
00EC E506 LDI R16,0x56
(0033) */
00ED E010 LDI R17,0
00EE 940E0525 CALL _OSTaskCreate
(0034) TIMSK &= ~(BIT(TOIE2)/* | BIT(OCIE2) */); //disable TC2 interrupts
00F0 E088 LDI R24,0x8
00F1 838A STD Y+2,R24
00F2 EC83 LDI R24,0xC3
(0035) TCCR2 = 0x00; // interner Takt, /1024
(0036) TCNT2 = 0; // Counter ruecksetzen, 2ms @ 8MHz
(0037) TCCR2 = 0x04; // 64
(0038) // OCR2 = 180; // OutputCompareRegister
(0039) TIMSK |= BIT(TOIE2); // enable OVF-interrupt
(0040) //TIMSK |= OCIE2; // enable COMP-interrupt
(0041)
(0042) SEI(); // enable global interrupt
(0043) }
(0044)
(0045) //*****************************************************************************
(0046) // Interrupt Timer/Counter0 Overflow
(0047) // OVF_Takt: 4MHz / 1024 / 39 = 10ms
(0048) #pragma interrupt_handler OSTickISR:5
(0049)
00F3 E090 LDI R25,0
00F4 8399 STD Y+1,R25
00F5 8388 STD Y+0,R24
(0050) void Task1(void *pdata);
00F6 2722 CLR R18
00F7 2733 CLR R19
(0051) void Task2(void *pdata);
00F8 E504 LDI R16,0x54
(0052)
00F9 E010 LDI R17,0
00FA 940E0525 CALL _OSTaskCreate
(0053) //*****************************************************************************
(0054) // Start
00FC DFD5 RCALL _TC2_Init
00FD 940E02C5 CALL _OSStart
(0055) void main(void){
(0056) OSInit(); // OS init
(0057) Uart_init();
00FF 9623 ADIW R28,3
0100 9508 RET
(0058) //Prints("ATmega8 uc/os-II Test!");
(0059) //Putchar(0x0d);
(0060) //Putchar(0x0a);
(0061)
(0062) OSTaskCreate(Task1, (void *)0, &Task1Stack[OS_TASK_DEF_STK_SIZE-1], 7);
(0063)
(0064) OSTaskCreate(Task2, (void *)0, &Task2Stack[OS_TASK_DEF_STK_SIZE-1], 8);
(0065) // init und start tick
(0066) TC2_Init(); // Timer/Counter#2 Overflow and Comp init
(0067) OSStart(); // start multitasking
(0068) }
(0069)
(0070) //*****************************************************************************
(0071) void Task1(void *data){
_Task1:
key2 --> R12
i --> R14
key1 --> Y+0
data --> R10
0101 940E077D CALL push_gset3x
(0072) for (;;){
0103 0158 MOVW R10,R16
(0073) //Prints("ATmega16_UCOS_ii");
0104 E800 LDI R16,0x80
0105 940E05E1 CALL _Putchar
0107 E604 LDI R16,0x64
(0074) Putchar(0x80);
0108 E010 LDI R17,0
0109 940E05A4 CALL _OSTimeDly
(0075) OSTimeDly (100);
010B CFF8 RJMP 0x0104
010C 940E076B CALL pop_gset3x
(0076) }
(0077) }
010E 9508 RET
_Task2:
data --> R10
010F 940E077D CALL push_gset3x
0111 0158 MOVW R10,R16
0112 E005 LDI R16,5
0113 E010 LDI R17,0
0114 940E05A4 CALL _OSTimeDly
0116 E200 LDI R16,0x20
0117 940E05E1 CALL _Putchar
0119 EF04 LDI R16,0xF4
(0078) void Task2(void *data){
(0079) data = data;
011A E011 LDI R17,1
011B 940E05A4 CALL _OSTimeDly
011D CFF8 RJMP 0x0116
011E 940E076B CALL pop_gset3x
0120 9508 RET
_OSInit:
i --> R10
0121 940E077D CALL push_gset3x
0123 9723 SBIW R28,3
0124 E080 LDI R24,0
0125 E090 LDI R25,0
(0080) OSTimeDly(5);
(0081) for (;;){
0126 E0A0 LDI R26,0
(0082) //Prints("Test_OK!");
0127 E0B0 LDI R27,0
0128 939001EB STS OSTime+1,R25
012A 938001EA STS OSTime,R24
012C 93B001ED STS OSTime+3,R27
012E 93A001EC STS OSTime+2,R26
(0083) Putchar(0x20);
(0084) OSTimeDly (500);
(0085) }
(0086) } 0130 2422 CLR R2
0131 9220021E STS OSIntNesting,R2
0133 9220021D STS OSLockNesting,R2
0135 92200216 STS OSTaskCtr,R2
0137 92200217 STS OSRunning,R2
0139 E080 LDI R24,0
013A E090 LDI R25,0
013B E0A0 LDI R26,0
013C E0B0 LDI R27,0
013D 93900220 STS OSIdleCtr+1,R25
013F 9380021F STS OSIdleCtr,R24
0141 93B00222 STS OSIdleCtr+3,R27
0143 93A00221 STS OSIdleCtr+2,R26
0145 E080 LDI R24,0
0146 E090 LDI R25,0
0147 E0A0 LDI R26,0
0148 E0B0 LDI R27,0
0149 93900236 STS OSCtxSwCtr+1,R25
014B 93800235 STS OSCtxSwCtr,R24
014D 93B00238 STS OSCtxSwCtr+3,R27
014F 93A00237 STS OSCtxSwCtr+2,R26
0151 9220021A STS OSRdyGrp,R2
0153 24AA CLR R10
0154 24BB CLR R11
0155 C00A RJMP 0x0160
0156 E188 LDI R24,0x18
0157 E092 LDI R25,2
0158 01F5 MOVW R30,R10
0159 0FE8 ADD R30,R24
015A 1FF9 ADC R31,R25
015B 2422 CLR R2
015C 8220 STD Z+0,R2
015D 01C5 MOVW R24,R10
015E 9601 ADIW R24,1
015F 015C MOVW R10,R24
0160 01C5 MOVW R24,R10
0161 3082 CPI R24,2
0162 E0E0 LDI R30,0
0163 079E CPC R25,R30
0164 F388 BCS 0x0156
0165 2422 CLR R2
0166 9220021C STS OSPrioCur,R2
0168 9220021B STS OSPrioHighRdy,R2
016A 2433 CLR R3
016B 92300211 STS OSTCBHighRdy+1,R3
016D 92200210 STS OSTCBHighRdy,R2
016F 92300215 STS OSTCBCur+1,R3
0171 92200214 STS OSTCBCur,R2
0173 9230020F STS OSTCBList+1,R3
0175 9220020E STS OSTCBList,R2
0177 24AA CLR R10
0178 24BB CLR R11
0179 C011 RJMP 0x018B
017A E002 LDI R16,2
017B E010 LDI R17,0
017C 0195 MOVW R18,R10
017D 940E075B CALL empy16s
017F 01F8 MOVW R30,R16
0180 EE8E LDI R24,0xEE
0181 E091 LDI R25,1
0182 0FE8 ADD R30,R24
0183 1FF9 ADC R31,R25
0184 2422 CLR R2
0185 2433 CLR R3
0186 8231 STD Z+1,R3
0187 8220 STD Z+0,R2
0188 01C5 MOVW R24,R10
0189 9601 ADIW R24,1
018A 015C MOVW R10,R24
018B 01C5 MOVW R24,R10
018C 3180 CPI R24,0x10
018D E0E0 LDI R30,0
018E 079E CPC R25,R30
018F F350 BCS 0x017A
0190 24AA CLR R10
0191 24BB CLR R11
0192 C01B RJMP 0x01AE
0193 0195 MOVW R18,R10
0194 5F2F SUBI R18,0xFF
0195 4F3F SBCI R19,0xFF
0196 E00E LDI R16,0xE
0197 E010 LDI R17,0
0198 940E075B CALL empy16s
019A 0118 MOVW R2,R16
019B E381 LDI R24,0x31
019C E091 LDI R25,1
019D 0E28 ADD R2,R24
019E 1E39 ADC R3,R25
019F E00E LDI R16,0xE
01A0 E010 LDI R17,0
01A1 0195 MOVW R18,R10
01A2 940E075B CALL empy16s
01A4 01F8 MOVW R30,R16
01A5 E383 LDI R24,0x33
01A6 E091 LDI R25,1
01A7 0FE8 ADD R30,R24
01A8 1FF9 ADC R31,R25
01A9 8231 STD Z+1,R3
01AA 8220 STD Z+0,R2
01AB 01C5 MOVW R24,R10
01AC 9601 ADIW R24,1
01AD 015C MOVW R10,R24
01AE 01C5 MOVW R24,R10
01AF 3085 CPI R24,5
01B0 E0E0 LDI R30,0
01B1 079E CPC R25,R30
01B2 F300 BCS 0x0193
01B3 2422 CLR R2
01B4 2433 CLR R3
01B5 9230017A STS 0x17A,R3
01B7 92200179 STS 0x179,R2
01B9 E381 LDI R24,0x31
01BA E091 LDI R25,1
01BB 93900213 STS OSTCBFreeList+1,R25
01BD 93800212 STS OSTCBFreeList,R24
01BF 24AA CLR R10
01C0 24BB CLR R11
01C1 C01B RJMP 0x01DD
01C2 0195 MOVW R18,R10
01C3 5F2F SUBI R18,0xFF
01C4 4F3F SBCI R19,0xFF
01C5 E008 LDI R16,0x8
01C6 E010 LDI R17,0
01C7 940E075B CALL empy16s
01C9 0118 MOVW R2,R16
01CA E283 LDI R24,0x23
01CB E092 LDI R25,2
01CC 0E28 ADD R2,R24
01CD 1E39 ADC R3,R25
01CE E008 LDI R16,0x8
01CF E010 LDI R17,0
01D0 0195 MOVW R18,R10
01D1 940E075B CALL empy16s
01D3 01F8 MOVW R30,R16
01D4 E283 LDI R24,0x23
01D5 E092 LDI R25,2
01D6 0FE8 ADD R30,R24
01D7 1FF9 ADC R31,R25
01D8 8231 STD Z+1,R3
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -