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

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

                          AREA ||i.GUI_ARRAY_DeleteItem||, CODE, READONLY, ALIGN=2

                  GUI_ARRAY_DeleteItem PROC
;;;42     */
;;;43     void GUI_ARRAY_DeleteItem(GUI_ARRAY* pThis, unsigned int Index) {
000000  b570              PUSH     {r4-r6,lr}
000002  4606              MOV      r6,r0
;;;44       WM_HMEM ha;
;;;45       WM_HMEM* pa;
;;;46       int i;
;;;47       if (Index < (unsigned)pThis->NumItems) {
000004  8800              LDRH     r0,[r0,#0]
000006  460c              MOV      r4,r1                 ;43
000008  4288              CMP      r0,r1
00000a  d91a              BLS      |L1.66|
;;;48         ha = pThis->haHandle;
00000c  f9b60002          LDRSH    r0,[r6,#2]
;;;49         if (ha) {
000010  2800              CMP      r0,#0
000012  d016              BEQ      |L1.66|
;;;50           int NumItems;
;;;51           WM_LOCK();
;;;52           pa = (WM_HMEM*) GUI_ALLOC_h2p(ha);
000014  f7fffffe          BL       GUI_ALLOC_h2p
000018  4605              MOV      r5,r0
;;;53           /* Free the attached item */
;;;54           GUI_ALLOC_FreePtr(pa + Index);
00001a  eb000044          ADD      r0,r0,r4,LSL #1
00001e  f7fffffe          BL       GUI_ALLOC_FreePtr
;;;55           /* Move the last items to the position of the deleted item */
;;;56           NumItems = --pThis->NumItems;
000022  8830              LDRH     r0,[r6,#0]
000024  1e40              SUBS     r0,r0,#1
000026  b281              UXTH     r1,r0
000028  8031              STRH     r1,[r6,#0]
;;;57           for (i = Index; i <= NumItems - 1; i++) {
00002a  1e49              SUBS     r1,r1,#1
00002c  e007              B        |L1.62|
;;;58             *(pa + i) = *(pa + i + 1);
00002e  bf00              NOP      
                  |L1.48|
000030  eb050044          ADD      r0,r5,r4,LSL #1
000034  8842              LDRH     r2,[r0,#2]
000036  1c60              ADDS     r0,r4,#1              ;57
000038  f8252014          STRH     r2,[r5,r4,LSL #1]
00003c  4604              MOV      r4,r0                 ;57
                  |L1.62|
00003e  428c              CMP      r4,r1                 ;57
000040  ddf6              BLE      |L1.48|
                  |L1.66|
;;;59           }
;;;60           WM_UNLOCK();
;;;61         }
;;;62       }
;;;63     }
000042  bd70              POP      {r4-r6,pc}
;;;64     
                          ENDP

⌨️ 快捷键说明

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