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

📄 lib_ascii.lst

📁 stm32+ucos-ii
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \                     ??ASCII_IsAlpha_4:
   \   0000002A   0128               CMP      R0,#+1
   \   0000002C   01D1               BNE.N    ??ASCII_IsAlpha_5
   \                     ??ASCII_IsAlpha_2:
   \   0000002E   0120               MOVS     R0,#+1
   \   00000030   00E0               B.N      ??ASCII_IsAlpha_6
   \                     ??ASCII_IsAlpha_5:
   \   00000032   0020               MOVS     R0,#+0
    160          
    161              return (alpha);
   \                     ??ASCII_IsAlpha_6:
   \   00000034   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000036   7047               BX       LR               ;; return
    162          }
    163          
    164          
    165          /*
    166          *********************************************************************************************************
    167          *                                         ASCII_IsAlphaNum()
    168          *
    169          * Description : Determine whether a character is an alphanumeric character.
    170          *
    171          * Argument(s) : c           Character to examine.
    172          *
    173          * Return(s)   : DEF_YES, if character is     an alphanumeric character.
    174          *
    175          *               DEF_NO,	 if character is NOT an alphanumeric character.
    176          *
    177          * Caller(s)   : Application.
    178          *
    179          * Note(s)     : (1) ISO/IEC 9899:TC2, Section 7.4.1.1.(2) states that "isalnum() ... tests for any character
    180          *                   for which isalpha() or isdigit() is true".
    181          *********************************************************************************************************
    182          */
    183          

   \                                 In section .text, align 2, keep-with-next
    184          CPU_BOOLEAN  ASCII_IsAlphaNum (CPU_CHAR  c)
    185          {
   \                     ASCII_IsAlphaNum:
   \   00000000   0100               MOVS     R1,R0
    186              CPU_BOOLEAN  alpha_num;
    187          
    188          
    189              alpha_num = ASCII_IS_ALPHA_NUM(c);
   \   00000002   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000004   4129               CMP      R1,#+65
   \   00000006   04D3               BCC.N    ??ASCII_IsAlphaNum_0
   \   00000008   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000000A   5B29               CMP      R1,#+91
   \   0000000C   01D2               BCS.N    ??ASCII_IsAlphaNum_0
   \   0000000E   0120               MOVS     R0,#+1
   \   00000010   00E0               B.N      ??ASCII_IsAlphaNum_1
   \                     ??ASCII_IsAlphaNum_0:
   \   00000012   0020               MOVS     R0,#+0
   \                     ??ASCII_IsAlphaNum_1:
   \   00000014   0128               CMP      R0,#+1
   \   00000016   0AD0               BEQ.N    ??ASCII_IsAlphaNum_2
   \   00000018   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000001A   6129               CMP      R1,#+97
   \   0000001C   04D3               BCC.N    ??ASCII_IsAlphaNum_3
   \   0000001E   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000020   7B29               CMP      R1,#+123
   \   00000022   01D2               BCS.N    ??ASCII_IsAlphaNum_3
   \   00000024   0120               MOVS     R0,#+1
   \   00000026   00E0               B.N      ??ASCII_IsAlphaNum_4
   \                     ??ASCII_IsAlphaNum_3:
   \   00000028   0020               MOVS     R0,#+0
   \                     ??ASCII_IsAlphaNum_4:
   \   0000002A   0128               CMP      R0,#+1
   \   0000002C   01D1               BNE.N    ??ASCII_IsAlphaNum_5
   \                     ??ASCII_IsAlphaNum_2:
   \   0000002E   0120               MOVS     R0,#+1
   \   00000030   00E0               B.N      ??ASCII_IsAlphaNum_6
   \                     ??ASCII_IsAlphaNum_5:
   \   00000032   0020               MOVS     R0,#+0
   \                     ??ASCII_IsAlphaNum_6:
   \   00000034   0128               CMP      R0,#+1
   \   00000036   0AD0               BEQ.N    ??ASCII_IsAlphaNum_7
   \   00000038   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000003A   3029               CMP      R1,#+48
   \   0000003C   04D3               BCC.N    ??ASCII_IsAlphaNum_8
   \   0000003E   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000040   3A29               CMP      R1,#+58
   \   00000042   01D2               BCS.N    ??ASCII_IsAlphaNum_8
   \   00000044   0120               MOVS     R0,#+1
   \   00000046   00E0               B.N      ??ASCII_IsAlphaNum_9
   \                     ??ASCII_IsAlphaNum_8:
   \   00000048   0020               MOVS     R0,#+0
   \                     ??ASCII_IsAlphaNum_9:
   \   0000004A   0128               CMP      R0,#+1
   \   0000004C   01D1               BNE.N    ??ASCII_IsAlphaNum_10
   \                     ??ASCII_IsAlphaNum_7:
   \   0000004E   0120               MOVS     R0,#+1
   \   00000050   00E0               B.N      ??ASCII_IsAlphaNum_11
   \                     ??ASCII_IsAlphaNum_10:
   \   00000052   0020               MOVS     R0,#+0
    190          
    191              return (alpha_num);
   \                     ??ASCII_IsAlphaNum_11:
   \   00000054   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000056   7047               BX       LR               ;; return
    192          }
    193          
    194          
    195          /*$PAGE*/
    196          /*
    197          *********************************************************************************************************
    198          *                                           ASCII_IsLower()
    199          *
    200          * Description : Determine whether a character is a lowercase alphabetic character.
    201          *
    202          * Argument(s) : c           Character to examine.
    203          *
    204          * Return(s)   : DEF_YES, if character is     a lowercase alphabetic character.
    205          *
    206          *               DEF_NO,	 if character is NOT a lowercase alphabetic character.
    207          *
    208          * Caller(s)   : Application.
    209          *
    210          * Note(s)     : (1) ISO/IEC 9899:TC2, Section 7.4.1.7.(2)  states that "islower() returns true only for
    211          *                   the lowercase letters".
    212          *********************************************************************************************************
    213          */
    214          

   \                                 In section .text, align 2, keep-with-next
    215          CPU_BOOLEAN  ASCII_IsLower (CPU_CHAR  c)
    216          {
   \                     ASCII_IsLower:
   \   00000000   0100               MOVS     R1,R0
    217              CPU_BOOLEAN  lower;
    218          
    219          
    220              lower = ASCII_IS_LOWER(c);
   \   00000002   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000004   6129               CMP      R1,#+97
   \   00000006   04D3               BCC.N    ??ASCII_IsLower_0
   \   00000008   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000000A   7B29               CMP      R1,#+123
   \   0000000C   01D2               BCS.N    ??ASCII_IsLower_0
   \   0000000E   0120               MOVS     R0,#+1
   \   00000010   00E0               B.N      ??ASCII_IsLower_1
   \                     ??ASCII_IsLower_0:
   \   00000012   0020               MOVS     R0,#+0
    221          
    222              return (lower);
   \                     ??ASCII_IsLower_1:
   \   00000014   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000016   7047               BX       LR               ;; return
    223          }
    224          
    225          
    226          /*
    227          *********************************************************************************************************
    228          *                                           ASCII_IsUpper()
    229          *
    230          * Description : Determine whether a character is an uppercase alphabetic character.
    231          *
    232          * Argument(s) : c           Character to examine.
    233          *
    234          * Return(s)   : DEF_YES, if character is     an uppercase alphabetic character.
    235          *
    236          *               DEF_NO,	 if character is NOT an uppercase alphabetic character.
    237          *
    238          * Caller(s)   : Application.
    239          *
    240          * Note(s)     : (1) ISO/IEC 9899:TC2, Section 7.4.1.11.(2) states that "isupper() returns true only for
    241          *                   the uppercase letters".
    242          *********************************************************************************************************
    243          */
    244          

   \                                 In section .text, align 2, keep-with-next
    245          CPU_BOOLEAN  ASCII_IsUpper (CPU_CHAR  c)
    246          {
   \                     ASCII_IsUpper:
   \   00000000   0100               MOVS     R1,R0
    247              CPU_BOOLEAN  upper;
    248          
    249          
    250              upper = ASCII_IS_UPPER(c);
   \   00000002   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000004   4129               CMP      R1,#+65
   \   00000006   04D3               BCC.N    ??ASCII_IsUpper_0
   \   00000008   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000000A   5B29               CMP      R1,#+91
   \   0000000C   01D2               BCS.N    ??ASCII_IsUpper_0
   \   0000000E   0120               MOVS     R0,#+1
   \   00000010   00E0               B.N      ??ASCII_IsUpper_1
   \                     ??ASCII_IsUpper_0:
   \   00000012   0020               MOVS     R0,#+0
    251          
    252              return (upper);
   \                     ??ASCII_IsUpper_1:
   \   00000014   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000016   7047               BX       LR               ;; return
    253          }
    254          
    255          
    256          /*$PAGE*/
    257          /*
    258          *********************************************************************************************************
    259          *                                            ASCII_IsDig()
    260          *
    261          * Description : Determine whether a character is a decimal-digit character.
    262          *
    263          * Argument(s) : c           Character to examine.
    264          *
    265          * Return(s)   : DEF_YES, if character is     a decimal-digit character.
    266          *
    267          *               DEF_NO,	 if character is NOT a decimal-digit character.
    268          *
    269          * Caller(s)   : Application.
    270          *
    271          * Note(s)     : (1) ISO/IEC 9899:TC2, Section 7.4.1.5.(2)  states that "isdigit()  ... tests for any
    272          *                   decimal-digit character".
    273          *********************************************************************************************************
    274          */
    275          

   \                                 In section .text, align 2, keep-with-next
    276          CPU_BOOLEAN  ASCII_IsDig (CPU_CHAR  c)
    277          {
   \                     ASCII_IsDig:
   \   00000000   0100               MOVS     R1,R0
    278              CPU_BOOLEAN  dig;
    279          
    280          
    281              dig = ASCII_IS_DIG(c);

⌨️ 快捷键说明

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