📄 test.lst
字号:
00000050 E5D01000 LDRB R1,[R0,#0x0] ; Data
00000054 E5100000 LDR R0,=0xE000C000
00000058 E5C01000 STRB R1,[R0,#0x0]
149: U0THR = *(((UINT8 *)Data) + 1);
0000005C E1A00004 MOV R0,R4 ; Data
00000060 E5D01001 LDRB R1,[R0,#0x1]
00000064 E5100000 LDR R0,=0xE000C000
00000068 E5C01000 STRB R1,[R0,#0x0]
150: U0THR = *(((UINT8 *)Data) + 2);
0000006C E1A00004 MOV R0,R4 ; Data
00000070 E5D01002 LDRB R1,[R0,#0x2]
00000074 E5100000 LDR R0,=0xE000C000
00000078 E5C01000 STRB R1,[R0,#0x0]
151: U0THR = *(((UINT8 *)Data) + 3);
0000007C E1A00004 MOV R0,R4 ; Data
00000080 E5D01003 LDRB R1,[R0,#0x3]
00000084 E5100000 LDR R0,=0xE000C000
00000088 E5C01000 STRB R1,[R0,#0x0]
152: U0THR = ' ';
0000008C E3A01020 MOV R1,#0x20
00000090 E5100000 LDR R0,=0xE000C000
00000094 E5C01000 STRB R1,[R0,#0x0]
153: U0THR = ' ';
00000098 E3A01020 MOV R1,#0x20
0000009C E5100000 LDR R0,=0xE000C000
000000A0 E5C01000 STRB R1,[R0,#0x0]
154: U0THR = ' ';
000000A4 E3A01020 MOV R1,#0x20
000000A8 E5100000 LDR R0,=0xE000C000
000000AC E5C01000 STRB R1,[R0,#0x0]
155: IsBusy = 0;
000000B0 E3A01000 MOV R1,#0x0
000000B4 E5100000 LDR R0,=IsBusy ; IsBusy
000000B8 E5801000 STR R1,[R0,#0x0] ; IsBusy
156: }
ARM COMPILER V2.32a, Test 28/02/08 23:05:56 PAGE 10
000000BC E8BD0070 LDMIA R13!,{R4-R6}
000000C0 E8BD0008 LDMIA R13!,{R3}
000000C4 E12FFF13 BX R3
000000C8 ENDP ; 'AddDec?A'
*** CODE SEGMENT '?PR?Send?A?Test':
158: void Send(UINT8 Flag, INT32 *Data)
00000000 E92D4000 STMDB R13!,{LR}
00000004 E1A02001 MOV R2,R1 ; Data
00000008 ---- Variable 'Data' assigned to Register 'R2' ----
00000008 E1A01000 MOV R1,R0 ; Flag
0000000C ---- Variable 'Flag' assigned to Register 'R1' ----
160: AddDec(Flag, Data, 2, 1);
0000000C E1A00001 MOV R0,R1 ; Flag
00000010 E1A00C00 MOV R0,R0,LSL #24 ; Flag
00000014 E1A00C20 MOV R0,R0,LSR #24
00000018 E1A01002 MOV R1,R2 ; Data
0000001C E3A02002 MOV R2,#0x2
00000020 E3A03001 MOV R3,#0x1
00000024 EBFFFFF5 BL AddDec?A ; Targ=0x0
161: }
00000028 E8BD0008 LDMIA R13!,{R3}
0000002C E12FFF13 BX R3
00000030 ENDP ; 'Send?A'
*** CODE SEGMENT '?PR?TaskMain1?A?Test':
167: void TaskMain1(UINT32 Param) __task
00000000 E1A04000 MOV R4,R0 ; Param
00000004 ---- Variable 'Param' assigned to Register 'R4' ----
00000004 E24DD00C SUB R13,R13,#0x000C
168: {
00000008 ; SCOPE-START
172: OSTimerSet(OSTaskSelf(), 1000);
00000008 EBFFFFFC BL OSTaskSelf?A ; Targ=0x0
0000000C E3A01FFA MOV R1,#0x3E8
00000010 EBFFFFFA BL OSTimerSet?A ; Targ=0x0
173: ID = OSTimerSet(OSTaskSelf(), 5000);
00000014 EBFFFFF9 BL OSTaskSelf?A ; Targ=0x0
00000018 E5101000 LDR R1,=0x1388
0000001C EBFFFFF7 BL OSTimerSet?A ; Targ=0x0
00000020 E1A05000 MOV R5,R0 ; ID
00000024 ---- Variable 'ID' assigned to Register 'R5' ----
174: OSTimerSet(OSTaskSelf(), 10000);
00000024 EBFFFFF5 BL OSTaskSelf?A ; Targ=0x0
00000028 E5101000 LDR R1,=0x2710
0000002C EBFFFFF3 BL OSTimerSet?A ; Targ=0x0
175: OSTimerKill(ID);
00000030 E1A00005 MOV R0,R5 ; ID
00000034 EBFFFFF1 BL OSTimerKill?A ; Targ=0x0
178: while(Param == 156)
00000038 EA000012 B L_14 ; Targ=0x88
0000003C L_16:
180: SetWDT();
0000003C EBFFFFEF BL SetWDT?A ; Targ=0x0
181: OSTaskDelay(100);
00000040 E3A00064 MOV R0,#0x64
00000044 EBFFFFED BL OSTaskDelay?A ; Targ=0x0
182: if(OSTaskMsgPeek(&Msg))
00000048 E28D0000 ADD R0,R13,#0x0000
0000004C EBFFFFEB BL OSTaskMsgPeek?A ; Targ=0x0
00000050 E3500000 CMP R0,#0x0000 ; OSTaskMsgPeek?A
00000054 0A00000B BEQ L_14 ; Targ=0x88
184: if(Msg.Msg == 1000)
00000058 E59D0000 LDR R0,[R13,#0x0] ; Msg
0000005C E3500FFA CMP R0,#0x03E8
00000060 1A000002 BNE L_19 ; Targ=0x70
185: U0THR = Msg.wParam;
00000064 E59D1004 LDR R1,[R13,#0x4] ; Msg
ARM COMPILER V2.32a, Test 28/02/08 23:05:56 PAGE 11
00000068 E5100000 LDR R0,=0xE000C000
0000006C E5C01000 STRB R1,[R0,#0x0]
00000070 L_19:
186: if(Msg.Msg == OS_MSG_TIMER)
00000070 E59D0000 LDR R0,[R13,#0x0] ; Msg
00000074 E3500901 CMP R0,#0x4000
00000078 1A000002 BNE L_14 ; Targ=0x88
187: U0THR = 'T';
0000007C E3A01054 MOV R1,#0x54
00000080 E5100000 LDR R0,=0xE000C000
00000084 E5C01000 STRB R1,[R0,#0x0]
189: }
00000088 L_14:
00000088 E1A00004 MOV R0,R4 ; Param
0000008C E350009C CMP R0,#0x009C ; Param
00000090 0AFFFFE9 BEQ L_16 ; Targ=0x3C
00000094 ; SCOPE-END
190: }
00000094 E28DD00C ADD R13,R13,#0x000C
00000098 ENDP ; 'TaskMain1?A'
*** CODE SEGMENT '?PR?TaskMain2?A?Test':
192: void TaskMain2(UINT32 Param) __task
00000000 E1A04000 MOV R4,R0 ; Param
00000004 ---- Variable 'Param' assigned to Register 'R4' ----
194: while(Param == 158)
00000004 EA00000D B L_21 ; Targ=0x40
00000008 L_23:
196: IOPIN ^= (1 << 27);
00000008 E5100000 LDR R0,=0xE0028000
0000000C E5901000 LDR R1,[R0,#0x0]
00000010 E2211302 EOR R1,R1,#0x8000000
00000014 E5801000 STR R1,[R0,#0x0]
197: OSMutWait(&Mut);
00000018 E5100000 LDR R0,=Mut ; Mut
0000001C EBFFFFF7 BL OSMutWait?A ; Targ=0x0
198: OSTaskMsgPost(TaskID1, 1000, '2', 0);
00000020 E5100000 LDR R0,=TaskID1 ; TaskID1
00000024 E5900000 LDR R0,[R0,#0x0] ; TaskID1
00000028 E3A01FFA MOV R1,#0x3E8
0000002C E3A02032 MOV R2,#0x32
00000030 E3A03000 MOV R3,#0x0
00000034 EBFFFFF1 BL OSTaskMsgPost?A ; Targ=0x0
199: OSMutRelease(&Mut);
00000038 E5100000 LDR R0,=Mut ; Mut
0000003C EBFFFFEF BL OSMutRelease?A ; Targ=0x0
200: }
00000040 L_21:
00000040 E1A00004 MOV R0,R4 ; Param
00000044 E350009E CMP R0,#0x009E ; Param
00000048 0AFFFFEE BEQ L_23 ; Targ=0x8
201: }
0000004C ENDP ; 'TaskMain2?A'
*** CODE SEGMENT '?PR?TaskMain3?A?Test':
203: void TaskMain3(UINT32 Param) __task
00000000 E1A04000 MOV R4,R0 ; Param
00000004 ---- Variable 'Param' assigned to Register 'R4' ----
205: while(Param == 158)
00000004 EA000005 B L_25 ; Targ=0x20
00000008 L_27:
207: OSMutWait(&Mut);
00000008 E5100000 LDR R0,=Mut ; Mut
0000000C EBFFFFFB BL OSMutWait?A ; Targ=0x0
208: OSTaskDelay(4000);
00000010 E3A00EFA MOV R0,#0xFA0
00000014 EBFFFFF9 BL OSTaskDelay?A ; Targ=0x0
209: OSMutRelease(&Mut);
ARM COMPILER V2.32a, Test 28/02/08 23:05:56 PAGE 12
00000018 E5100000 LDR R0,=Mut ; Mut
0000001C EBFFFFF7 BL OSMutRelease?A ; Targ=0x0
210: }
00000020 L_25:
00000020 E1A00004 MOV R0,R4 ; Param
00000024 E350009E CMP R0,#0x009E ; Param
00000028 0AFFFFF6 BEQ L_27 ; Targ=0x8
211: }
0000002C ENDP ; 'TaskMain3?A'
*** CODE SEGMENT '?PR?TaskMain4?A?Test':
213: void TaskMain4(UINT32 Param) __task
00000000 E1A04000 MOV R4,R0 ; Param
00000004 ---- Variable 'Param' assigned to Register 'R4' ----
215: while(Param == 158)
00000004 EA00000D B L_29 ; Targ=0x40
00000008 L_31:
217: IOPIN ^= (1 << 29);
00000008 E5100000 LDR R0,=0xE0028000
0000000C E5901000 LDR R1,[R0,#0x0]
00000010 E2211202 EOR R1,R1,#0x20000000
00000014 E5801000 STR R1,[R0,#0x0]
218: OSMutWait(&Mut);
00000018 E5100000 LDR R0,=Mut ; Mut
0000001C EBFFFFF7 BL OSMutWait?A ; Targ=0x0
219: OSTaskMsgPost(TaskID1, 1000, '4', 0);
00000020 E5100000 LDR R0,=TaskID1 ; TaskID1
00000024 E5900000 LDR R0,[R0,#0x0] ; TaskID1
00000028 E3A01FFA MOV R1,#0x3E8
0000002C E3A02034 MOV R2,#0x34
00000030 E3A03000 MOV R3,#0x0
00000034 EBFFFFF1 BL OSTaskMsgPost?A ; Targ=0x0
220: OSMutRelease(&Mut);
00000038 E5100000 LDR R0,=Mut ; Mut
0000003C EBFFFFEF BL OSMutRelease?A ; Targ=0x0
221: }
00000040 L_29:
00000040 E1A00004 MOV R0,R4 ; Param
00000044 E350009E CMP R0,#0x009E ; Param
00000048 0AFFFFEE BEQ L_31 ; Targ=0x8
222: }
0000004C ENDP ; 'TaskMain4?A'
*** CODE SEGMENT '?PR?TaskUasrMain?A?Test':
227: IODIR |= ((1 << 27) | (1 << 28) | (1 << 29) | (1 << 19));
00000000 E5102000 LDR R2,=0x38080000
00000004 E5100000 LDR R0,=0xE0028008
00000008 E5901000 LDR R1,[R0,#0x0]
0000000C E1811002 ORR R1,R1,R2
00000010 E5801000 STR R1,[R0,#0x0]
228: IOCLR = ((1 << 27) | (1 << 28) | (1 << 29) | (1 << 19));
00000014 E5101000 LDR R1,=0x38080000
00000018 E5100000 LDR R0,=0xE002800C
0000001C E5801000 STR R1,[R0,#0x0]
229: InitUart0();
00000020 EBFFFFF6 BL InitUart0?A ; Targ=0x0
230: U0THR = 'R';
00000024 E3A01052 MOV R1,#0x52
00000028 E5100000 LDR R0,=0xE000C000
0000002C E5C01000 STRB R1,[R0,#0x0]
231: OSMutInit(&Mut);
00000030 E5100000 LDR R0,=Mut ; Mut
00000034 EBFFFFF1 BL OSMutInit?A ; Targ=0x0
232: TaskID1 = OSTaskCreate(TaskMain1, 255, 156);
00000038 E5100000 LDR R0,=TaskMain1?A ; TaskMain1?A
0000003C E3A010FF MOV R1,#0xFF
00000040 E3A0209C MOV R2,#0x9C
00000044 EBFFFFED BL OSTaskCreate?A ; Targ=0x0
ARM COMPILER V2.32a, Test 28/02/08 23:05:56 PAGE 13
00000048 E5101000 LDR R1,=TaskID1 ; TaskID1
0000004C E5810000 STR R0,[R1,#0x0] ; TaskID1
233: OSTaskCreate(TaskMain2, 254, 158);
00000050 E5100000 LDR R0,=TaskMain2?A ; TaskMain2?A
00000054 E3A010FE MOV R1,#0xFE
00000058 E3A0209E MOV R2,#0x9E
0000005C EBFFFFE7 BL OSTaskCreate?A ; Targ=0x0
234: OSTaskCreate(TaskMain3, 255, 158);
00000060 E5100000 LDR R0,=TaskMain3?A ; TaskMain3?A
00000064 E3A010FF MOV R1,#0xFF
00000068 E3A0209E MOV R2,#0x9E
0000006C EBFFFFE3 BL OSTaskCreate?A ; Targ=0x0
235: OSTaskCreate(TaskMain4, 255, 158);
00000070 E5100000 LDR R0,=TaskMain4?A ; TaskMain4?A
00000074 E3A010FF MOV R1,#0xFF
00000078 E3A0209E MOV R2,#0x9E
0000007C EBFFFFDF BL OSTaskCreate?A ; Targ=0x0
237: while(1);
00000080 L_33:
00000080 EAFFFFFE B L_33 ; Targ=0x80
238: }
00000084 ENDP ; 'TaskUasrMain?A'
Module Information Static
----------------------------------
code size = ------
data size = 129
const size = ------
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -