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

📄 usb_mem.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\usb_mem.o --depend=.\Obj\usb_mem.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\..\USBLib\library\src\usb_mem.c]
                          THUMB

                          AREA ||i.PMAToUserBufferCopy||, CODE, READONLY, ALIGN=2

                  PMAToUserBufferCopy PROC
;;;59     *******************************************************************************/
;;;60     void PMAToUserBufferCopy(u8 *pbUsrBuf, u16 wPMABufAddr, u16 wNBytes)
000000  4b06              LDR      r3,|L1.28|
;;;61     {
000002  b510              PUSH     {r4,lr}
;;;62       u32 n = (wNBytes + 1) >> 1;/* /2*/
000004  1c52              ADDS     r2,r2,#1
000006  0852              LSRS     r2,r2,#1
;;;63       u32 i;
;;;64       u32 *pdwVal;
;;;65       pdwVal = (u32 *)(wPMABufAddr * 2 + PMAAddr);
000008  eb030141          ADD      r1,r3,r1,LSL #1
;;;66       for (i = n; i != 0; i--)
00000c  d004              BEQ      |L1.24|
                  |L1.14|
;;;67       {
;;;68         *(u16*)pbUsrBuf++ = *pdwVal++;
00000e  c910              LDM      r1!,{r4}
000010  f8204b02          STRH     r4,[r0],#2
000014  1e52              SUBS     r2,r2,#1              ;66
000016  d1fa              BNE      |L1.14|
                  |L1.24|
;;;69         pbUsrBuf++;
;;;70       }
;;;71     }
000018  bd10              POP      {r4,pc}
;;;72     
                          ENDP

00001a  0000              DCW      0x0000
                  |L1.28|
                          DCD      0x40006000

                          AREA ||i.UserToPMABufferCopy||, CODE, READONLY, ALIGN=2

                  UserToPMABufferCopy PROC
;;;34     *******************************************************************************/
;;;35     void UserToPMABufferCopy(u8 *pbUsrBuf, u16 wPMABufAddr, u16 wNBytes)
000000  4b08              LDR      r3,|L2.36|
;;;36     {
000002  b510              PUSH     {r4,lr}
;;;37       u32 n = (wNBytes + 1) >> 1;   /* n = (wNBytes + 1) / 2 */
000004  1c52              ADDS     r2,r2,#1
000006  0852              LSRS     r2,r2,#1
;;;38       u32 i, temp1, temp2;
;;;39       u16 *pdwVal;
;;;40       pdwVal = (u16 *)(wPMABufAddr * 2 + PMAAddr);
000008  eb030141          ADD      r1,r3,r1,LSL #1
;;;41       for (i = n; i != 0; i--)
00000c  d009              BEQ      |L2.34|
                  |L2.14|
;;;42       {
;;;43         temp1 = (u16) * pbUsrBuf;
00000e  7803              LDRB     r3,[r0,#0]
;;;44         pbUsrBuf++;
;;;45         temp2 = temp1 | (u16) * pbUsrBuf << 8;
000010  f8104f01          LDRB     r4,[r0,#1]!
;;;46         *pdwVal++ = temp2;
;;;47         pdwVal++;
;;;48         pbUsrBuf++;
000014  1c40              ADDS     r0,r0,#1
000016  ea432304          ORR      r3,r3,r4,LSL #8       ;45
00001a  f8213b04          STRH     r3,[r1],#4            ;46
00001e  1e52              SUBS     r2,r2,#1              ;41
000020  d1f5              BNE      |L2.14|
                  |L2.34|
;;;49       }
;;;50     }
000022  bd10              POP      {r4,pc}
;;;51     /*******************************************************************************
                          ENDP

                  |L2.36|
                          DCD      0x40006000

⌨️ 快捷键说明

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