⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 ARM7x256开发板的了LED测试程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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 + -