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

📄 menu__finditem.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\menu__finditem.o --depend=.\Obj\menu__finditem.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__FindItem.c]
                          THUMB

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

                  MENU__FindItem PROC
;;;34     */
;;;35     int MENU__FindItem(MENU_Handle hObj, U16 ItemId, MENU_Handle* phMenu) {
000000  e92d47f0          PUSH     {r4-r10,lr}
000004  4680              MOV      r8,r0
000006  4689              MOV      r9,r1
000008  4692              MOV      r10,r2
;;;36       int ItemIndex = -1;
00000a  f04f35ff          MOV      r5,#0xffffffff
;;;37       MENU_Obj* pObj;
;;;38       pObj = MENU_H2P(hObj);
00000e  f7fffffe          BL       GUI_ALLOC_h2p
000012  0007              MOVS     r7,r0
;;;39       if (pObj) {
000014  d01e              BEQ      |L1.84|
;;;40         MENU_ITEM* pItem;
;;;41         unsigned NumItems, i;
;;;42         NumItems = MENU__GetNumItems(pObj);
000016  4638              MOV      r0,r7
000018  f7fffffe          BL       MENU__GetNumItems
;;;43         for (i = 0; (i < NumItems) && (ItemIndex < 0); i++) {
00001c  2400              MOVS     r4,#0
00001e  4606              MOV      r6,r0                 ;42
;;;44           pItem = (MENU_ITEM*)GUI_ARRAY_GetpItem(&pObj->ItemArray, i);
000020  3758              ADDS     r7,r7,#0x58
000022  e013              B        |L1.76|
                  |L1.36|
000024  4621              MOV      r1,r4
000026  4638              MOV      r0,r7
000028  f7fffffe          BL       GUI_ARRAY_GetpItem
;;;45           if (pItem->Id == ItemId) {
00002c  8841              LDRH     r1,[r0,#2]
00002e  4549              CMP      r1,r9
000030  d103              BNE      |L1.58|
;;;46             *phMenu   = hObj;
000032  f8aa8000          STRH     r8,[r10,#0]
;;;47             ItemIndex = i;
000036  4625              MOV      r5,r4
000038  e007              B        |L1.74|
                  |L1.58|
;;;48           } else if (pItem->hSubmenu) {
00003a  f9b00000          LDRSH    r0,[r0,#0]
00003e  b120              CBZ      r0,|L1.74|
;;;49             ItemIndex = MENU__FindItem(pItem->hSubmenu, ItemId, phMenu);
000040  4652              MOV      r2,r10
000042  4649              MOV      r1,r9
000044  f7fffffe          BL       MENU__FindItem
000048  4605              MOV      r5,r0
                  |L1.74|
00004a  1c64              ADDS     r4,r4,#1              ;43
                  |L1.76|
00004c  42b4              CMP      r4,r6                 ;43
00004e  d201              BCS      |L1.84|
000050  2d00              CMP      r5,#0                 ;43
000052  dbe7              BLT      |L1.36|
                  |L1.84|
;;;50           }
;;;51         }
;;;52       }
;;;53       return ItemIndex;
000054  4628              MOV      r0,r5
;;;54     }
000056  e8bd87f0          POP      {r4-r10,pc}
;;;55     
                          ENDP

⌨️ 快捷键说明

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