📄 dropdown_insertstring.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\dropdown_insertstring.o --depend=.\Obj\dropdown_insertstring.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\DROPDOWN_InsertString.c]
THUMB
AREA ||i.DROPDOWN_InsertString||, CODE, READONLY, ALIGN=1
DROPDOWN_InsertString PROC
;;;37 */
;;;38 void DROPDOWN_InsertString(DROPDOWN_Handle hObj, const char * s, unsigned int Index) {
000000 e92d41f0 PUSH {r4-r8,lr}
000004 0005 MOVS r5,r0
000006 460e MOV r6,r1
000008 4617 MOV r7,r2
;;;39 if (hObj && s) {
00000a d033 BEQ |L1.116|
00000c 2e00 CMP r6,#0
00000e d031 BEQ |L1.116|
;;;40 DROPDOWN_Obj* pObj;
;;;41 unsigned int NumItems;
;;;42 WM_LOCK();
;;;43 pObj = DROPDOWN_H2P(hObj);
000010 4628 MOV r0,r5
000012 f7fffffe BL GUI_ALLOC_h2p
000016 4604 MOV r4,r0
;;;44 NumItems = DROPDOWN_GetNumItems(hObj);
000018 4628 MOV r0,r5
00001a f7fffffe BL DROPDOWN_GetNumItems
;;;45 if (Index < NumItems) {
00001e 4287 CMP r7,r0
000020 d21b BCS |L1.90|
;;;46 WM_HMEM hItem;
;;;47 hItem = GUI_ARRAY_InsertItem(&pObj->Handles, Index, strlen(s) + 1);
000022 4630 MOV r0,r6
000024 f7fffffe BL strlen
000028 1c42 ADDS r2,r0,#1
00002a 4639 MOV r1,r7
00002c f104002e ADD r0,r4,#0x2e
000030 f7fffffe BL GUI_ARRAY_InsertItem
;;;48 if (hItem) {
000034 b120 CBZ r0,|L1.64|
;;;49 char * pBuffer = (char *)GUI_ALLOC_h2p(hItem);
000036 f7fffffe BL GUI_ALLOC_h2p
;;;50 strcpy(pBuffer, s);
00003a 4631 MOV r1,r6
00003c f7fffffe BL strcpy
|L1.64|
;;;51 }
;;;52 WM_InvalidateWindow(hObj);
000040 4628 MOV r0,r5
000042 f7fffffe BL WM_InvalidateWindow
;;;53 if (pObj->hListWin) {
000046 f9b40060 LDRSH r0,[r4,#0x60]
00004a 2800 CMP r0,#0
00004c d012 BEQ |L1.116|
;;;54 LISTBOX_InsertString(pObj->hListWin, s, Index);
00004e 463a MOV r2,r7
000050 4631 MOV r1,r6
000052 e8bd41f0 POP {r4-r8,lr}
000056 f7ffbffe B.W LISTBOX_InsertString
|L1.90|
;;;55 }
;;;56 } else {
;;;57 DROPDOWN_AddString(hObj, s);
00005a 4631 MOV r1,r6
00005c 4628 MOV r0,r5
00005e f7fffffe BL DROPDOWN_AddString
;;;58 if (pObj->hListWin) {
000062 f9b40060 LDRSH r0,[r4,#0x60]
000066 2800 CMP r0,#0
000068 d004 BEQ |L1.116|
;;;59 LISTBOX_AddString(pObj->hListWin, s);
00006a 4631 MOV r1,r6
00006c e8bd41f0 POP {r4-r8,lr}
000070 f7ffbffe B.W LISTBOX_AddString
|L1.116|
;;;60 }
;;;61 }
;;;62 WM_UNLOCK();
;;;63 }
;;;64 }
000074 e8bd81f0 POP {r4-r8,pc}
;;;65
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -