📄 main.lst
字号:
*** CODE SEGMENT '?PR?AT91F_PDC_SetRx?T?main':
239: __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' ----
244: 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
245: pPDC->PDC_RCR = bytes;
0000000C 1C11 MOV R1,R2 ; bytes
0000000E 1C18 MOV R0,R3 ; pPDC
00000010 6041 STR R1,[R0,#0x4]
ARM COMPILER V2.42, main 14/02/07 10:22:57 PAGE 6
246: }
00000012 BC10 POP {R4}
00000014 4770 BX R14
00000016 ENDP ; 'AT91F_PDC_SetRx?T'
*** CODE SEGMENT '?PR?AT91F_PDC_SetTx?T?main':
252: __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' ----
257: pPDC->PDC_TPR = (unsigned int) address;
00000006 1C21 MOV R1,R4 ; address
00000008 1C18 MOV R0,R3 ; pPDC
0000000A 6081 STR R1,[R0,#0x8]
258: pPDC->PDC_TCR = bytes;
0000000C 1C11 MOV R1,R2 ; bytes
0000000E 1C18 MOV R0,R3 ; pPDC
00000010 60C1 STR R1,[R0,#0xC]
259: }
00000012 BC10 POP {R4}
00000014 4770 BX R14
00000016 ENDP ; 'AT91F_PDC_SetTx?T'
*** CODE SEGMENT '?PR?AT91F_PDC_EnableTx?T?main':
265: __inline void AT91F_PDC_EnableTx (
00000000 1C02 MOV R2,R0 ; pPDC
00000002 ---- Variable 'pPDC' assigned to Register 'R2' ----
268: pPDC->PDC_PTCR = AT91C_PDC_TXTEN;
00000002 4940 LDR R1,=0x100
00000004 1C10 MOV R0,R2 ; pPDC
00000006 6201 STR R1,[R0,#0x20]
269: }
00000008 4770 BX R14
0000000A ENDP ; 'AT91F_PDC_EnableTx?T'
*** CODE SEGMENT '?PR?AT91F_PDC_EnableRx?T?main':
275: __inline void AT91F_PDC_EnableRx (
00000000 1C02 MOV R2,R0 ; pPDC
00000002 ---- Variable 'pPDC' assigned to Register 'R2' ----
278: pPDC->PDC_PTCR = AT91C_PDC_RXTEN;
00000002 2101 MOV R1,#0x1
00000004 1C10 MOV R0,R2 ; pPDC
00000006 6201 STR R1,[R0,#0x20]
279: }
00000008 4770 BX R14
0000000A ENDP ; 'AT91F_PDC_EnableRx?T'
*** CODE SEGMENT '?PR?AT91F_PDC_DisableTx?T?main':
285: __inline void AT91F_PDC_DisableTx (
00000000 1C02 MOV R2,R0 ; pPDC
00000002 ---- Variable 'pPDC' assigned to Register 'R2' ----
288: pPDC->PDC_PTCR = AT91C_PDC_TXTDIS;
00000002 4980 LDR R1,=0x200
00000004 1C10 MOV R0,R2 ; pPDC
00000006 6201 STR R1,[R0,#0x20]
289: }
00000008 4770 BX R14
0000000A ENDP ; 'AT91F_PDC_DisableTx?T'
*** CODE SEGMENT '?PR?AT91F_PDC_DisableRx?T?main':
295: __inline void AT91F_PDC_DisableRx (
00000000 1C02 MOV R2,R0 ; pPDC
00000002 ---- Variable 'pPDC' assigned to Register 'R2' ----
298: pPDC->PDC_PTCR = AT91C_PDC_RXTDIS;
00000002 2102 MOV R1,#0x2
00000004 1C10 MOV R0,R2 ; pPDC
00000006 6201 STR R1,[R0,#0x20]
299: }
ARM COMPILER V2.42, main 14/02/07 10:22:57 PAGE 7
00000008 4770 BX R14
0000000A ENDP ; 'AT91F_PDC_DisableRx?T'
*** CODE SEGMENT '?PR?AT91F_PDC_IsTxEmpty?T?main':
305: __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' ----
308: 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_6 ; T=0x0000000E
0000000A 2001 MOV R0,#0x1
0000000C E000 B L_7 ; T=0x00000010
0000000E L_6:
0000000E 2000 MOV R0,#0x0
00000010 L_7:
309: }
00000010 4770 BX R14
00000012 ENDP ; 'AT91F_PDC_IsTxEmpty?T'
*** CODE SEGMENT '?PR?AT91F_PDC_IsNextTxEmpty?T?main':
315: __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' ----
318: 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_9 ; T=0x0000000E
0000000A 2001 MOV R0,#0x1
0000000C E000 B L_10 ; T=0x00000010
0000000E L_9:
0000000E 2000 MOV R0,#0x0
00000010 L_10:
319: }
00000010 4770 BX R14
00000012 ENDP ; 'AT91F_PDC_IsNextTxEmpty?T'
*** CODE SEGMENT '?PR?AT91F_PDC_IsRxEmpty?T?main':
325: __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' ----
328: return !(pPDC->PDC_RCR);
00000002 1C08 MOV R0,R1 ; pPDC
00000004 6840 LDR R0,[R0,#0x4]
00000006 2800 CMP R0,#0x0
00000008 D101 BNE L_12 ; T=0x0000000E
0000000A 2001 MOV R0,#0x1
0000000C E000 B L_13 ; T=0x00000010
0000000E L_12:
0000000E 2000 MOV R0,#0x0
00000010 L_13:
329: }
00000010 4770 BX R14
00000012 ENDP ; 'AT91F_PDC_IsRxEmpty?T'
*** CODE SEGMENT '?PR?AT91F_PDC_IsNextRxEmpty?T?main':
335: __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' ----
338: 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_15 ; T=0x0000000E
0000000A 2001 MOV R0,#0x1
0000000C E000 B L_16 ; T=0x00000010
0000000E L_15:
0000000E 2000 MOV R0,#0x0
ARM COMPILER V2.42, main 14/02/07 10:22:57 PAGE 8
00000010 L_16:
339: }
00000010 4770 BX R14
00000012 ENDP ; 'AT91F_PDC_IsNextRxEmpty?T'
*** CODE SEGMENT '?PR?AT91F_PDC_Open?T?main':
345: __inline void AT91F_PDC_Open (
00000000 B510 PUSH {R4,LR}
00000002 1C04 MOV R4,R0 ; pPDC
00000004 ---- Variable 'pPDC' assigned to Register 'R4' ----
349: 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)
350: 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)
353: 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)
354: 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)
355: 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)
356: 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)
359: AT91F_PDC_EnableRx(pPDC);
00000038 1C20 MOV R0,R4 ; pPDC
0000003A F7FF BL AT91F_PDC_EnableRx?T ; T=0x0001 (1)
0000003C FFE1 BL AT91F_PDC_EnableRx?T ; T=0x0001 (2)
360: 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)
361: }
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?main':
367: __inline void AT91F_PDC_Close (
00000000 B510 PUSH {R4,LR}
00000002 1C04 MOV R4,R0 ; pPDC
00000004 ---- Variable 'pPDC' assigned to Register 'R4' ----
371: 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)
372: AT91F_PDC_DisableTx(pPDC);
0000000A 1C20 MOV R0,R4 ; pPDC
0000000C F7FF BL AT91F_PDC_DisableTx?T ; T=0x0001 (1)
ARM COMPILER V2.42, main 14/02/07 10:22:57 PAGE 9
0000000E FFF8 BL AT91F_PDC_DisableTx?T ; T=0x0001 (2)
375: 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)
376: 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)
377: 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)
378: 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)
380: }
00000038 BC10 POP {R4}
0000003A BC08 POP {R3}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -