📄 edit_setsel.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\edit_setsel.o --depend=.\Obj\edit_setsel.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\EDIT_SetSel.c]
THUMB
AREA ||i.EDIT_SetSel||, CODE, READONLY, ALIGN=1
EDIT_SetSel PROC
;;;34 */
;;;35 void EDIT_SetSel(EDIT_Handle hObj, int FirstChar, int LastChar) {
000000 e92d41f0 PUSH {r4-r8,lr}
000004 0007 MOVS r7,r0
000006 460c MOV r4,r1
000008 4615 MOV r5,r2
;;;36 if (hObj) {
00000a d019 BEQ |L1.64|
;;;37 EDIT_Obj* pObj;
;;;38 WM_LOCK();
;;;39 pObj = EDIT_H2P(hObj);
00000c 4638 MOV r0,r7
00000e f7fffffe BL GUI_ALLOC_h2p
000012 4606 MOV r6,r0
;;;40 if (FirstChar == -1) {
000014 1c60 ADDS r0,r4,#1
000016 d012 BEQ |L1.62|
;;;41 pObj->SelSize = 0;
;;;42 } else {
;;;43 if (FirstChar > (pObj->BufferSize - 1)) {
000018 8db0 LDRH r0,[r6,#0x2c]
00001a 1e41 SUBS r1,r0,#1
00001c 42a1 CMP r1,r4
00001e da00 BGE |L1.34|
;;;44 FirstChar = pObj->BufferSize - 1;
000020 1e44 SUBS r4,r0,#1
|L1.34|
;;;45 }
;;;46 if (LastChar > (pObj->BufferSize - 1)) {
000022 42a9 CMP r1,r5
000024 da00 BGE |L1.40|
;;;47 LastChar = pObj->BufferSize - 1;
000026 1e45 SUBS r5,r0,#1
|L1.40|
;;;48 }
;;;49 if (LastChar == -1) {
000028 1c68 ADDS r0,r5,#1
00002a d103 BNE |L1.52|
;;;50 LastChar = EDIT_GetNumChars(hObj);
00002c 4638 MOV r0,r7
00002e f7fffffe BL EDIT_GetNumChars
000032 4605 MOV r5,r0
|L1.52|
;;;51 }
;;;52 if (LastChar >= FirstChar) {
000034 42a5 CMP r5,r4
000036 db03 BLT |L1.64|
;;;53 pObj->CursorPos = FirstChar;
;;;54 pObj->SelSize = LastChar - FirstChar + 1;
000038 1b28 SUBS r0,r5,r4
00003a 1c40 ADDS r0,r0,#1
00003c 6434 STR r4,[r6,#0x40]
|L1.62|
00003e 6470 STR r0,[r6,#0x44]
|L1.64|
;;;55 }
;;;56 }
;;;57 WM_UNLOCK();
;;;58 }
;;;59 }
000040 e8bd81f0 POP {r4-r8,pc}
;;;60
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -