📄 usb_mem.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 + -