📄 main.lst
字号:
0000003C 4718 BX R3
0000003E ENDP ; 'AT91F_PDC_Close?T'
*** CODE SEGMENT '?PR?AT91F_PDC_SendFrame?T?main':
386: __inline unsigned int AT91F_PDC_SendFrame(
00000000 B5F0 PUSH {R4-R7,LR}
00000002 1C1F MOV R7,R3 ; pNextBuffer
00000004 ---- Variable 'pNextBuffer' assigned to Register 'R7' ----
00000004 1C14 MOV R4,R2 ; szBuffer
00000006 ---- Variable 'szBuffer' assigned to Register 'R4' ----
00000006 1C0D MOV R5,R1 ; pBuffer
00000008 ---- Variable 'pBuffer' assigned to Register 'R5' ----
00000008 1C06 MOV R6,R0 ; pPDC
0000000A ---- Variable 'pPDC' assigned to Register 'R6' ----
393: if (AT91F_PDC_IsTxEmpty(pPDC)) {
0000000A 1C30 MOV R0,R6 ; pPDC
0000000C F7FF BL AT91F_PDC_IsTxEmpty?T ; T=0x0001 (1)
0000000E FFF8 BL AT91F_PDC_IsTxEmpty?T ; T=0x0001 (2)
00000010 2800 CMP R0,#0x0 ; AT91F_PDC_IsTxEmpty?T
00000012 D00B BEQ L_17 ; T=0x0000002C
395: AT91F_PDC_SetTx(pPDC, pBuffer, szBuffer);
00000014 1C30 MOV R0,R6 ; pPDC
00000016 1C29 MOV R1,R5 ; pBuffer
00000018 1C22 MOV R2,R4 ; szBuffer
0000001A F7FF BL AT91F_PDC_SetTx?T ; T=0x0001 (1)
0000001C FFF1 BL AT91F_PDC_SetTx?T ; T=0x0001 (2)
396: AT91F_PDC_SetNextTx(pPDC, pNextBuffer, szNextBuffer);
0000001E 1C30 MOV R0,R6 ; pPDC
00000020 1C39 MOV R1,R7 ; pNextBuffer
00000022 9A00 LDR R2,[R13,#0x0] ; szNextBuffer
00000024 F7FF BL AT91F_PDC_SetNextTx?T ; T=0x0001 (1)
00000026 FFEC BL AT91F_PDC_SetNextTx?T ; T=0x0001 (2)
397: return 2;
00000028 2002 MOV R0,#0x2
0000002A E00C B L_18 ; T=0x00000046
398: }
0000002C L_17:
399: else if (AT91F_PDC_IsNextTxEmpty(pPDC)) {
0000002C 1C30 MOV R0,R6 ; pPDC
ARM COMPILER V2.42, main 14/02/07 10:22:57 PAGE 10
0000002E F7FF BL AT91F_PDC_IsNextTxEmpty?T ; T=0x0001 (1)
00000030 FFE7 BL AT91F_PDC_IsNextTxEmpty?T ; T=0x0001 (2)
00000032 2800 CMP R0,#0x0 ; AT91F_PDC_IsNextTxEmpty?T
00000034 D006 BEQ L_20 ; T=0x00000044
401: AT91F_PDC_SetNextTx(pPDC, pBuffer, szBuffer);
00000036 1C30 MOV R0,R6 ; pPDC
00000038 1C29 MOV R1,R5 ; pBuffer
0000003A 1C22 MOV R2,R4 ; szBuffer
0000003C F7FF BL AT91F_PDC_SetNextTx?T ; T=0x0001 (1)
0000003E FFE0 BL AT91F_PDC_SetNextTx?T ; T=0x0001 (2)
402: return 1;
00000040 2001 MOV R0,#0x1
00000042 E000 B L_18 ; T=0x00000046
403: }
00000044 L_20:
406: return 0;
00000044 2000 MOV R0,#0x0
408: }
00000046 L_18:
00000046 BCF0 POP {R4-R7}
00000048 BC08 POP {R3}
0000004A 4718 BX R3
0000004C ENDP ; 'AT91F_PDC_SendFrame?T'
*** CODE SEGMENT '?PR?AT91F_PDC_ReceiveFrame?T?main':
414: __inline unsigned int AT91F_PDC_ReceiveFrame (
00000000 B5F0 PUSH {R4-R7,LR}
00000002 1C1F MOV R7,R3 ; pNextBuffer
00000004 ---- Variable 'pNextBuffer' assigned to Register 'R7' ----
00000004 1C14 MOV R4,R2 ; szBuffer
00000006 ---- Variable 'szBuffer' assigned to Register 'R4' ----
00000006 1C0D MOV R5,R1 ; pBuffer
00000008 ---- Variable 'pBuffer' assigned to Register 'R5' ----
00000008 1C06 MOV R6,R0 ; pPDC
0000000A ---- Variable 'pPDC' assigned to Register 'R6' ----
421: if (AT91F_PDC_IsRxEmpty(pPDC)) {
0000000A 1C30 MOV R0,R6 ; pPDC
0000000C F7FF BL AT91F_PDC_IsRxEmpty?T ; T=0x0001 (1)
0000000E FFF8 BL AT91F_PDC_IsRxEmpty?T ; T=0x0001 (2)
00000010 2800 CMP R0,#0x0 ; AT91F_PDC_IsRxEmpty?T
00000012 D00B BEQ L_22 ; T=0x0000002C
423: AT91F_PDC_SetRx(pPDC, pBuffer, szBuffer);
00000014 1C30 MOV R0,R6 ; pPDC
00000016 1C29 MOV R1,R5 ; pBuffer
00000018 1C22 MOV R2,R4 ; szBuffer
0000001A F7FF BL AT91F_PDC_SetRx?T ; T=0x0001 (1)
0000001C FFF1 BL AT91F_PDC_SetRx?T ; T=0x0001 (2)
424: AT91F_PDC_SetNextRx(pPDC, pNextBuffer, szNextBuffer);
0000001E 1C30 MOV R0,R6 ; pPDC
00000020 1C39 MOV R1,R7 ; pNextBuffer
00000022 9A00 LDR R2,[R13,#0x0] ; szNextBuffer
00000024 F7FF BL AT91F_PDC_SetNextRx?T ; T=0x0001 (1)
00000026 FFEC BL AT91F_PDC_SetNextRx?T ; T=0x0001 (2)
425: return 2;
00000028 2002 MOV R0,#0x2
0000002A E00C B L_23 ; T=0x00000046
426: }
0000002C L_22:
427: else if (AT91F_PDC_IsNextRxEmpty(pPDC)) {
0000002C 1C30 MOV R0,R6 ; pPDC
0000002E F7FF BL AT91F_PDC_IsNextRxEmpty?T ; T=0x0001 (1)
00000030 FFE7 BL AT91F_PDC_IsNextRxEmpty?T ; T=0x0001 (2)
00000032 2800 CMP R0,#0x0 ; AT91F_PDC_IsNextRxEmpty?T
00000034 D006 BEQ L_25 ; T=0x00000044
429: AT91F_PDC_SetNextRx(pPDC, pBuffer, szBuffer);
00000036 1C30 MOV R0,R6 ; pPDC
00000038 1C29 MOV R1,R5 ; pBuffer
ARM COMPILER V2.42, main 14/02/07 10:22:57 PAGE 11
0000003A 1C22 MOV R2,R4 ; szBuffer
0000003C F7FF BL AT91F_PDC_SetNextRx?T ; T=0x0001 (1)
0000003E FFE0 BL AT91F_PDC_SetNextRx?T ; T=0x0001 (2)
430: return 1;
00000040 2001 MOV R0,#0x1
00000042 E000 B L_23 ; T=0x00000046
431: }
00000044 L_25:
434: return 0;
00000044 2000 MOV R0,#0x0
436: }
00000046 L_23:
00000046 BCF0 POP {R4-R7}
00000048 BC08 POP {R3}
0000004A 4718 BX R3
0000004C ENDP ; 'AT91F_PDC_ReceiveFrame?T'
*** CODE SEGMENT '?PR?AT91F_DBGU_GetInterruptMaskStatus?T?main':
466: __inline unsigned int AT91F_DBGU_GetInterruptMaskStatus( // \return DBGU Interrupt Mask Status
00000000 1C01 MOV R1,R0 ; pDbgu
00000002 ---- Variable 'pDbgu' assigned to Register 'R1' ----
469: return pDbgu->DBGU_IMR;
00000002 1C08 MOV R0,R1 ; pDbgu
00000004 6900 LDR R0,[R0,#0x10]
470: }
00000006 4770 BX R14
00000008 ENDP ; 'AT91F_DBGU_GetInterruptMaskStatus?T'
*** CODE SEGMENT '?PR?AT91F_PIO_CfgPeriph?T?main':
490: __inline void AT91F_PIO_CfgPeriph(
00000000 B410 PUSH {R4}
00000002 ---- Variable 'periphBEnable' assigned to Register 'R2' ----
00000002 1C0C MOV R4,R1 ; periphAEnable
00000004 ---- Variable 'periphAEnable' assigned to Register 'R4' ----
00000004 1C03 MOV R3,R0 ; pPio
00000006 ---- Variable 'pPio' assigned to Register 'R3' ----
496: pPio->PIO_ASR = periphAEnable;
00000006 1C21 MOV R1,R4 ; periphAEnable
00000008 1C18 MOV R0,R3 ; pPio
0000000A 6701 STR R1,[R0,#0x70]
497: pPio->PIO_BSR = periphBEnable;
0000000C 1C11 MOV R1,R2 ; periphBEnable
0000000E 1C18 MOV R0,R3 ; pPio
00000010 6741 STR R1,[R0,#0x74]
498: pPio->PIO_PDR = (periphAEnable | periphBEnable); // Set in Periph mode
00000012 1C10 MOV R0,R2 ; periphBEnable
00000014 1C21 MOV R1,R4 ; periphAEnable
00000016 4301 ORR R1,R0 ; periphBEnable
00000018 1C18 MOV R0,R3 ; pPio
0000001A 6041 STR R1,[R0,#0x4]
499: }
0000001C BC10 POP {R4}
0000001E 4770 BX R14
00000020 ENDP ; 'AT91F_PIO_CfgPeriph?T'
*** CODE SEGMENT '?PR?AT91F_PIO_CfgOutput?T?main':
505: __inline void AT91F_PIO_CfgOutput(
00000000 1C0B MOV R3,R1 ; pioEnable
00000002 ---- Variable 'pioEnable' assigned to Register 'R3' ----
00000002 1C02 MOV R2,R0 ; pPio
00000004 ---- Variable 'pPio' assigned to Register 'R2' ----
509: pPio->PIO_PER = pioEnable; // Set in PIO mode
00000004 1C19 MOV R1,R3 ; pioEnable
00000006 1C10 MOV R0,R2 ; pPio
00000008 6001 STR R1,[R0,#0x0] ; pPio
510: pPio->PIO_OER = pioEnable; // Configure in Output
0000000A 1C19 MOV R1,R3 ; pioEnable
0000000C 1C10 MOV R0,R2 ; pPio
0000000E 6101 STR R1,[R0,#0x10]
ARM COMPILER V2.42, main 14/02/07 10:22:57 PAGE 12
511: }
00000010 4770 BX R14
00000012 ENDP ; 'AT91F_PIO_CfgOutput?T'
*** CODE SEGMENT '?PR?AT91F_PIO_GetInput?T?main':
584: __inline unsigned int AT91F_PIO_GetInput( // \return PIO input
00000000 1C01 MOV R1,R0 ; pPio
00000002 ---- Variable 'pPio' assigned to Register 'R1' ----
587: return pPio->PIO_PDSR;
00000002 1C08 MOV R0,R1 ; pPio
00000004 6BC0 LDR R0,[R0,#0x3C]
588: }
00000006 4770 BX R14
00000008 ENDP ; 'AT91F_PIO_GetInput?T'
*** CODE SEGMENT '?PR?AT91F_PIO_SetOutput?T?main':
606: __inline void AT91F_PIO_SetOutput(
00000000 1C0B MOV R3,R1 ; flag
00000002 ---- Variable 'flag' assigned to Register 'R3' ----
00000002 1C02 MOV R2,R0 ; pPio
00000004 ---- Variable 'pPio' assigned to Register 'R2' ----
610: pPio->PIO_SODR = flag;
00000004 1C19 MOV R1,R3 ; flag
00000006 1C10 MOV R0,R2 ; pPio
00000008 6301 STR R1,[R0,#0x30]
611: }
0000000A 4770 BX R14
0000000C ENDP ; 'AT91F_PIO_SetOutput?T'
*** CODE SEGMENT '?PR?AT91F_PIO_ClearOutput?T?main':
617: __inline void AT91F_PIO_ClearOutput(
00000000 1C0B MOV R3,R1 ; flag
00000002 ---- Variable 'flag' assigned to Register 'R3' ----
00000002 1C02 MOV R2,R0 ; pPio
00000004 ---- Variable 'pPio' assigned to Register 'R2' ----
621: pPio->PIO_CODR = flag;
00000004 1C19 MOV R1,R3 ; flag
00000006 1C10 MOV R0,R2 ; pPio
00000008 6341 STR R1,[R0,#0x34]
622: }
0000000A 4770 BX R14
0000000C ENDP ; 'AT91F_PIO_ClearOutput?T'
*** CODE SEGMENT '?PR?AT91F_PIO_GetStatus?T?main':
661: __inline unsigned int AT91F_PIO_GetStatus( // \return PIO Status
00000000 1C01 MOV R1,R0 ; pPio
00000002 ---- Variable 'pPio' assigned to Register 'R1' ----
664: return pPio->PIO_PSR;
00000002 1C08 MOV R0,R1 ; pPio
00000004 6880 LDR R0,[R0,#0x8]
665: }
00000006 4770 BX R14
00000008 ENDP ; 'AT91F_PIO_GetStatus?T'
*** CODE SEGMENT '?PR?AT91F_PIO_GetOutputStatus?T?main':
704: __inline unsigned int AT91F_PIO_GetOutputStatus( // \return PIO Output Status
00000000 1C01 MOV R1,R0 ; pPio
00000002 ---- Variable 'pPio' assigned to Register 'R1' ----
707: return pPio->PIO_OSR;
00000002 1C08 MOV R0,R1 ; pPio
00000004 6980 LDR R0,[R0,#0x18]
708: }
00000006 4770 BX R14
00000008 ENDP ; 'AT91F_PIO_GetOutputStatus?T'
*** CODE SEGMENT '?PR?AT91F_PIO_GetInputFilterStatus?T?main':
747: __inline unsigned int AT91F_PIO_GetInputFilterStatus( // \return PIO Input Filter Status
00000000 1C01 MOV R1,R0 ; pPio
00000002 ---- Variable 'pPio' assigned to Register 'R1' ----
750: return pPio->PIO_IFSR;
00000002 1C08 MOV R0,R1 ; pPio
00000004 6A80 LDR R0,[R0,#0x28]
ARM COMPILER V2.42, main 14/02/07 10:22:57 PAGE 13
751: }
00000006 4770 BX R14
00000008 ENDP ; 'AT91F_PIO_GetInputFilterStatus?T'
*** CODE SEGMENT '?PR?AT91F_PIO_GetOutputDataStatus?T?main':
768: __inline unsigned int AT91F_PIO_GetOutputDataStatus( // \return PIO Output Data Status
00000000 1C01 MOV R1,R0 ; pPio
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -