gui_invertrect.txt

来自「STM32F103ZET6+UCOSII+UCGUI源码」· 文本 代码 · 共 72 行

TXT
72
字号
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\gui_invertrect.o --depend=.\Obj\gui_invertrect.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\Core\GUI_InvertRect.c]
                          THUMB

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

                  GUI_InvertRect PROC
;;;31     */
;;;32     void GUI_InvertRect(int x0, int y0, int x1, int y1) {
000000  e92d41fc          PUSH     {r2-r8,lr}
000004  4604              MOV      r4,r0
000006  460d              MOV      r5,r1
000008  4616              MOV      r6,r2
00000a  461f              MOV      r7,r3
;;;33       GUI_DRAWMODE PrevDraw;
;;;34       #if (GUI_WINSUPPORT)
;;;35         GUI_RECT r;
;;;36       #endif
;;;37       GUI_LOCK();
;;;38       PrevDraw = GUI_SetDrawMode(GUI_DRAWMODE_XOR);
00000c  2001              MOVS     r0,#1
00000e  f7fffffe          BL       GUI_SetDrawMode
;;;39       #if (GUI_WINSUPPORT)
;;;40         WM_ADDORG(x0, y0);
000012  4911              LDR      r1,|L1.88|
000014  4680              MOV      r8,r0                 ;38
000016  6c08              LDR      r0,[r1,#0x40]  ; GUI_Context
000018  6c49              LDR      r1,[r1,#0x44]  ; GUI_Context
00001a  4404              ADD      r4,r4,r0
;;;41         WM_ADDORG(x1, y1);
00001c  4406              ADD      r6,r6,r0
00001e  440d              ADD      r5,r5,r1              ;40
000020  440f              ADD      r7,r7,r1
;;;42         r.x0 = x0;
000022  f8ad4000          STRH     r4,[sp,#0]
;;;43         r.x1 = x1;
000026  f8ad6004          STRH     r6,[sp,#4]
;;;44         r.y0 = y0;
00002a  f8ad5002          STRH     r5,[sp,#2]
;;;45         r.y1 = y1;
00002e  f8ad7006          STRH     r7,[sp,#6]
;;;46         WM_ITERATE_START(&r); {
000032  4668              MOV      r0,sp
000034  f7fffffe          BL       WM__InitIVRSearch
000038  e007              B        |L1.74|
                  |L1.58|
;;;47       #endif
;;;48       LCD_FillRect(x0, y0, x1, y1);
00003a  463b              MOV      r3,r7
00003c  4632              MOV      r2,r6
00003e  4629              MOV      r1,r5
000040  4620              MOV      r0,r4
000042  f7fffffe          BL       LCD_FillRect
;;;49       #if (GUI_WINSUPPORT)
;;;50         } WM_ITERATE_END();
000046  f7fffffe          BL       WM__GetNextIVR
                  |L1.74|
00004a  2800              CMP      r0,#0
00004c  d1f5              BNE      |L1.58|
;;;51       #endif
;;;52       GUI_SetDrawMode(PrevDraw);
00004e  4640              MOV      r0,r8
000050  f7fffffe          BL       GUI_SetDrawMode
;;;53       GUI_UNLOCK();
;;;54     }
000054  e8bd81fc          POP      {r2-r8,pc}
;;;55     
                          ENDP

                  |L1.88|
                          DCD      GUI_Context

⌨️ 快捷键说明

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