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

📄 guidev_write.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\guidev_write.o --depend=.\Obj\guidev_write.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\MemDev\GUIDEV_Write.c]
                          THUMB

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

                  GUI_MEMDEV_Write PROC
;;;70     */
;;;71     void GUI_MEMDEV_Write(GUI_MEMDEV_Handle hMem) {
000000  4901              LDR      r1,|L1.8|
;;;72       GUI_MEMDEV_WriteAt(hMem, GUI_POS_AUTO, GUI_POS_AUTO);
000002  460a              MOV      r2,r1
000004  f7ffbffe          B.W      GUI_MEMDEV_WriteAt
;;;73     }
;;;74     
                          ENDP

                  |L1.8|
                          DCD      0xfffff001

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

                  GUI_MEMDEV_WriteAt PROC
;;;39     */
;;;40     void GUI_MEMDEV_WriteAt(GUI_MEMDEV_Handle hMem, int x, int y) {
000000  b57c              PUSH     {r2-r6,lr}
000002  0006              MOVS     r6,r0
000004  460c              MOV      r4,r1
000006  4615              MOV      r5,r2
;;;41       if (hMem) {
000008  d025              BEQ      |L2.86|
;;;42         GUI_MEMDEV* pDevData;
;;;43         #if (GUI_WINSUPPORT)
;;;44           GUI_RECT r;
;;;45         #endif
;;;46         GUI_LOCK();
;;;47         pDevData = (GUI_MEMDEV*) GUI_ALLOC_h2p(hMem);  /* Convert to pointer */
00000a  4630              MOV      r0,r6
00000c  f7fffffe          BL       GUI_ALLOC_h2p
;;;48         if (x == GUI_POS_AUTO) {
000010  f64071ff          MOV      r1,#0xfff
000014  1909              ADDS     r1,r1,r4
000016  d103              BNE      |L2.32|
;;;49           x = pDevData->x0;
000018  f9b04000          LDRSH    r4,[r0,#0]
;;;50           y = pDevData->y0;
00001c  f9b05002          LDRSH    r5,[r0,#2]
                  |L2.32|
;;;51         }
;;;52         #if (GUI_WINSUPPORT)
;;;53           /* Calculate rectangle */
;;;54           r.x1 = (r.x0 = x) + pDevData->XSize-1;
000020  8882              LDRH     r2,[r0,#4]
000022  1e61              SUBS     r1,r4,#1
000024  4411              ADD      r1,r1,r2
000026  f8ad4000          STRH     r4,[sp,#0]
00002a  f8ad1004          STRH     r1,[sp,#4]
;;;55           r.y1 = (r.y0 = y) + pDevData->YSize-1;;
00002e  88c1              LDRH     r1,[r0,#6]
000030  1e68              SUBS     r0,r5,#1
000032  4408              ADD      r0,r0,r1
000034  f8ad0006          STRH     r0,[sp,#6]
000038  f8ad5002          STRH     r5,[sp,#2]
;;;56           /* Do the drawing. WIndow manager has to be on */
;;;57           WM_ITERATE_START(&r) {
00003c  4668              MOV      r0,sp
00003e  f7fffffe          BL       WM__InitIVRSearch
000042  e006              B        |L2.82|
                  |L2.68|
;;;58             GUI_MEMDEV__WriteToActiveAt(hMem,x,y);
000044  462a              MOV      r2,r5
000046  4621              MOV      r1,r4
000048  4630              MOV      r0,r6
00004a  f7fffffe          BL       GUI_MEMDEV__WriteToActiveAt
;;;59           } WM_ITERATE_END();
00004e  f7fffffe          BL       WM__GetNextIVR
                  |L2.82|
000052  2800              CMP      r0,#0
000054  d1f6              BNE      |L2.68|
                  |L2.86|
;;;60         #else
;;;61           GUI_MEMDEV__WriteToActiveAt(hMem,x,y);
;;;62         #endif
;;;63         GUI_UNLOCK();
;;;64       }
;;;65     }
000056  bd7c              POP      {r2-r6,pc}
;;;66     
                          ENDP

⌨️ 快捷键说明

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