📄 main.s79
字号:
// 29 ****************************************************************************/
// 30
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock3 Using cfiCommon1
CFI Function Main_Task
THUMB
// 31 void Main_Task(void *pdata)
// 32 {
Main_Task:
PUSH {LR}
CFI ?RET Frame(CFA, -4)
CFI CFA R13+4
// 33 pdata=pdata;
// 34 BSP_Init();
_BLF BSP_Init,??BSP_Init??rT
// 35
// 36 OSTaskCreate(Task0, (void *)0, &Task0Stk[TASK_STK_SIZE - 1], 2);
MOVS R3,#+2
LDR R2,??Main_Task_0 ;; Task0Stk + 252
MOVS R1,#+0
LDR R0,??Main_Task_0+0x4 ;; Task0
_BLF OSTaskCreate,??OSTaskCreate??rT
// 37 IODIR=CON;
LDR R0,??Main_Task_0+0x8 ;; 0xe0028008
MOVS R1,#+255
STR R1,[R0, #+0]
// 38 IOSET=CON;
LDR R0,??DataTable1 ;; 0xe0028004
STR R1,[R0, #+0]
// 39 OSTaskSuspend(OS_PRIO_SELF);
MOVS R0,#+255
_BLF OSTaskSuspend,??OSTaskSuspend??rT
// 40 }
POP {R0}
BX R0 ;; return
Nop
DATA
??Main_Task_0:
DC32 Task0Stk + 252
DC32 Task0
DC32 0xe0028008
CFI EndBlock cfiBlock3
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock4 Using cfiCommon0
CFI NoFunction
ARM
??Task0??rA:
ADD R12,PC,#+1
BX R12
CFI EndBlock cfiBlock4
REQUIRE Task0
// 41 /****************************************************************************
// 42 * 名称:Task0()
// 43 * 功能:任务
// 44 ****************************************************************************/
// 45
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock5 Using cfiCommon1
CFI Function Task0
THUMB
// 46 void Task0(void *pdata)
// 47 { INT16U temp;
Task0:
PUSH {R4,LR}
CFI ?RET Frame(CFA, -4)
CFI R4 Frame(CFA, -8)
CFI CFA R13+8
// 48 pdata=pdata;
// 49 temp=0;
MOVS R4,#+0
// 50 while(TRUE){if((IOPIN&0x00030000)!=0x00030000)
??Task0_0:
LDR R0,??Task0_1 ;; 0xe0028000
LDR R0,[R0, #+0]
MOVS R1,#+192
LSLS R1,R1,#+10 ;; #+196608
ANDS R1,R1,R0
MOVS R0,#+192
LSLS R0,R0,#+10 ;; #+196608
CMP R1,R0
BEQ ??Task0_2
// 51 OSTimeDly(OS_TICKS_PER_SEC/50);
MOVS R0,#+2
_BLF OSTimeDly,??OSTimeDly??rT
// 52 if((IOPIN&0x00030000)!=0x00030000)
??Task0_2:
LDR R0,??Task0_1 ;; 0xe0028000
LDR R0,[R0, #+0]
MOVS R1,#+192
LSLS R1,R1,#+10 ;; #+196608
ANDS R1,R1,R0
MOVS R0,#+192
LSLS R0,R0,#+10 ;; #+196608
CMP R1,R0
BEQ ??Task0_0
// 53 {
// 54 if((IOPIN&0x00030000)==0x00020000)
LDR R0,??Task0_1 ;; 0xe0028000
LDR R0,[R0, #+0]
MOVS R1,#+192
LSLS R1,R1,#+10 ;; #+196608
ANDS R1,R1,R0
MOVS R0,#+128
LSLS R0,R0,#+10 ;; #+131072
CMP R1,R0
BNE ??Task0_3
// 55 temp++;
ADDS R4,R4,#+1
LSLS R4,R4,#+16
LSRS R4,R4,#+16
// 56 if((IOPIN&0x00030000)==0x00010000)
??Task0_3:
LDR R0,??Task0_1 ;; 0xe0028000
LDR R0,[R0, #+0]
MOVS R1,#+192
LSLS R1,R1,#+10 ;; #+196608
ANDS R1,R1,R0
MOVS R0,#+128
LSLS R0,R0,#+9 ;; #+65536
CMP R1,R0
BNE ??Task0_4
// 57 temp--;
SUBS R4,R4,#+1
LSLS R4,R4,#+16
LSRS R4,R4,#+16
// 58 while((IOPIN&0x00030000)!=0x00030000);
??Task0_4:
LDR R0,??Task0_1 ;; 0xe0028000
LDR R0,[R0, #+0]
MOVS R1,#+192
LSLS R1,R1,#+10 ;; #+196608
ANDS R1,R1,R0
MOVS R0,#+192
LSLS R0,R0,#+10 ;; #+196608
CMP R1,R0
BNE ??Task0_4
// 59 IOCLR=CON;
LDR R0,??Task0_1+0x4 ;; 0xe002800c
MOVS R1,#+255
STR R1,[R0, #+0]
// 60 IOSET=temp;
LDR R0,??DataTable1 ;; 0xe0028004
STR R4,[R0, #+0]
B ??Task0_0
DATA
??Task0_1:
DC32 0xe0028000
DC32 0xe002800c
CFI EndBlock cfiBlock5
// 61 }
// 62 }
// 63 }
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable1:
DC32 0xe0028004
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock6 Using cfiCommon1
CFI NoFunction
THUMB
??OSInit??rT:
LDR R3,??Subroutine3_0 ;; OSInit
BX R3
DATA
??Subroutine3_0:
DC32 OSInit
CFI EndBlock cfiBlock6
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock7 Using cfiCommon1
CFI NoFunction
THUMB
??OSTaskCreate??rT:
PUSH {R3}
CFI CFA R13+4
LDR R3,??Subroutine4_0 ;; OSTaskCreate
MOV R12,R3
POP {R3}
CFI CFA R13+0
BX R12
Nop
DATA
??Subroutine4_0:
DC32 OSTaskCreate
CFI EndBlock cfiBlock7
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock8 Using cfiCommon1
CFI NoFunction
THUMB
??OSStart??rT:
LDR R3,??Subroutine5_0 ;; OSStart
BX R3
DATA
??Subroutine5_0:
DC32 OSStart
CFI EndBlock cfiBlock8
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock9 Using cfiCommon1
CFI NoFunction
THUMB
??BSP_Init??rT:
LDR R3,??Subroutine6_0 ;; BSP_Init
BX R3
DATA
??Subroutine6_0:
DC32 BSP_Init
CFI EndBlock cfiBlock9
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock10 Using cfiCommon1
CFI NoFunction
THUMB
??OSTaskSuspend??rT:
LDR R3,??Subroutine7_0 ;; OSTaskSuspend
BX R3
DATA
??Subroutine7_0:
DC32 OSTaskSuspend
CFI EndBlock cfiBlock10
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock11 Using cfiCommon1
CFI NoFunction
THUMB
??OSTimeDly??rT:
LDR R3,??Subroutine8_0 ;; OSTimeDly
BX R3
DATA
??Subroutine8_0:
DC32 OSTimeDly
CFI EndBlock cfiBlock11
RSEG INITTAB:CODE:ROOT(2)
DATA
?init?tab?DATA_Z:
DCD sfe(DATA_Z) - sfb(DATA_Z), sfb(DATA_Z), sfb(DATA_Z)
END
// 64
// 65
// 66
//
// 304 bytes in segment CODE
// 16 bytes in segment DATA_AN
// 512 bytes in segment DATA_Z
// 12 bytes in segment INITTAB
//
// 224 bytes of CODE memory (+ 92 bytes shared)
// 512 bytes of DATA memory (+ 16 bytes shared)
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -