📄 menu_getitemtext.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\menu_getitemtext.o --depend=.\Obj\menu_getitemtext.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 ..\..\GUI\Widget\MENU_GetItemText.c]
THUMB
AREA ||i.MENU_GetItemText||, CODE, READONLY, ALIGN=1
MENU_GetItemText PROC
;;;36 */
;;;37 void MENU_GetItemText(MENU_Handle hObj, U16 ItemId, char* pBuffer, unsigned BufferSize) {
000000 b57f PUSH {r0-r6,lr}
;;;38 if (hObj && pBuffer) {
000002 f9bd0000 LDRSH r0,[sp,#0]
000006 4615 MOV r5,r2 ;37
000008 461e MOV r6,r3 ;37
00000a 2800 CMP r0,#0
00000c d018 BEQ |L1.64|
00000e 2d00 CMP r5,#0
000010 d016 BEQ |L1.64|
;;;39 int Index;
;;;40 WM_LOCK();
;;;41 Index = MENU__FindItem(hObj, ItemId, &hObj);
000012 466a MOV r2,sp
000014 f7fffffe BL MENU__FindItem
000018 1e04 SUBS r4,r0,#0
;;;42 if (Index >= 0) {
00001a db11 BLT |L1.64|
;;;43 MENU_Obj* pObj;
;;;44 MENU_ITEM* pItem;
;;;45 pObj = MENU_H2P(hObj);
00001c f9bd0000 LDRSH r0,[sp,#0]
000020 f7fffffe BL GUI_ALLOC_h2p
;;;46 pItem = (MENU_ITEM*)GUI_ARRAY_GetpItem(&pObj->ItemArray, Index);
000024 4621 MOV r1,r4
000026 3058 ADDS r0,r0,#0x58
000028 f7fffffe BL GUI_ARRAY_GetpItem
;;;47 strncpy(pBuffer, pItem->acText, BufferSize);
00002c f100010c ADD r1,r0,#0xc
000030 4632 MOV r2,r6
000032 4628 MOV r0,r5
000034 f7fffffe BL strncpy
;;;48 pBuffer[BufferSize - 1] = 0;
000038 2000 MOVS r0,#0
00003a 19a9 ADDS r1,r5,r6
00003c f8010c01 STRB r0,[r1,#-1]
|L1.64|
;;;49 }
;;;50 WM_UNLOCK();
;;;51 }
;;;52 }
000040 bd7f POP {r0-r6,pc}
;;;53
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -