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

📄 listbox_itemdisabled.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_itemdisabled.o --depend=.\Obj\listbox_itemdisabled.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_ItemDisabled.c]
                          THUMB

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

                  LISTBOX_GetItemDisabled PROC
;;;38     */
;;;39     int LISTBOX_GetItemDisabled(LISTBOX_Handle hObj, unsigned Index) {
000000  b570              PUSH     {r4-r6,lr}
000002  460d              MOV      r5,r1
;;;40       int Ret = 0;
000004  2400              MOVS     r4,#0
;;;41       if (hObj) {
000006  b190              CBZ      r0,|L1.46|
;;;42         unsigned NumItems;
;;;43         LISTBOX_Obj* pObj;
;;;44         WM_LOCK();
;;;45         pObj = LISTBOX_H2P(hObj);
000008  f7fffffe          BL       GUI_ALLOC_h2p
00000c  4606              MOV      r6,r0
;;;46         NumItems = LISTBOX__GetNumItems(pObj);
00000e  f7fffffe          BL       LISTBOX__GetNumItems
;;;47         if (Index < NumItems) {
000012  4285              CMP      r5,r0
000014  d20b              BCS      |L1.46|
;;;48           WM_HMEM hItem = GUI_ARRAY_GethItem(&pObj->ItemArray, Index);
000016  4629              MOV      r1,r5
000018  f1060028          ADD      r0,r6,#0x28
00001c  f7fffffe          BL       GUI_ARRAY_GethItem
;;;49           if (hItem) {
000020  b128              CBZ      r0,|L1.46|
;;;50             LISTBOX_ITEM * pItem = (LISTBOX_ITEM *)GUI_ALLOC_h2p(hItem);
000022  f7fffffe          BL       GUI_ALLOC_h2p
;;;51             if (pItem->Status & LISTBOX_ITEM_DISABLED) {
000026  7900              LDRB     r0,[r0,#4]
000028  0780              LSLS     r0,r0,#30
00002a  d500              BPL      |L1.46|
;;;52               Ret = 1;
00002c  2401              MOVS     r4,#1
                  |L1.46|
;;;53             }
;;;54           }
;;;55         }
;;;56         WM_UNLOCK();
;;;57       }
;;;58       return Ret;
00002e  4620              MOV      r0,r4
;;;59     }
000030  bd70              POP      {r4-r6,pc}
;;;60     
                          ENDP


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

                  LISTBOX_SetItemDisabled PROC
;;;64     */
;;;65     void LISTBOX_SetItemDisabled(LISTBOX_Handle hObj, unsigned Index, int OnOff) {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  0005              MOVS     r5,r0
000006  460e              MOV      r6,r1
000008  4617              MOV      r7,r2
;;;66       if (hObj) {
00000a  d024              BEQ      |L2.86|
;;;67         unsigned NumItems;
;;;68         LISTBOX_Obj* pObj;
;;;69         WM_LOCK();
;;;70         pObj = LISTBOX_H2P(hObj);
00000c  4628              MOV      r0,r5
00000e  f7fffffe          BL       GUI_ALLOC_h2p
000012  4604              MOV      r4,r0
;;;71         NumItems = LISTBOX__GetNumItems(pObj);
000014  f7fffffe          BL       LISTBOX__GetNumItems
;;;72         if (Index < NumItems) {
000018  4286              CMP      r6,r0
00001a  d21c              BCS      |L2.86|
;;;73           WM_HMEM hItem = GUI_ARRAY_GethItem(&pObj->ItemArray, Index);
00001c  4631              MOV      r1,r6
00001e  f1040028          ADD      r0,r4,#0x28
000022  f7fffffe          BL       GUI_ARRAY_GethItem
;;;74           if (hItem) {
000026  2800              CMP      r0,#0
000028  d015              BEQ      |L2.86|
;;;75             LISTBOX_ITEM * pItem = (LISTBOX_ITEM *)GUI_ALLOC_h2p(hItem);
00002a  f7fffffe          BL       GUI_ALLOC_h2p
;;;76             if (OnOff) {
;;;77               if (!(pItem->Status & LISTBOX_ITEM_DISABLED)) {
00002e  7901              LDRB     r1,[r0,#4]
000030  078a              LSLS     r2,r1,#30
000032  b127              CBZ      r7,|L2.62|
000034  2a00              CMP      r2,#0
000036  db0e              BLT      |L2.86|
;;;78                 pItem->Status |= LISTBOX_ITEM_DISABLED;
000038  f0410102          ORR      r1,r1,#2
;;;79                 LISTBOX__InvalidateItem(hObj, pObj, Index);
00003c  e003              B        |L2.70|
                  |L2.62|
;;;80               }
;;;81             } else {
;;;82               if (pItem->Status & LISTBOX_ITEM_DISABLED) {
00003e  2a00              CMP      r2,#0
000040  da09              BGE      |L2.86|
;;;83                 pItem->Status &= ~LISTBOX_ITEM_DISABLED;
000042  f0210102          BIC      r1,r1,#2
                  |L2.70|
000046  7101              STRB     r1,[r0,#4]
;;;84                 LISTBOX__InvalidateItem(hObj, pObj, Index);
000048  4632              MOV      r2,r6
00004a  4621              MOV      r1,r4
00004c  4628              MOV      r0,r5
00004e  e8bd41f0          POP      {r4-r8,lr}
000052  f7ffbffe          B.W      LISTBOX__InvalidateItem
                  |L2.86|
;;;85               }
;;;86             }
;;;87           }
;;;88         }
;;;89         WM_UNLOCK();
;;;90       }
;;;91     }
000056  e8bd81f0          POP      {r4-r8,pc}
;;;92     
                          ENDP

⌨️ 快捷键说明

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