📄 gui_dispchar.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_dispchar.o --depend=.\Obj\gui_dispchar.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_DispChar.c]
THUMB
AREA ||i.CL_DispChar||, CODE, READONLY, ALIGN=2
CL_DispChar PROC
;;;32 #if (GUI_WINSUPPORT)
;;;33 static void CL_DispChar(U16 c) {
000000 b57c PUSH {r2-r6,lr}
;;;34 GUI_RECT r;
;;;35 WM_ADDORG(GUI_Context.DispPosX, GUI_Context.DispPosY);
000002 4c1b LDR r4,|L1.112|
000004 4605 MOV r5,r0 ;33
000006 8c60 LDRH r0,[r4,#0x22] ; GUI_Context
000008 6c21 LDR r1,[r4,#0x40] ; GUI_Context
00000a 4408 ADD r0,r0,r1
00000c 8460 STRH r0,[r4,#0x22]
00000e 8ca0 LDRH r0,[r4,#0x24] ; GUI_Context
000010 6c61 LDR r1,[r4,#0x44] ; GUI_Context
000012 4408 ADD r0,r0,r1
000014 84a0 STRH r0,[r4,#0x24]
;;;36 r.x1 = (r.x0 = GUI_Context.DispPosX) + GUI_GetCharDistX(c) - 1;
000016 4628 MOV r0,r5
000018 f7fffffe BL GUI_GetCharDistX
00001c 8c61 LDRH r1,[r4,#0x22] ; GUI_Context
00001e f8ad1000 STRH r1,[sp,#0]
000022 4408 ADD r0,r0,r1
000024 1e40 SUBS r0,r0,#1
000026 f8ad0004 STRH r0,[sp,#4]
;;;37 r.y1 = (r.y0 = GUI_Context.DispPosY) + GUI_GetFontSizeY() - 1;
00002a f7fffffe BL GUI_GetFontSizeY
00002e 8ca1 LDRH r1,[r4,#0x24] ; GUI_Context
000030 f8ad1002 STRH r1,[sp,#2]
000034 4408 ADD r0,r0,r1
000036 1e40 SUBS r0,r0,#1
000038 f8ad0006 STRH r0,[sp,#6]
;;;38 WM_ITERATE_START(&r) {
00003c 4668 MOV r0,sp
00003e f7fffffe BL WM__InitIVRSearch
000042 e004 B |L1.78|
|L1.68|
;;;39 GL_DispChar(c);
000044 4628 MOV r0,r5
000046 f7fffffe BL GL_DispChar
;;;40 } WM_ITERATE_END();
00004a f7fffffe BL WM__GetNextIVR
|L1.78|
00004e 2800 CMP r0,#0
000050 d1f8 BNE |L1.68|
;;;41 if (c != '\n') {
000052 2d0a CMP r5,#0xa
000054 d003 BEQ |L1.94|
;;;42 GUI_Context.DispPosX = r.x1 + 1;
000056 f8bd0004 LDRH r0,[sp,#4]
00005a 1c40 ADDS r0,r0,#1
00005c 8460 STRH r0,[r4,#0x22]
|L1.94|
;;;43 }
;;;44 WM_SUBORG(GUI_Context.DispPosX, GUI_Context.DispPosY);
00005e 8c60 LDRH r0,[r4,#0x22] ; GUI_Context
000060 6c21 LDR r1,[r4,#0x40] ; GUI_Context
000062 1a40 SUBS r0,r0,r1
000064 8460 STRH r0,[r4,#0x22]
000066 8ca0 LDRH r0,[r4,#0x24] ; GUI_Context
000068 6c61 LDR r1,[r4,#0x44] ; GUI_Context
00006a 1a40 SUBS r0,r0,r1
00006c 84a0 STRH r0,[r4,#0x24]
;;;45 }
00006e bd7c POP {r2-r6,pc}
;;;46 #endif
ENDP
|L1.112|
DCD GUI_Context
AREA ||i.GUI_DispChar||, CODE, READONLY, ALIGN=1
GUI_DispChar PROC
;;;57 */
;;;58 void GUI_DispChar(U16 c) {
000000 f7ffbffe B.W CL_DispChar
;;;59 GUI_LOCK();
;;;60 #if (GUI_WINSUPPORT)
;;;61 CL_DispChar(c);
;;;62 #else
;;;63 GL_DispChar(c);
;;;64 #endif
;;;65 GUI_UNLOCK();
;;;66 }
;;;67
ENDP
AREA ||i.GUI_DispCharAt||, CODE, READONLY, ALIGN=2
GUI_DispCharAt PROC
;;;71 */
;;;72 void GUI_DispCharAt(U16 c, I16P x, I16P y) {
000000 4b02 LDR r3,|L3.12|
;;;73 GUI_LOCK();
;;;74 GUI_Context.DispPosX = x;
000002 8459 STRH r1,[r3,#0x22]
;;;75 GUI_Context.DispPosY = y;
000004 849a STRH r2,[r3,#0x24]
;;;76 #if (GUI_WINSUPPORT)
;;;77 CL_DispChar(c);
000006 f7ffbffe B.W CL_DispChar
;;;78 #else
;;;79 GL_DispChar(c);
;;;80 #endif
;;;81 GUI_UNLOCK();
;;;82 }
;;;83
ENDP
00000a 0000 DCW 0x0000
|L3.12|
DCD GUI_Context
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -