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

📄 lib_ascii.lst

📁 stm32+ucos-ii
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00000026   0120               MOVS     R0,#+1
   \   00000028   00E0               B.N      ??ASCII_IsSpace_2
   \                     ??ASCII_IsSpace_1:
   \   0000002A   0020               MOVS     R0,#+0
    409          
    410              return (space);
   \                     ??ASCII_IsSpace_2:
   \   0000002C   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   0000002E   7047               BX       LR               ;; return
    411          }
    412          
    413          
    414          /*$PAGE*/
    415          /*
    416          *********************************************************************************************************
    417          *                                           ASCII_IsPrint()
    418          *
    419          * Description : Determine whether a character is a printing character.
    420          *
    421          * Argument(s) : c           Character to examine.
    422          *
    423          * Return(s)   : DEF_YES, if character is     a printing character.
    424          *
    425          *               DEF_NO,	 if character is NOT a printing character.
    426          *
    427          * Caller(s)   : Application.
    428          *
    429          * Note(s)     : (1) (a) ISO/IEC 9899:TC2, Section 7.4.1.8.(2) states that "isprint() ... tests for any
    430          *                       printing character including space (' ')".
    431          *
    432          *                   (b) ISO/IEC 9899:TC2, Section 7.4.(3), Note 169, states that in "the seven-bit US
    433          *                       ASCII character set, the printing characters are those whose values lie from
    434          *                       0x20 (space) through 0x7E (tilde)".
    435          *********************************************************************************************************
    436          */
    437          

   \                                 In section .text, align 2, keep-with-next
    438          CPU_BOOLEAN  ASCII_IsPrint (CPU_CHAR  c)
    439          {
   \                     ASCII_IsPrint:
   \   00000000   0100               MOVS     R1,R0
    440              CPU_BOOLEAN  print;
    441          
    442          
    443              print = ASCII_IS_PRINT(c);
   \   00000002   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000004   2029               CMP      R1,#+32
   \   00000006   04D3               BCC.N    ??ASCII_IsPrint_0
   \   00000008   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000000A   7F29               CMP      R1,#+127
   \   0000000C   01D2               BCS.N    ??ASCII_IsPrint_0
   \   0000000E   0120               MOVS     R0,#+1
   \   00000010   00E0               B.N      ??ASCII_IsPrint_1
   \                     ??ASCII_IsPrint_0:
   \   00000012   0020               MOVS     R0,#+0
    444          
    445              return (print);
   \                     ??ASCII_IsPrint_1:
   \   00000014   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000016   7047               BX       LR               ;; return
    446          }
    447          
    448          
    449          /*
    450          *********************************************************************************************************
    451          *                                           ASCII_IsGraph()
    452          *
    453          * Description : Determine whether a character is any printing character except a space character.
    454          *
    455          * Argument(s) : c           Character to examine.
    456          *
    457          * Return(s)   : DEF_YES, if character is     a graphic character.
    458          *
    459          *               DEF_NO,	 if character is NOT a graphic character.
    460          *
    461          * Caller(s)   : Application.
    462          *
    463          * Note(s)     : (1) (a) ISO/IEC 9899:TC2, Section 7.4.1.6.(2) states that "isgraph() ... tests for any
    464          *                       printing character except space (' ')".
    465          *
    466          *                   (b) ISO/IEC 9899:TC2, Section 7.4.(3), Note 169, states that in "the seven-bit US
    467          *                       ASCII character set, the printing characters are those whose values lie from
    468          *                       0x20 (space) through 0x7E (tilde)".
    469          *********************************************************************************************************
    470          */
    471          

   \                                 In section .text, align 2, keep-with-next
    472          CPU_BOOLEAN  ASCII_IsGraph (CPU_CHAR  c)
    473          {
   \                     ASCII_IsGraph:
   \   00000000   0100               MOVS     R1,R0
    474              CPU_BOOLEAN  graph;
    475          
    476          
    477              graph = ASCII_IS_GRAPH(c);
   \   00000002   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000004   2129               CMP      R1,#+33
   \   00000006   04D3               BCC.N    ??ASCII_IsGraph_0
   \   00000008   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000000A   7F29               CMP      R1,#+127
   \   0000000C   01D2               BCS.N    ??ASCII_IsGraph_0
   \   0000000E   0120               MOVS     R0,#+1
   \   00000010   00E0               B.N      ??ASCII_IsGraph_1
   \                     ??ASCII_IsGraph_0:
   \   00000012   0020               MOVS     R0,#+0
    478          
    479              return (graph);
   \                     ??ASCII_IsGraph_1:
   \   00000014   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000016   7047               BX       LR               ;; return
    480          }
    481          
    482          
    483          /*$PAGE*/
    484          /*
    485          *********************************************************************************************************
    486          *                                           ASCII_IsPunct()
    487          *
    488          * Description : Determine whether a character is a punctuation character.
    489          *
    490          * Argument(s) : c           Character to examine.
    491          *
    492          * Return(s)   : DEF_YES, if character is     a punctuation character.
    493          *
    494          *               DEF_NO,	 if character is NOT a punctuation character.
    495          *
    496          * Caller(s)   : Application.
    497          *
    498          * Note(s)     : (1) ISO/IEC 9899:TC2, Section 7.4.1.9.(2) states that "ispunct() returns true for every
    499          *                   printing character for which neither isspace() nor isalnum() is true".
    500          *********************************************************************************************************
    501          */
    502          

   \                                 In section .text, align 2, keep-with-next
    503          CPU_BOOLEAN  ASCII_IsPunct (CPU_CHAR  c)
    504          {
   \                     ASCII_IsPunct:
   \   00000000   0100               MOVS     R1,R0
    505              CPU_BOOLEAN  punct;
    506          
    507          
    508              punct = ASCII_IS_PUNCT(c);
   \   00000002   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000004   2029               CMP      R1,#+32
   \   00000006   04D3               BCC.N    ??ASCII_IsPunct_0
   \   00000008   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000000A   7F29               CMP      R1,#+127
   \   0000000C   01D2               BCS.N    ??ASCII_IsPunct_0
   \   0000000E   0120               MOVS     R0,#+1
   \   00000010   00E0               B.N      ??ASCII_IsPunct_1
   \                     ??ASCII_IsPunct_0:
   \   00000012   0020               MOVS     R0,#+0
   \                     ??ASCII_IsPunct_1:
   \   00000014   0128               CMP      R0,#+1
   \   00000016   43D1               BNE.N    ??ASCII_IsPunct_2
   \   00000018   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000001A   2029               CMP      R1,#+32
   \   0000001C   0ED0               BEQ.N    ??ASCII_IsPunct_3
   \   0000001E   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000020   0D29               CMP      R1,#+13
   \   00000022   0BD0               BEQ.N    ??ASCII_IsPunct_3
   \   00000024   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000026   0A29               CMP      R1,#+10
   \   00000028   08D0               BEQ.N    ??ASCII_IsPunct_3
   \   0000002A   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000002C   0C29               CMP      R1,#+12
   \   0000002E   05D0               BEQ.N    ??ASCII_IsPunct_3
   \   00000030   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000032   0929               CMP      R1,#+9
   \   00000034   02D0               BEQ.N    ??ASCII_IsPunct_3
   \   00000036   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000038   0B29               CMP      R1,#+11
   \   0000003A   01D1               BNE.N    ??ASCII_IsPunct_4
   \                     ??ASCII_IsPunct_3:
   \   0000003C   0120               MOVS     R0,#+1
   \   0000003E   00E0               B.N      ??ASCII_IsPunct_5
   \                     ??ASCII_IsPunct_4:
   \   00000040   0020               MOVS     R0,#+0
   \                     ??ASCII_IsPunct_5:
   \   00000042   0028               CMP      R0,#+0
   \   00000044   2CD1               BNE.N    ??ASCII_IsPunct_2
   \   00000046   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000048   4129               CMP      R1,#+65
   \   0000004A   04D3               BCC.N    ??ASCII_IsPunct_6
   \   0000004C   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000004E   5B29               CMP      R1,#+91
   \   00000050   01D2               BCS.N    ??ASCII_IsPunct_6
   \   00000052   0120               MOVS     R0,#+1
   \   00000054   00E0               B.N      ??ASCII_IsPunct_7
   \                     ??ASCII_IsPunct_6:
   \   00000056   0020               MOVS     R0,#+0
   \                     ??ASCII_IsPunct_7:
   \   00000058   0128               CMP      R0,#+1
   \   0000005A   0AD0               BEQ.N    ??ASCII_IsPunct_8
   \   0000005C   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000005E   6129               CMP      R1,#+97
   \   00000060   04D3               BCC.N    ??ASCII_IsPunct_9
   \   00000062   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000064   7B29               CMP      R1,#+123
   \   00000066   01D2               BCS.N    ??ASCII_IsPunct_9
   \   00000068   0120               MOVS     R0,#+1
   \   0000006A   00E0               B.N      ??ASCII_IsPunct_10
   \                     ??ASCII_IsPunct_9:
   \   0000006C   0020               MOVS     R0,#+0
   \                     ??ASCII_IsPunct_10:
   \   0000006E   0128               CMP      R0,#+1
   \   00000070   01D1               BNE.N    ??ASCII_IsPunct_11
   \                     ??ASCII_IsPunct_8:
   \   00000072   0120               MOVS     R0,#+1
   \   00000074   00E0               B.N      ??ASCII_IsPunct_12
   \                     ??ASCII_IsPunct_11:
   \   00000076   0020               MOVS     R0,#+0
   \                     ??ASCII_IsPunct_12:
   \   00000078   0128               CMP      R0,#+1
   \   0000007A   0AD0               BEQ.N    ??ASCII_IsPunct_13
   \   0000007C   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000007E   3029               CMP      R1,#+48
   \   00000080   04D3               BCC.N    ??ASCII_IsPunct_14
   \   00000082   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000084   3A29               CMP      R1,#+58
   \   00000086   01D2               BCS.N    ??ASCII_IsPunct_14
   \   00000088   0120               MOVS     R0,#+1
   \   0000008A   00E0               B.N      ??ASCII_IsPunct_15
   \                     ??ASCII_IsPunct_14:
   \   0000008C   0020               MOVS     R0,#+0
   \                     ??ASCII_IsPunct_15:
   \   0000008E   0128               CMP      R0,#+1

⌨️ 快捷键说明

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