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

📄 lib_ascii.lst

📁 stm32+ucos-ii
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00000002   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000004   3029               CMP      R1,#+48
   \   00000006   04D3               BCC.N    ??ASCII_IsDig_0
   \   00000008   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000000A   3A29               CMP      R1,#+58
   \   0000000C   01D2               BCS.N    ??ASCII_IsDig_0
   \   0000000E   0120               MOVS     R0,#+1
   \   00000010   00E0               B.N      ??ASCII_IsDig_1
   \                     ??ASCII_IsDig_0:
   \   00000012   0020               MOVS     R0,#+0
    282          
    283              return (dig);
   \                     ??ASCII_IsDig_1:
   \   00000014   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000016   7047               BX       LR               ;; return
    284          }
    285          
    286          
    287          /*
    288          *********************************************************************************************************
    289          *                                          ASCII_IsDigOct()
    290          *
    291          * Description : Determine whether a character is an octal-digit character.
    292          *
    293          * Argument(s) : c           Character to examine.
    294          *
    295          * Return(s)   : DEF_YES, if character is     an octal-digit character.
    296          *
    297          *               DEF_NO,	 if character is NOT an octal-digit character.
    298          *
    299          * Caller(s)   : Application.
    300          *
    301          * Note(s)     : none.
    302          *********************************************************************************************************
    303          */
    304          

   \                                 In section .text, align 2, keep-with-next
    305          CPU_BOOLEAN  ASCII_IsDigOct (CPU_CHAR  c)
    306          {
   \                     ASCII_IsDigOct:
   \   00000000   0100               MOVS     R1,R0
    307              CPU_BOOLEAN  dig_oct;
    308          
    309          
    310              dig_oct = ASCII_IS_DIG_OCT(c);
   \   00000002   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000004   3029               CMP      R1,#+48
   \   00000006   04D3               BCC.N    ??ASCII_IsDigOct_0
   \   00000008   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000000A   3829               CMP      R1,#+56
   \   0000000C   01D2               BCS.N    ??ASCII_IsDigOct_0
   \   0000000E   0120               MOVS     R0,#+1
   \   00000010   00E0               B.N      ??ASCII_IsDigOct_1
   \                     ??ASCII_IsDigOct_0:
   \   00000012   0020               MOVS     R0,#+0
    311          
    312              return (dig_oct);
   \                     ??ASCII_IsDigOct_1:
   \   00000014   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000016   7047               BX       LR               ;; return
    313          }
    314          
    315          
    316          /*
    317          *********************************************************************************************************
    318          *                                          ASCII_IsDigHex()
    319          *
    320          * Description : Determine whether a character is a hexadecimal-digit character.
    321          *
    322          * Argument(s) : c           Character to examine.
    323          *
    324          * Return(s)   : DEF_YES, if character is     a hexadecimal-digit character.
    325          *
    326          *               DEF_NO,	 if character is NOT a hexadecimal-digit character.
    327          *
    328          * Caller(s)   : Application.
    329          *
    330          * Note(s)     : (1) ISO/IEC 9899:TC2, Section 7.4.1.12.(2) states that "isxdigit() ... tests for any
    331          *                   hexadecimal-digit character".
    332          *********************************************************************************************************
    333          */
    334          

   \                                 In section .text, align 2, keep-with-next
    335          CPU_BOOLEAN  ASCII_IsDigHex (CPU_CHAR  c)
    336          {
   \                     ASCII_IsDigHex:
   \   00000000   0100               MOVS     R1,R0
    337              CPU_BOOLEAN  dig_hex;
    338          
    339          
    340              dig_hex = ASCII_IS_DIG_HEX(c);
   \   00000002   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000004   3029               CMP      R1,#+48
   \   00000006   02D3               BCC.N    ??ASCII_IsDigHex_0
   \   00000008   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000000A   3A29               CMP      R1,#+58
   \   0000000C   0BD3               BCC.N    ??ASCII_IsDigHex_1
   \                     ??ASCII_IsDigHex_0:
   \   0000000E   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000010   4129               CMP      R1,#+65
   \   00000012   02D3               BCC.N    ??ASCII_IsDigHex_2
   \   00000014   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000016   4729               CMP      R1,#+71
   \   00000018   05D3               BCC.N    ??ASCII_IsDigHex_1
   \                     ??ASCII_IsDigHex_2:
   \   0000001A   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000001C   6129               CMP      R1,#+97
   \   0000001E   04D3               BCC.N    ??ASCII_IsDigHex_3
   \   00000020   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000022   6729               CMP      R1,#+103
   \   00000024   01D2               BCS.N    ??ASCII_IsDigHex_3
   \                     ??ASCII_IsDigHex_1:
   \   00000026   0120               MOVS     R0,#+1
   \   00000028   00E0               B.N      ??ASCII_IsDigHex_4
   \                     ??ASCII_IsDigHex_3:
   \   0000002A   0020               MOVS     R0,#+0
    341          
    342              return (dig_hex);
   \                     ??ASCII_IsDigHex_4:
   \   0000002C   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   0000002E   7047               BX       LR               ;; return
    343          }
    344          
    345          
    346          /*$PAGE*/
    347          /*
    348          *********************************************************************************************************
    349          *                                           ASCII_IsBlank()
    350          *
    351          * Description : Determine whether a character is a standard blank character.
    352          *
    353          * Argument(s) : c           Character to examine.
    354          *
    355          * Return(s)   : DEF_YES, if character is     a standard blank character.
    356          *
    357          *               DEF_NO,	 if character is NOT a standard blank character.
    358          *
    359          * Caller(s)   : Application.
    360          *
    361          * Note(s)     : (1) (a) ISO/IEC 9899:TC2, Section 7.4.1.3.(2) states that "isblank() returns true only for
    362          *                       the standard blank characters".
    363          *
    364          *                   (b) ISO/IEC 9899:TC2, Section 7.4.1.3.(2) defines "the standard blank characters" as
    365          *                       the "space (' '), and horizontal tab ('\t')".
    366          *********************************************************************************************************
    367          */
    368          

   \                                 In section .text, align 2, keep-with-next
    369          CPU_BOOLEAN  ASCII_IsBlank (CPU_CHAR  c)
    370          {
   \                     ASCII_IsBlank:
   \   00000000   0100               MOVS     R1,R0
    371              CPU_BOOLEAN  blank;
    372          
    373          
    374              blank = ASCII_IS_BLANK(c);
   \   00000002   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000004   2029               CMP      R1,#+32
   \   00000006   02D0               BEQ.N    ??ASCII_IsBlank_0
   \   00000008   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000000A   0929               CMP      R1,#+9
   \   0000000C   01D1               BNE.N    ??ASCII_IsBlank_1
   \                     ??ASCII_IsBlank_0:
   \   0000000E   0120               MOVS     R0,#+1
   \   00000010   00E0               B.N      ??ASCII_IsBlank_2
   \                     ??ASCII_IsBlank_1:
   \   00000012   0020               MOVS     R0,#+0
    375          
    376              return (blank);
   \                     ??ASCII_IsBlank_2:
   \   00000014   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000016   7047               BX       LR               ;; return
    377          }
    378          
    379          
    380          /*
    381          *********************************************************************************************************
    382          *                                           ASCII_IsSpace()
    383          *
    384          * Description : Determine whether a character is a white-space character.
    385          *
    386          * Argument(s) : c           Character to examine.
    387          *
    388          * Return(s)   : DEF_YES, if character is     a white-space character.
    389          *
    390          *               DEF_NO,	 if character is NOT a white-space character.
    391          *
    392          * Caller(s)   : Application.
    393          *
    394          * Note(s)     : (1) (a) ISO/IEC 9899:TC2, Section 7.4.1.10.(2) states that "isspace() returns true only
    395          *                       for the standard white-space characters".
    396          *
    397          *                   (b) ISO/IEC 9899:TC2, Section 7.4.1.10.(2) defines "the standard white-space characters"
    398          *                       as the "space (' '), form feed ('\f'), new-line ('\n'), carriage return ('\r'),
    399          *                       horizontal tab ('\t'), and vertical tab ('\v')".
    400          *********************************************************************************************************
    401          */
    402          

   \                                 In section .text, align 2, keep-with-next
    403          CPU_BOOLEAN  ASCII_IsSpace (CPU_CHAR  c)
    404          {
   \                     ASCII_IsSpace:
   \   00000000   0100               MOVS     R1,R0
    405              CPU_BOOLEAN  space;
    406          
    407          
    408              space = ASCII_IS_SPACE(c);
   \   00000002   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000004   2029               CMP      R1,#+32
   \   00000006   0ED0               BEQ.N    ??ASCII_IsSpace_0
   \   00000008   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000000A   0D29               CMP      R1,#+13
   \   0000000C   0BD0               BEQ.N    ??ASCII_IsSpace_0
   \   0000000E   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000010   0A29               CMP      R1,#+10
   \   00000012   08D0               BEQ.N    ??ASCII_IsSpace_0
   \   00000014   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000016   0C29               CMP      R1,#+12
   \   00000018   05D0               BEQ.N    ??ASCII_IsSpace_0
   \   0000001A   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000001C   0929               CMP      R1,#+9
   \   0000001E   02D0               BEQ.N    ??ASCII_IsSpace_0
   \   00000020   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000022   0B29               CMP      R1,#+11
   \   00000024   01D1               BNE.N    ??ASCII_IsSpace_1
   \                     ??ASCII_IsSpace_0:

⌨️ 快捷键说明

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