📄 guidev_write.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 + -