?? arm_00_ossystemidle.lst
字號(hào):
ARM COMPILER V2.50a, ARM_00_OSSystemIdle 16/05/06 14:55:45 PAGE 1
ARM COMPILER V2.50a, COMPILATION OF MODULE ARM_00_OSSystemIdle
OBJECT MODULE PLACED IN ARM_00_OSSystemIdle.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe ARM_00_OSSystemIdle.c THUMB WARNINGLEVEL(3) BROWSE DEBUG TABS(4)
stmt level source
1 /**********************************************************************************************
2 ARM_00_OSSystemIdle.c file
3
4 作者:Computer-lov
5 建立日期:2006-5-13
6 修改日期:2006-5-15
7 版本:V1.0
8 版權(quán)所有,盜版必究。
9 任何技術(shù)問(wèn)題可到我的博客上留言: http://computer00.21ic.org
10 Copyright(C) Computer-lov 2006-2016
11 All rights reserved
12 **********************************************************************************************/
13
14 #include <ADuC7026.H>
15 #include "my_type.h"
16
17 #include "ARM_00_OS_TaskSwitch.H"
18 #include "ARM_00_OS_Core.H"
19 #include "UART.H"
20 #include "KEYS.H"
21 #include "Task.h"
22
23
24 /**********************************************************************************************
25 功能:系統(tǒng)空閑任務(wù)。
26 入口參數(shù):無(wú)。
27 返回:無(wú)。
28 備注:操作系統(tǒng)必須從系統(tǒng)空閑任務(wù)開(kāi)始運(yùn)行。并且系統(tǒng)空閑任務(wù)永遠(yuǎn)不能掛起或者延時(shí)。
29 **********************************************************************************************/
30 void OSSystemIdle(void)
31 {
32 1 prints("",1); //顯示任務(wù)被啟動(dòng)
33 1 prints(OSCurrentPcb->Title,0);
34 1 prints(" Start.",1);
35 1
36 1 OSAddDevice(OS_PRINTER_DEVICE_ID);
37 1
38 1 OSTaskCreat((uint32)OSTaskManager,256,1,OS_THUMB_MODE,"TaskManager"); //創(chuàng)建任務(wù)管理器任務(wù)
39 1
40 1 OSTaskCreat((uint32)Task3,256,8,OS_THUMB_MODE,"Task3"); //創(chuàng)建任務(wù)3
41 1 OSTaskCreat((uint32)Task4,256,8,OS_THUMB_MODE,"Task4"); //創(chuàng)建任務(wù)4
42 1 OSTaskCreat((uint32)Task5,256,3,OS_THUMB_MODE,"Task5");
43 1
44 1 KEYBoardInit(); //初始化鍵盤
45 1
46 1 OSExitCritical(); //退出臨界段
47 1
48 1 while(1)
49 1 {
50 2 }
51 1 }
52 //////////////////////////////////End of function//////////////////////////////////////////////
53
54
55
56
57
58
ARM COMPILER V2.50a, ARM_00_OSSystemIdle 16/05/06 14:55:45 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN DATA (OSCurrentPcb)
EXTERN CODE16 (OSTaskManager?T)
EXTERN CODE16 (OSExitCritical?T)
EXTERN CODE16 (OSTaskCreat?T)
EXTERN CODE16 (OSAddDevice?T)
EXTERN CODE16 (prints?T)
EXTERN CODE16 (KEYBoardInit?T)
EXTERN CODE16 (Task3?T)
EXTERN CODE16 (Task4?T)
EXTERN CODE16 (Task5?T)
*** PUBLICS:
PUBLIC OSSystemIdle?T
*** DATA SEGMENT '?CON?ARM_00_OSSystemIdle':
00000000 ??S_6:
00000000 DB 'Task5',0x00
00000006 ??S_5:
00000006 DB 'Task4',0x00
0000000C ??S_4:
0000000C DB 'Task3',0x00
00000012 ??S_3:
00000012 DB 'TaskManager',0x00
0000001E ??S_2:
0000001E DB ' Start.',0x00
00000026 ??S_1:
00000026 DB 0x00
*** CODE SEGMENT '?PR?OSSystemIdle?T?ARM_00_OSSystemIdle':
30: void OSSystemIdle(void)
00000000 B500 PUSH {LR}
32: prints("",1); //顯示任務(wù)被啟動(dòng)
00000002 4800 LDR R0,=??S_1 ; ??S_1
00000004 2101 MOV R1,#0x1
00000006 F7FF BL prints?T ; T=0x0001 (1)
00000008 FFFB BL prints?T ; T=0x0001 (2)
33: prints(OSCurrentPcb->Title,0);
0000000A 4800 LDR R0,=OSCurrentPcb ; OSCurrentPcb
0000000C 6800 LDR R0,[R0,#0x0] ; OSCurrentPcb
0000000E 3034 ADD R0,#0x34
00000010 2100 MOV R1,#0x0
00000012 F7FF BL prints?T ; T=0x0001 (1)
00000014 FFF5 BL prints?T ; T=0x0001 (2)
34: prints(" Start.",1);
00000016 4800 LDR R0,=??S_2 ; ??S_2
00000018 2101 MOV R1,#0x1
0000001A F7FF BL prints?T ; T=0x0001 (1)
0000001C FFF1 BL prints?T ; T=0x0001 (2)
36: OSAddDevice(OS_PRINTER_DEVICE_ID);
0000001E 2001 MOV R0,#0x1
00000020 F7FF BL OSAddDevice?T ; T=0x0001 (1)
00000022 FFEE BL OSAddDevice?T ; T=0x0001 (2)
38: OSTaskCreat((uint32)OSTaskManager,256,1,OS_THUMB_MODE,"TaskManager"); //創(chuàng)建任務(wù)管理器任務(wù)
00000024 4800 LDR R0,=??S_3 ; ??S_3
00000026 B401 PUSH {R0}
00000028 4800 LDR R0,=OSTaskManager?T ; OSTaskManager?T
0000002A 4940 LDR R1,=0x100
0000002C 2201 MOV R2,#0x1
0000002E 2320 MOV R3,#0x20
00000030 F7FF BL OSTaskCreat?T ; T=0x0001 (1)
00000032 FFE6 BL OSTaskCreat?T ; T=0x0001 (2)
00000034 B001 ADD R13,#0x4
40: OSTaskCreat((uint32)Task3,256,8,OS_THUMB_MODE,"Task3"); //創(chuàng)建任務(wù)3
ARM COMPILER V2.50a, ARM_00_OSSystemIdle 16/05/06 14:55:45 PAGE 3
00000036 4800 LDR R0,=??S_4 ; ??S_4
00000038 B401 PUSH {R0}
0000003A 4800 LDR R0,=Task3?T ; Task3?T
0000003C 4940 LDR R1,=0x100
0000003E 2208 MOV R2,#0x8
00000040 2320 MOV R3,#0x20
00000042 F7FF BL OSTaskCreat?T ; T=0x0001 (1)
00000044 FFDD BL OSTaskCreat?T ; T=0x0001 (2)
00000046 B001 ADD R13,#0x4
41: OSTaskCreat((uint32)Task4,256,8,OS_THUMB_MODE,"Task4"); //創(chuàng)建任務(wù)4
00000048 4800 LDR R0,=??S_5 ; ??S_5
0000004A B401 PUSH {R0}
0000004C 4800 LDR R0,=Task4?T ; Task4?T
0000004E 4940 LDR R1,=0x100
00000050 2208 MOV R2,#0x8
00000052 2320 MOV R3,#0x20
00000054 F7FF BL OSTaskCreat?T ; T=0x0001 (1)
00000056 FFD4 BL OSTaskCreat?T ; T=0x0001 (2)
00000058 B001 ADD R13,#0x4
42: OSTaskCreat((uint32)Task5,256,3,OS_THUMB_MODE,"Task5");
0000005A 4800 LDR R0,=??S_6 ; ??S_6
0000005C B401 PUSH {R0}
0000005E 4800 LDR R0,=Task5?T ; Task5?T
00000060 4940 LDR R1,=0x100
00000062 2203 MOV R2,#0x3
00000064 2320 MOV R3,#0x20
00000066 F7FF BL OSTaskCreat?T ; T=0x0001 (1)
00000068 FFCB BL OSTaskCreat?T ; T=0x0001 (2)
0000006A B001 ADD R13,#0x4
44: KEYBoardInit(); //初始化鍵盤
0000006C F7FF BL KEYBoardInit?T ; T=0x0001 (1)
0000006E FFC8 BL KEYBoardInit?T ; T=0x0001 (2)
46: OSExitCritical(); //退出臨界段
00000070 F7FF BL OSExitCritical?T ; T=0x0001 (1)
00000072 FFC6 BL OSExitCritical?T ; T=0x0001 (2)
50: }
00000074 L_1:
00000074 E7FE B L_1 ; T=0x00000074
51: }
00000076 BC08 POP {R3}
00000078 4718 BX R3
0000007A ENDP ; 'OSSystemIdle?T'
Module Information Static
----------------------------------
code size = ------
data size = ------
const size = 39
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -