📄 ucos-port2.lst
字号:
0010 940C0C77 JMP _OSTickISR
0012 0000 NOP
0013 041E CPC R1,R14
0014 0A99 SBC R9,R25
0015 0A81 SBC R8,R17
0016 0A23 SBC R2,R19
0017 0201 MULS R16,R17
0018 0804 SBC R0,R4
0019 2010 AND R1,R0
001A 8040 LDD R4,Z+0
001B 0000 NOP
001C 0001 NOP
001D 0002 NOP
001E 0001 NOP
001F 0003 NOP
0020 0001 NOP
0021 0002 NOP
0022 0001 NOP
0023 0004 NOP
0024 0001 NOP
0025 0002 NOP
0026 0001 NOP
0027 0003 NOP
0028 0001 NOP
0029 0002 NOP
002A 0001 NOP
002B 0005 NOP
002C 0001 NOP
002D 0002 NOP
002E 0001 NOP
002F 0003 NOP
0030 0001 NOP
0031 0002 NOP
0032 0001 NOP
0033 0004 NOP
0034 0001 NOP
0035 0002 NOP
0036 0001 NOP
0037 0003 NOP
0038 0001 NOP
0039 0002 NOP
003A 0001 NOP
003B 0006 NOP
003C 0001 NOP
003D 0002 NOP
003E 0001 NOP
003F 0003 NOP
0040 0001 NOP
0041 0002 NOP
0042 0001 NOP
0043 0004 NOP
0044 0001 NOP
0045 0002 NOP
0046 0001 NOP
0047 0003 NOP
0048 0001 NOP
0049 0002 NOP
004A 0001 NOP
004B 0005 NOP
004C 0001 NOP
004D 0002 NOP
004E 0001 NOP
004F 0003 NOP
0050 0001 NOP
0051 0002 NOP
0052 0001 NOP
0053 0004 NOP
0054 0001 NOP
0055 0002 NOP
0056 0001 NOP
0057 0003 NOP
0058 0001 NOP
0059 0002 NOP
005A 0001 NOP
005B 0007 NOP
005C 0001 NOP
005D 0002 NOP
005E 0001 NOP
005F 0003 NOP
0060 0001 NOP
0061 0002 NOP
0062 0001 NOP
0063 0004 NOP
0064 0001 NOP
0065 0002 NOP
0066 0001 NOP
0067 0003 NOP
0068 0001 NOP
0069 0002 NOP
006A 0001 NOP
006B 0005 NOP
006C 0001 NOP
006D 0002 NOP
006E 0001 NOP
006F 0003 NOP
0070 0001 NOP
0071 0002 NOP
0072 0001 NOP
0073 0004 NOP
0074 0001 NOP
0075 0002 NOP
0076 0001 NOP
0077 0003 NOP
0078 0001 NOP
0079 0002 NOP
007A 0001 NOP
007B 0006 NOP
007C 0001 NOP
007D 0002 NOP
007E 0001 NOP
007F 0003 NOP
0080 0001 NOP
0081 0002 NOP
0082 0001 NOP
0083 0004 NOP
0084 0001 NOP
0085 0002 NOP
0086 0001 NOP
0087 0003 NOP
0088 0001 NOP
0089 0002 NOP
008A 0001 NOP
008B 0005 NOP
008C 0001 NOP
008D 0002 NOP
008E 0001 NOP
008F 0003 NOP
0090 0001 NOP
0091 0002 NOP
0092 0001 NOP
0093 0004 NOP
0094 0001 NOP
0095 0002 NOP
0096 0001 NOP
0097 0003 NOP
0098 0001 NOP
0099 0002 NOP
009A 0001 NOP
009B 7461 ANDI R22,0x41
009C 656D ORI R22,0x5D
009D 6167 ORI R22,0x17
009E 0038 NOP
009F 6620 ORI R18,0x60
00A0 6F72 ORI R23,0xF2
00A1 206D AND R6,R13
00A2 494D SBCI R20,0x9D
00A3 5243 SUBI R20,0x23
00A4 5549 SUBI R20,0x59
00A5 204D AND R4,R13
00A6 4900 SBCI R16,0x90
00A7 6C20 ORI R18,0xC0
00A8 766F ANDI R22,0x6F
00A9 2065 AND R6,R5
00AA 4355 SBCI R21,0x35
00AB 534F SUBI R20,0x3F
00AC 492D SBCI R18,0x9D
00AD 0049 NOP
00AE 6557 ORI R21,0x57
00AF 636C ORI R22,0x3C
00B0 6D6F ORI R22,0xDF
00B1 0065 NOP
__start:
__text_start:
00B2 E5CF LDI R28,0x5F
00B3 E0D4 LDI R29,4
00B4 BFCD OUT 0x3D,R28
00B5 BFDE OUT 0x3E,R29
00B6 51C0 SUBI R28,0x10
00B7 40D0 SBCI R29,0
00B8 EA0A LDI R16,0xAA
00B9 8308 STD Y+0,R16
00BA 2400 CLR R0
00BB E8EE LDI R30,0x8E
00BC E0F0 LDI R31,0
00BD E013 LDI R17,3
00BE 36E3 CPI R30,0x63
00BF 07F1 CPC R31,R17
00C0 F011 BEQ 0x00C3
00C1 9201 ST R0,Z+
00C2 CFFB RJMP 0x00BE
00C3 8300 STD Z+0,R16
00C4 E3E6 LDI R30,0x36
00C5 E0F1 LDI R31,1
00C6 E6A0 LDI R26,0x60
00C7 E0B0 LDI R27,0
00C8 E011 LDI R17,1
00C9 36E4 CPI R30,0x64
00CA 07F1 CPC R31,R17
00CB F021 BEQ 0x00D0
00CC 95C8 LPM
00CD 9631 ADIW R30,1
00CE 920D ST R0,X+
00CF CFF9 RJMP 0x00C9
00D0 D925 RCALL _main
_exit:
00D1 CFFF RJMP _exit
_OSInit:
prdytbl --> Y+5
pevent2 --> R12
ptcb2 --> Y+3
ptcb1 --> R14
pevent1 --> R10
i --> R4
00D2 DCBD RCALL push_gset5
00D3 9727 SBIW R28,7
FILE: F:\AVRPRA~1\ucosii-port2-mega8\OS_CORE.c
(0001) /*
(0002) *********************************************************************************************************
(0003) * uC/OS-II
(0004) * The Real-Time Kernel
(0005) * CORE FUNCTIONS
(0006) *
(0007) * (c) Copyright 1992-2001, Jean J. Labrosse, Weston, FL
(0008) * All Rights Reserved
(0009) *
(0010) * File : OS_CORE.C
(0011) * By : Jean J. Labrosse
(0012) *********************************************************************************************************
(0013) */
(0014)
(0015) #ifndef OS_MASTER_FILE
(0016) #define OS_GLOBALS
(0017) #include "includes.h"
(0018) #endif
(0019)
(0020) /*
(0021) *********************************************************************************************************
(0022) * MAPPING TABLE TO MAP BIT POSITION TO BIT MASK
(0023) *
(0024) * Note: Index into table is desired bit position, 0..7
(0025) * Indexed value corresponds to bit mask
(0026) *********************************************************************************************************
(0027) */
(0028)
(0029) INT8U const OSMapTbl[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
(0030)
(0031) /*
(0032) *********************************************************************************************************
(0033) * PRIORITY RESOLUTION TABLE
(0034) *
(0035) * Note: Index into table is bit pattern to resolve highest priority
(0036) * Indexed value corresponds to highest priority bit position (i.e. 0..7)
(0037) *********************************************************************************************************
(0038) */
(0039)
(0040) INT8U const OSUnMapTbl[] = {
(0041) 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0042) 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0043) 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0044) 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0045) 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0046) 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0047) 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0048) 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0049) 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0050) 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0051) 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0052) 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0053) 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0054) 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0055) 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
(0056) 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0
(0057) };
(0058) /*$PAGE*/
(0059) /*
(0060) *********************************************************************************************************
(0061) * INITIALIZATION
(0062) *
(0063) * Description: This function is used to initialize the internals of uC/OS-II and MUST be called prior to
(0064) * creating any uC/OS-II object and, prior to calling OSStart().
(0065) *
(0066) * Arguments : none
(0067) *
(0068) * Returns : none
(0069) *********************************************************************************************************
(0070) */
(0071)
(0072) void OSInit (void)
(0073) {
(0074) INT16U i;
(0075) INT8U *prdytbl;
(0076) OS_TCB *ptcb1;
(0077) OS_TCB *ptcb2;
(0078) #if (OS_EVENT_EN > 0) && (OS_MAX_EVENTS > 1)
(0079) OS_EVENT *pevent1;
(0080) OS_EVENT *pevent2;
(0081) #endif
(0082)
(0083)
(0084) #if OS_VERSION >= 204
(0085) OSInitHookBegin(); /* Call port specific initialization code */
00D4 D404 RCALL _OSInitHookBegin
(0086) #endif
(0087)
(0088) #if OS_TIME_GET_SET_EN > 0
(0089) OSTime = 0L; /* Clear the 32-bit system clock */
00D5 E040 LDI R20,0
00D6 E050 LDI R21,0
00D7 E060 LDI R22,0
00D8 E070 LDI R23,0
00D9 9350008F STS OSTime+1,R21
00DB 9340008E STS OSTime,R20
00DD 93700091 STS OSTime+3,R23
00DF 93600090 STS OSTime+2,R22
(0090) #endif
(0091) OSIntNesting = 0; /* Clear the interrupt nesting counter */
00E1 2422 CLR R2
00E2 922001B2 STS OSIntNesting,R2
(0092) OSLockNesting = 0; /* Clear the scheduling lock counter */
00E4 922001B0 STS OSLockNesting,R2
(0093) OSTaskCtr = 0; /* Clear the number of tasks */
00E6 922001A8 STS OSTaskCtr,R2
(0094) OSRunning = FALSE; /* Indicate that multitasking not started */
00E8 922001A9 STS OSRunning,R2
(0095) OSIdleCtr = 0L; /* Clear the 32-bit idle counter */
00EA E040 LDI R20,0
00EB E050 LDI R21,0
00EC E060 LDI R22,0
00ED E070 LDI R23,0
00EE 935001A5 STS OSIdleCtr+1,R21
00F0 934001A4 STS OSIdleCtr,R20
00F2 937001A7 STS OSIdleCtr+3,R23
00F4 936001A6 STS OSIdleCtr+2,R22
(0096) #if (OS_TASK_STAT_EN > 0) && (OS_TASK_CREATE_EXT_EN > 0)
(0097) OSIdleCtrRun = 0L;
(0098) OSIdleCtrMax = 0L;
(0099) OSStatRdy = FALSE; /* Statistic task is not ready */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -