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

📄 listbox_insertstring.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\listbox_insertstring.o --depend=.\Obj\listbox_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\LISTBOX_InsertString.c]
                          THUMB

                          AREA ||i.LISTBOX_InsertString||, CODE, READONLY, ALIGN=1

                  LISTBOX_InsertString PROC
;;;36     */
;;;37     void LISTBOX_InsertString(LISTBOX_Handle hObj, const char* s, unsigned int Index) {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  0004              MOVS     r4,r0
000006  460d              MOV      r5,r1
000008  4616              MOV      r6,r2
;;;38       if (hObj && s) {
00000a  d028              BEQ      |L1.94|
00000c  2d00              CMP      r5,#0
00000e  d026              BEQ      |L1.94|
;;;39         LISTBOX_Obj* pObj;
;;;40         unsigned int NumItems;
;;;41         WM_LOCK();
;;;42         pObj = LISTBOX_H2P(hObj);
000010  4620              MOV      r0,r4
000012  f7fffffe          BL       GUI_ALLOC_h2p
000016  4607              MOV      r7,r0
;;;43         NumItems = LISTBOX__GetNumItems(pObj);
000018  f7fffffe          BL       LISTBOX__GetNumItems
;;;44         if (Index < NumItems) {
00001c  4286              CMP      r6,r0
00001e  d218              BCS      |L1.82|
;;;45           WM_HMEM hItem;
;;;46           hItem = GUI_ARRAY_InsertItem(&pObj->ItemArray, Index, sizeof(LISTBOX_ITEM) + strlen(s));
000020  4628              MOV      r0,r5
000022  f7fffffe          BL       strlen
000026  1d82              ADDS     r2,r0,#6
000028  4631              MOV      r1,r6
00002a  f1070028          ADD      r0,r7,#0x28
00002e  f7fffffe          BL       GUI_ARRAY_InsertItem
;;;47           if (hItem) {
000032  2800              CMP      r0,#0
000034  d013              BEQ      |L1.94|
;;;48             LISTBOX_ITEM* pItem = (LISTBOX_ITEM*)GUI_ALLOC_h2p(hItem);
000036  f7fffffe          BL       GUI_ALLOC_h2p
;;;49             pItem->Status = 0;
00003a  2100              MOVS     r1,#0
00003c  7101              STRB     r1,[r0,#4]
;;;50             strcpy(pItem->acText, s);
00003e  4629              MOV      r1,r5
000040  1d40              ADDS     r0,r0,#5
000042  f7fffffe          BL       strcpy
;;;51             LISTBOX_InvalidateItem(hObj, Index);
000046  4631              MOV      r1,r6
000048  4620              MOV      r0,r4
00004a  e8bd41f0          POP      {r4-r8,lr}
00004e  f7ffbffe          B.W      LISTBOX_InvalidateItem
                  |L1.82|
;;;52           }
;;;53         } else {
;;;54           LISTBOX_AddString(hObj, s);
000052  4629              MOV      r1,r5
000054  4620              MOV      r0,r4
000056  e8bd41f0          POP      {r4-r8,lr}
00005a  f7ffbffe          B.W      LISTBOX_AddString
                  |L1.94|
;;;55         }
;;;56         WM_UNLOCK();
;;;57       }
;;;58     }
00005e  e8bd81f0          POP      {r4-r8,pc}
;;;59     
                          ENDP

⌨️ 快捷键说明

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