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

📄 lib_twi.lst

📁 atmelsam7s64twi完美底层驱动
💻 LST
📖 第 1 页 / 共 5 页
字号:
 00000014  4770      BX          R14
 00000016          ENDP ; 'AT91F_PDC_SetNextRx?T'


*** CODE SEGMENT '?PR?AT91F_PDC_SetNextTx?T?lib_twi':
  145: __inline void AT91F_PDC_SetNextTx (
 00000000  B410      PUSH        {R4}
 00000002  ---- Variable 'bytes' assigned to Register 'R2' ----
 00000002  1C0C      MOV         R4,R1 ; address
 00000004  ---- Variable 'address' assigned to Register 'R4' ----
 00000004  1C03      MOV         R3,R0 ; pPDC
 00000006  ---- Variable 'pPDC' assigned to Register 'R3' ----
  150:     pPDC->PDC_TNPR = (unsigned int) address;
 00000006  1C21      MOV         R1,R4 ; address
 00000008  1C18      MOV         R0,R3 ; pPDC
 0000000A  6181      STR         R1,[R0,#0x18]
  151:     pPDC->PDC_TNCR = bytes;
ARM COMPILER V2.53,  lib_twi                                                               19/07/06  08:38:07  PAGE 6   

 0000000C  1C11      MOV         R1,R2 ; bytes
 0000000E  1C18      MOV         R0,R3 ; pPDC
 00000010  61C1      STR         R1,[R0,#0x1C]
  152: }
 00000012  BC10      POP         {R4}
 00000014  4770      BX          R14
 00000016          ENDP ; 'AT91F_PDC_SetNextTx?T'


*** CODE SEGMENT '?PR?AT91F_PDC_SetRx?T?lib_twi':
  158: __inline void AT91F_PDC_SetRx (
 00000000  B410      PUSH        {R4}
 00000002  ---- Variable 'bytes' assigned to Register 'R2' ----
 00000002  1C0C      MOV         R4,R1 ; address
 00000004  ---- Variable 'address' assigned to Register 'R4' ----
 00000004  1C03      MOV         R3,R0 ; pPDC
 00000006  ---- Variable 'pPDC' assigned to Register 'R3' ----
  163:     pPDC->PDC_RPR = (unsigned int) address;
 00000006  1C21      MOV         R1,R4 ; address
 00000008  1C18      MOV         R0,R3 ; pPDC
 0000000A  6001      STR         R1,[R0,#0x0] ; pPDC
  164:     pPDC->PDC_RCR = bytes;
 0000000C  1C11      MOV         R1,R2 ; bytes
 0000000E  1C18      MOV         R0,R3 ; pPDC
 00000010  6041      STR         R1,[R0,#0x4]
  165: }
 00000012  BC10      POP         {R4}
 00000014  4770      BX          R14
 00000016          ENDP ; 'AT91F_PDC_SetRx?T'


*** CODE SEGMENT '?PR?AT91F_PDC_SetTx?T?lib_twi':
  171: __inline void AT91F_PDC_SetTx (
 00000000  B410      PUSH        {R4}
 00000002  ---- Variable 'bytes' assigned to Register 'R2' ----
 00000002  1C0C      MOV         R4,R1 ; address
 00000004  ---- Variable 'address' assigned to Register 'R4' ----
 00000004  1C03      MOV         R3,R0 ; pPDC
 00000006  ---- Variable 'pPDC' assigned to Register 'R3' ----
  176:     pPDC->PDC_TPR = (unsigned int) address;
 00000006  1C21      MOV         R1,R4 ; address
 00000008  1C18      MOV         R0,R3 ; pPDC
 0000000A  6081      STR         R1,[R0,#0x8]
  177:     pPDC->PDC_TCR = bytes;
 0000000C  1C11      MOV         R1,R2 ; bytes
 0000000E  1C18      MOV         R0,R3 ; pPDC
 00000010  60C1      STR         R1,[R0,#0xC]
  178: }
 00000012  BC10      POP         {R4}
 00000014  4770      BX          R14
 00000016          ENDP ; 'AT91F_PDC_SetTx?T'


*** CODE SEGMENT '?PR?AT91F_PDC_EnableTx?T?lib_twi':
  184: __inline void AT91F_PDC_EnableTx (
 00000000  1C02      MOV         R2,R0 ; pPDC
 00000002  ---- Variable 'pPDC' assigned to Register 'R2' ----
  187:     pPDC->PDC_PTCR = AT91C_PDC_TXTEN;
 00000002  4940      LDR         R1,=0x100
 00000004  1C10      MOV         R0,R2 ; pPDC
 00000006  6201      STR         R1,[R0,#0x20]
  188: }
 00000008  4770      BX          R14
 0000000A          ENDP ; 'AT91F_PDC_EnableTx?T'


*** CODE SEGMENT '?PR?AT91F_PDC_EnableRx?T?lib_twi':
  194: __inline void AT91F_PDC_EnableRx (
 00000000  1C02      MOV         R2,R0 ; pPDC
 00000002  ---- Variable 'pPDC' assigned to Register 'R2' ----
  197:     pPDC->PDC_PTCR = AT91C_PDC_RXTEN;
 00000002  2101      MOV         R1,#0x1
 00000004  1C10      MOV         R0,R2 ; pPDC
 00000006  6201      STR         R1,[R0,#0x20]
ARM COMPILER V2.53,  lib_twi                                                               19/07/06  08:38:07  PAGE 7   

  198: }
 00000008  4770      BX          R14
 0000000A          ENDP ; 'AT91F_PDC_EnableRx?T'


*** CODE SEGMENT '?PR?AT91F_PDC_DisableTx?T?lib_twi':
  204: __inline void AT91F_PDC_DisableTx (
 00000000  1C02      MOV         R2,R0 ; pPDC
 00000002  ---- Variable 'pPDC' assigned to Register 'R2' ----
  207:     pPDC->PDC_PTCR = AT91C_PDC_TXTDIS;
 00000002  4980      LDR         R1,=0x200
 00000004  1C10      MOV         R0,R2 ; pPDC
 00000006  6201      STR         R1,[R0,#0x20]
  208: }
 00000008  4770      BX          R14
 0000000A          ENDP ; 'AT91F_PDC_DisableTx?T'


*** CODE SEGMENT '?PR?AT91F_PDC_DisableRx?T?lib_twi':
  214: __inline void AT91F_PDC_DisableRx (
 00000000  1C02      MOV         R2,R0 ; pPDC
 00000002  ---- Variable 'pPDC' assigned to Register 'R2' ----
  217:     pPDC->PDC_PTCR = AT91C_PDC_RXTDIS;
 00000002  2102      MOV         R1,#0x2
 00000004  1C10      MOV         R0,R2 ; pPDC
 00000006  6201      STR         R1,[R0,#0x20]
  218: }
 00000008  4770      BX          R14
 0000000A          ENDP ; 'AT91F_PDC_DisableRx?T'


*** CODE SEGMENT '?PR?AT91F_PDC_IsTxEmpty?T?lib_twi':
  224: __inline int AT91F_PDC_IsTxEmpty ( // \return return 1 if transfer is complete
 00000000  1C01      MOV         R1,R0 ; pPDC
 00000002  ---- Variable 'pPDC' assigned to Register 'R1' ----
  227:     return !(pPDC->PDC_TCR);
 00000002  1C08      MOV         R0,R1 ; pPDC
 00000004  68C0      LDR         R0,[R0,#0xC]
 00000006  2800      CMP         R0,#0x0
 00000008  D101      BNE         L_4  ; T=0x0000000E
 0000000A  2001      MOV         R0,#0x1
 0000000C  E000      B           L_5  ; T=0x00000010
 0000000E          L_4:
 0000000E  2000      MOV         R0,#0x0
 00000010          L_5:
  228: }
 00000010  4770      BX          R14
 00000012          ENDP ; 'AT91F_PDC_IsTxEmpty?T'


*** CODE SEGMENT '?PR?AT91F_PDC_IsNextTxEmpty?T?lib_twi':
  234: __inline int AT91F_PDC_IsNextTxEmpty ( // \return return 1 if transfer is complete
 00000000  1C01      MOV         R1,R0 ; pPDC
 00000002  ---- Variable 'pPDC' assigned to Register 'R1' ----
  237:     return !(pPDC->PDC_TNCR);
 00000002  1C08      MOV         R0,R1 ; pPDC
 00000004  69C0      LDR         R0,[R0,#0x1C]
 00000006  2800      CMP         R0,#0x0
 00000008  D101      BNE         L_7  ; T=0x0000000E
 0000000A  2001      MOV         R0,#0x1
 0000000C  E000      B           L_8  ; T=0x00000010
 0000000E          L_7:
 0000000E  2000      MOV         R0,#0x0
 00000010          L_8:
  238: }
 00000010  4770      BX          R14
 00000012          ENDP ; 'AT91F_PDC_IsNextTxEmpty?T'


*** CODE SEGMENT '?PR?AT91F_PDC_IsRxEmpty?T?lib_twi':
  244: __inline int AT91F_PDC_IsRxEmpty ( // \return return 1 if transfer is complete
 00000000  1C01      MOV         R1,R0 ; pPDC
 00000002  ---- Variable 'pPDC' assigned to Register 'R1' ----
  247:     return !(pPDC->PDC_RCR);
 00000002  1C08      MOV         R0,R1 ; pPDC
 00000004  6840      LDR         R0,[R0,#0x4]
ARM COMPILER V2.53,  lib_twi                                                               19/07/06  08:38:07  PAGE 8   

 00000006  2800      CMP         R0,#0x0
 00000008  D101      BNE         L_10  ; T=0x0000000E
 0000000A  2001      MOV         R0,#0x1
 0000000C  E000      B           L_11  ; T=0x00000010
 0000000E          L_10:
 0000000E  2000      MOV         R0,#0x0
 00000010          L_11:
  248: }
 00000010  4770      BX          R14
 00000012          ENDP ; 'AT91F_PDC_IsRxEmpty?T'


*** CODE SEGMENT '?PR?AT91F_PDC_IsNextRxEmpty?T?lib_twi':
  254: __inline int AT91F_PDC_IsNextRxEmpty ( // \return return 1 if transfer is complete
 00000000  1C01      MOV         R1,R0 ; pPDC
 00000002  ---- Variable 'pPDC' assigned to Register 'R1' ----
  257:     return !(pPDC->PDC_RNCR);
 00000002  1C08      MOV         R0,R1 ; pPDC
 00000004  6940      LDR         R0,[R0,#0x14]
 00000006  2800      CMP         R0,#0x0
 00000008  D101      BNE         L_13  ; T=0x0000000E
 0000000A  2001      MOV         R0,#0x1
 0000000C  E000      B           L_14  ; T=0x00000010
 0000000E          L_13:
 0000000E  2000      MOV         R0,#0x0
 00000010          L_14:
  258: }
 00000010  4770      BX          R14
 00000012          ENDP ; 'AT91F_PDC_IsNextRxEmpty?T'


*** CODE SEGMENT '?PR?AT91F_PDC_Open?T?lib_twi':
  264: __inline void AT91F_PDC_Open (
 00000000  B510      PUSH        {R4,LR}
 00000002  1C04      MOV         R4,R0 ; pPDC
 00000004  ---- Variable 'pPDC' assigned to Register 'R4' ----
  268:     AT91F_PDC_DisableRx(pPDC);
 00000004  1C20      MOV         R0,R4 ; pPDC
 00000006  F7FF      BL          AT91F_PDC_DisableRx?T  ; T=0x0001  (1)
 00000008  FFFB      BL          AT91F_PDC_DisableRx?T  ; T=0x0001  (2)
  269:     AT91F_PDC_DisableTx(pPDC);
 0000000A  1C20      MOV         R0,R4 ; pPDC
 0000000C  F7FF      BL          AT91F_PDC_DisableTx?T  ; T=0x0001  (1)
 0000000E  FFF8      BL          AT91F_PDC_DisableTx?T  ; T=0x0001  (2)
  272:     AT91F_PDC_SetNextTx(pPDC, (char *) 0, 0);
 00000010  1C20      MOV         R0,R4 ; pPDC
 00000012  2100      MOV         R1,#0x0
 00000014  2200      MOV         R2,#0x0
 00000016  F7FF      BL          AT91F_PDC_SetNextTx?T  ; T=0x0001  (1)
 00000018  FFF3      BL          AT91F_PDC_SetNextTx?T  ; T=0x0001  (2)
  273:     AT91F_PDC_SetNextRx(pPDC, (char *) 0, 0);
 0000001A  1C20      MOV         R0,R4 ; pPDC
 0000001C  2100      MOV         R1,#0x0
 0000001E  2200      MOV         R2,#0x0
 00000020  F7FF      BL          AT91F_PDC_SetNextRx?T  ; T=0x0001  (1)
 00000022  FFEE      BL          AT91F_PDC_SetNextRx?T  ; T=0x0001  (2)
  274:     AT91F_PDC_SetTx(pPDC, (char *) 0, 0);
 00000024  1C20      MOV         R0,R4 ; pPDC
 00000026  2100      MOV         R1,#0x0
 00000028  2200      MOV         R2,#0x0
 0000002A  F7FF      BL          AT91F_PDC_SetTx?T  ; T=0x0001  (1)
 0000002C  FFE9      BL          AT91F_PDC_SetTx?T  ; T=0x0001  (2)
  275:     AT91F_PDC_SetRx(pPDC, (char *) 0, 0);
 0000002E  1C20      MOV         R0,R4 ; pPDC
 00000030  2100      MOV         R1,#0x0
 00000032  2200      MOV         R2,#0x0
 00000034  F7FF      BL          AT91F_PDC_SetRx?T  ; T=0x0001  (1)
 00000036  FFE4      BL          AT91F_PDC_SetRx?T  ; T=0x0001  (2)
  278:     AT91F_PDC_EnableRx(pPDC);
 00000038  1C20      MOV         R0,R4 ; pPDC
ARM COMPILER V2.53,  lib_twi                                                               19/07/06  08:38:07  PAGE 9   

 0000003A  F7FF      BL          AT91F_PDC_EnableRx?T  ; T=0x0001  (1)
 0000003C  FFE1      BL          AT91F_PDC_EnableRx?T  ; T=0x0001  (2)
  279:     AT91F_PDC_EnableTx(pPDC);
 0000003E  1C20      MOV         R0,R4 ; pPDC
 00000040  F7FF      BL          AT91F_PDC_EnableTx?T  ; T=0x0001  (1)
 00000042  FFDE      BL          AT91F_PDC_EnableTx?T  ; T=0x0001  (2)
  280: }
 00000044  BC10      POP         {R4}
 00000046  BC08      POP         {R3}
 00000048  4718      BX          R3
 0000004A          ENDP ; 'AT91F_PDC_Open?T'


*** CODE SEGMENT '?PR?AT91F_PDC_Close?T?lib_twi':
  286: __inline void AT91F_PDC_Close (
 00000000  B510      PUSH        {R4,LR}
 00000002  1C04      MOV         R4,R0 ; pPDC
 00000004  ---- Variable 'pPDC' assigned to Register 'R4' ----
  290:     AT91F_PDC_DisableRx(pPDC);
 00000004  1C20      MOV         R0,R4 ; pPDC
 00000006  F7FF      BL          AT91F_PDC_DisableRx?T  ; T=0x0001  (1)
 00000008  FFFB      BL          AT91F_PDC_DisableRx?T  ; T=0x0001  (2)
  291:     AT91F_PDC_DisableTx(pPDC);
 0000000A  1C20      MOV         R0,R4 ; pPDC
 0000000C  F7FF      BL          AT91F_PDC_DisableTx?T  ; T=0x0001  (1)
 0000000E  FFF8      BL          AT91F_PDC_DisableTx?T  ; T=0x0001  (2)
  294:     AT91F_PDC_SetNextTx(pPDC, (char *) 0, 0);
 00000010  1C20      MOV         R0,R4 ; pPDC
 00000012  2100      MOV         R1,#0x0
 00000014  2200      MOV         R2,#0x0
 00000016  F7FF      BL          AT91F_PDC_SetNextTx?T  ; T=0x0001  (1)
 00000018  FFF3      BL          AT91F_PDC_SetNextTx?T  ; T=0x0001  (2)
  295:     AT91F_PDC_SetNextRx(pPDC, (char *) 0, 0);
 0000001A  1C20      MOV         R0,R4 ; pPDC
 0000001C  2100      MOV         R1,#0x0
 0000001E  2200      MOV         R2,#0x0
 00000020  F7FF      BL          AT91F_PDC_SetNextRx?T  ; T=0x0001  (1)
 00000022  FFEE      BL          AT91F_PDC_SetNextRx?T  ; T=0x0001  (2)
  296:     AT91F_PDC_SetTx(pPDC, (char *) 0, 0);
 00000024  1C20      MOV         R0,R4 ; pPDC

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -