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

📄 gui__strcmp.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\gui__strcmp.o --depend=.\Obj\gui__strcmp.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__strcmp.c]
                          THUMB

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

                  GUI__strcmp PROC
;;;40     */
;;;41     int GUI__strcmp(const char GUI_UNI_PTR * s0, const char GUI_UNI_PTR * s1) {
000000  b900              CBNZ     r0,|L1.4|
;;;42       if (s0 == NULL) {
;;;43         s0 = "";
000002  a008              ADR      r0,|L1.36|
                  |L1.4|
;;;44       }
;;;45       if (s1 == NULL) {
000004  b901              CBNZ     r1,|L1.8|
;;;46         s1 = "";
000006  a107              ADR      r1,|L1.36|
                  |L1.8|
;;;47       }
;;;48       do {
;;;49         if (*s0 != *s1) {
000008  7802              LDRB     r2,[r0,#0]
00000a  780b              LDRB     r3,[r1,#0]
00000c  429a              CMP      r2,r3
00000e  d107              BNE      |L1.32|
;;;50           return 1;
;;;51         }
;;;52         s1++;
;;;53       } while (*++s0);
000010  f8102f01          LDRB     r2,[r0,#1]!
000014  1c49              ADDS     r1,r1,#1              ;52
000016  2a00              CMP      r2,#0
000018  d1f6              BNE      |L1.8|
;;;54       if (*s1) {
00001a  7808              LDRB     r0,[r1,#0]
00001c  2800              CMP      r0,#0
00001e  d000              BEQ      |L1.34|
                  |L1.32|
;;;55         return 1;    /* Not equal, since s1 is longer than s0 */
000020  2001              MOVS     r0,#1
                  |L1.34|
;;;56       }
;;;57       return 0;      /* Equal ! */
;;;58     }
000022  4770              BX       lr
;;;59     
                          ENDP

                  |L1.36|
000024  00                DCB      0
000025  00                DCB      0
000026  00                DCB      0
000027  00                DCB      0

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

                  GUI__strcmp_hp PROC
;;;71     */
;;;72     int GUI__strcmp_hp(GUI_HMEM  hs0, const char GUI_UNI_PTR * s1) {
000000  b510              PUSH     {r4,lr}
000002  0002              MOVS     r2,r0
000004  460c              MOV      r4,r1
;;;73       const char* s0 = NULL;
000006  f04f0000          MOV      r0,#0
;;;74       if (hs0) {
00000a  d002              BEQ      |L2.18|
;;;75         s0 = (const char*)GUI_ALLOC_h2p(hs0);
00000c  4610              MOV      r0,r2
00000e  f7fffffe          BL       GUI_ALLOC_h2p
                  |L2.18|
;;;76       }
;;;77       return GUI__strcmp(s0, s1);
000012  4621              MOV      r1,r4
000014  e8bd4010          POP      {r4,lr}
000018  f7ffbffe          B.W      GUI__strcmp
;;;78     }
;;;79     
                          ENDP

⌨️ 快捷键说明

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