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

📄 conio.lst

📁 Texas-Instrument C2000 Series DSP example programs
💻 LST
📖 第 1 页 / 共 4 页
字号:
     769                    .line   32
     770            ;>>>>     return (pos);       /* returning length of string */
     771 01af be47          SSXM
     772 01b0 8b8a          MAR     * ,AR2
     773 01b1 b202          LARK    AR2,2
     774 01b2 8be0          MAR     *0+
     775 01b3 1080          LAC     * 
     776 01b4       EPI0_7:
     777                    .line   33
     778 01b4 8b89          MAR     * ,AR1
     779            ;       <restore register vars>
     780 01b5 8b90          MAR     *-
     781 01b6 0790          LAR     AR7,*-
     782 01b7 0680          LAR     AR6,*
     783 01b8 7c05          SBRK    5
     784 01b9 0090          LAR     AR0,*-
     785 01ba 7680          PSHD    *
     786 01bb ef00          RET
     787            
     788                    .endfunc        196,0000000c0H,4
     789            
     790                    .sym    _atol_F240,_atol_F240,37,2,0
     791                    .globl  _atol_F240
     792            
TMS320C1x/C2x/C2xx/C5x COFF Assembler Beta Version 6.63  Sat Jan 10 00:36:46 1998
Copyright (c) 1987-1996  Texas Instruments Incorporated 
conio.asm                                                            PAGE   17

     793                    .func   212
     794            ;>>>>   long atol_F240(const char *st)
     795            ******************************************************
     796            * FUNCTION DEF : _atol_F240
     797            ******************************************************
     798 01bc       _atol_F240:
     799            
     800      0001  LF8     .set    1
     801            
     802 01bc 80a0          SAR     AR0,*+
     803 01bd 8180          SAR     AR1,*
     804 01be b005          LARK    AR0,5
     805 01bf 00e0          LAR     AR0,*0+
     806            ;       <save register vars>
     807 01c0 86a0          SAR     AR6,*+
     808 01c1 87ae          SAR     AR7,*+,AR6
     809 01c2 b603          LARK    AR6,3
     810 01c3 b704          LARK    AR7,4
     811 01c4 8bef          MAR     *0+,AR7
     812 01c5 8bea          MAR     *0+,AR2
     813            
     814                    .sym    _st,-3+LF8,20,9,16
     815            *
     816            * AR5   assigned to variable  fst
     817            *  ---  fc shares AUTO storage with C$4
     818            *
     819                    .sym    _result,1,5,1,32
     820                    .sym    C$3,3,4,1,16
     821                    .sym    _fc,4,4,1,16
     822                    .line   2
     823            *** 214 -----------------------    fst = st;
     824                    .line   3
     825            ;>>>>       register const char  *fst   = st;
     826 01c6 bf0a          LARK    AR2,-3+LF8
         01c7 fffe  
     827 01c8 8be0          MAR     *0+
     828 01c9 0580          LAR     AR5,* 
     829            *** 215 -----------------------    result = 0L;
     830                    .line   4
     831            ;>>>>       register       long  result = 0;
     832            ;>>>>       register       char  fc;
     833 01ca b900          LACK    0
     834 01cb 7803          ADRK    4-LF8
     835 01cc 90a0          SACL    *+
     836 01cd 988d          SACH    * ,AR5
     837            ***     -----------------------    if ( *fst == 32 ) goto g3;
     838 01ce 1089          LAC     * ,AR1
     839 01cf 9080          SACL    * 
     840 01d0 1080          LAC     * 
     841 01d1 ba20          SUBK    32
     842 01d2 e388          BZ      L26
         01d3 01df' 
     843 01d4 8b8d          MAR     * ,AR5
     844 01d5       L25:
TMS320C1x/C2x/C2xx/C5x COFF Assembler Beta Version 6.63  Sat Jan 10 00:36:46 1998
Copyright (c) 1987-1996  Texas Instruments Incorporated 
conio.asm                                                            PAGE   18

     845            ***     -----------------------g2:
     846            *** 221 -----------------------    if ( (C$4 = *fst) <= 8 || C$4 >= 14 ) goto g5;
     847                    .line   10
     848            ;>>>>       while ((*fst == 0x20) || ((*fst > 0x08) && (*fst < 0x0E)))
     849 01d5 be47          SSXM
     850 01d6 108f          LAC     * ,AR7
     851 01d7 9080          SACL    * 
     852 01d8 ba08          SUBK    8
     853 01d9 e3cc          BLEZ    L28
         01da 01e9' 
     854 01db 1080          LAC     * 
     855 01dc ba0e          SUBK    14
     856 01dd e38c          BGEZ    L28
         01de 01e9' 
     857 01df       L26:
     858 01df       L27:
     859            ***     -----------------------g3:
     860            ***     -----------------------g4:
     861            *** 223 -----------------------    if ( *(++fst) != 32 ) goto g2;
     862                    .line   12
     863            ;>>>>          fst++;                      
     864 01df 8b8d          MAR     * ,AR5
     865 01e0 8ba0          MAR     *+
     866 01e1 1089          LAC     * ,AR1
     867 01e2 9080          SACL    * 
     868 01e3 108d          LAC     * ,AR5
     869 01e4 ba20          SUBK    32
     870 01e5 e308          BNZ     L25
         01e6 01d5' 
     871            *** 223 -----------------------    goto g4;
     872 01e7 7980          B       L27
         01e8 01df' 
     873 01e9       L28:
     874            ***     -----------------------g5:
     875            *** 229 -----------------------    C$3 = *fst;
     876                    .line   18
     877            ;>>>>       fc = *fst;
     878 01e9 8b8d          MAR     * ,AR5
     879 01ea 108e          LAC     * ,AR6
     880 01eb 908f          SACL    * ,AR7
     881            *** 229 -----------------------    fc = C$3-45;
     882 01ec ba2d          SUBK    45
     883 01ed 908e          SACL    * ,AR6
     884            *** 230 -----------------------    if ( C$3 != 45 && C$3 != 43 ) goto g7;
     885                    .line   19
     886            ;>>>>       if ((fc == '-') || (fc == '+')) 
     887 01ee 1080          LAC     * 
     888 01ef ba2d          SUBK    45
     889 01f0 e388          BZ      LL13
         01f1 01f6' 
     890 01f2 1080          LAC     * 
     891 01f3 ba2b          SUBK    43
     892 01f4 e308          BNZ     L30
         01f5 01f8' 
TMS320C1x/C2x/C2xx/C5x COFF Assembler Beta Version 6.63  Sat Jan 10 00:36:46 1998
Copyright (c) 1987-1996  Texas Instruments Incorporated 
conio.asm                                                            PAGE   19

     893 01f6       LL13:
     894            *** 231 -----------------------    ++fst;
     895                    .line   20
     896            ;>>>>          fst++;
     897 01f6 8b8d          MAR     * ,AR5
     898 01f7 8ba0          MAR     *+
     899 01f8       L30:
     900            ***     -----------------------g7:
     901            *** 236 -----------------------    if ( (C$2 = *fst) < 48 ) goto g11;
     902                    .line   25
     903            ;>>>>       while ((*fst >= '0') && (*fst <= '9'))
     904 01f8 8b8d          MAR     * ,AR5
     905 01f9 108e          LAC     * ,AR6
     906 01fa 9080          SACL    * 
     907 01fb ba30          SUBK    48
     908 01fc e344          BLZ     L34
         01fd 021d' 
     909 01fe       L32:
     910            ***     -----------------------g9:
     911            *** 236 -----------------------    if ( C$1 >= 58 ) goto g11;
     912 01fe 1080          LAC     * 
     913 01ff ba3a          SUBK    58
     914 0200 e38c          BGEZ    L34
         0201 021d' 
     915            *** 238 -----------------------    result *= 10L;
     916                    .line   27
     917            ;>>>>           result *= 10;
     918 0202 8b8a          MAR     * ,AR2
     919 0203 b201          LARK    AR2,1
     920 0204 8be0          MAR     *0+
     921 0205 69a0          ZALS    *+
     922 0206 6199          ADDH    *-,AR1
     923 0207 90a0          SACL    *+
     924 0208 98a0          SACH    *+
     925 0209 90a0          SACL    *+
     926 020a b90a          LACK    10
     927 020b 8b90          MAR     *-
     928 020c 7a80          CALL    L$$MPY
         020d 0000! 
     929 020e 8b8a          MAR     * ,AR2
     930 020f 90a0          SACL    *+
     931 0210 989d          SACH    *-,AR5
     932            *** 239 -----------------------    result += *fst++-48;
     933                    .line   28
     934            ;>>>>           result += *fst++ - '0';
     935 0211 be47          SSXM
     936 0212 10aa          LAC     *+,AR2
     937 0213 ba30          SUBK    48
     938 0214 62a0          ADDS    *+
     939 0215 6190          ADDH    *-
     940 0216 90a0          SACL    *+
     941 0217 988d          SACH    * ,AR5
     942            *** 236 -----------------------    if ( (C$1 = *fst) >= 48 ) goto g9;
     943                    .line   25
TMS320C1x/C2x/C2xx/C5x COFF Assembler Beta Version 6.63  Sat Jan 10 00:36:46 1998
Copyright (c) 1987-1996  Texas Instruments Incorporated 
conio.asm                                                            PAGE   20

     944 0218 108e          LAC     * ,AR6
     945 0219 9080          SACL    * 
     946 021a ba30          SUBK    48
     947 021b e38c          BGEZ    L32
         021c 01fe' 
     948 021d       L34:
     949            ***     -----------------------g11:
     950            *** 242 -----------------------    return fc ? result : -result;
     951                    .line   31
     952            ;>>>>       return (fc == '-') ? -result : result;
     953 021d 8b8f          MAR     * ,AR7
     954 021e 1080          LAC     * 
     955 021f e388          BZ      LL14
         0220 0228' 
     956 0221 8b8a          MAR     * ,AR2
     957 0222 b201          LARK    AR2,1
     958 0223 8be0          MAR     *0+
     959 0224 69a0          ZALS    *+
     960 0225 6180          ADDH    * 
     961 0226 7980          B       EPI0_8
         0227 022e' 
     962 0228       LL14:
     963 0228 8b8a          MAR     * ,AR2
     964 0229 b201          LARK    AR2,1
     965 022a 8be0          MAR     *0+
     966 022b 69a0          ZALS    *+
     967 022c 6180          ADDH    * 
     968 022d be02          NEG
     969 022e       EPI0_8:
     970                    .line   32
     971 022e 8b89          MAR     * ,AR1
     972            ;       <restore register vars>
     973 022f 8b90          MAR     *-
     974 0230 0790          LAR     AR7,*-
     975 0231 0680          LAR     AR6,*
     976 0232 7c06          SBRK    6
     977 0233 0080          LAR     AR0,* 
     978 0234 ef00          RET
     979            
     980                    .endfunc        243,0000000c0H,5
     981 0235                  .text                                           
     982                       .def    _read_PMEM                              
     983 0235       _read_PMEM:                                                
     984 0235 8aa0             popd    *+              ;push return address    
     985 0236 80a0             sar     AR0, *+         ;push old frame pointer 
     986 0237 8180             sar     AR1, *                                  
     987 0238 0080             lar     AR0,*           ;init new frame pointer 
     988 0239 7801             adrk    #1              ;alocate space for one local variable 
     989                                                                       
     990 023a bf0a             lar     AR2,#-3                                 
         023b fffd  
     991 023c 8b8a             mar     *,AR2                                   
     992 023d 8be0             mar     *0+             ;AR2 = x                
     993 023e 1080             LACC    *               ;ACC = x                
TMS320C1x/C2x/C2xx/C5x COFF Assembler Beta Version 6.63  Sat Jan 10 00:36:46 1998
Copyright (c) 1987-1996  Texas Instruments Incorporated 
conio.asm                                                            PAGE   21

     994 023f 7803             ADRK    #3              ;AR2 = local #1         
     995 0240 a680             TBLR    *               ;local #1 = *x(PMEM)    
     996 0241 1080             LACC    *               ;ACC = char             
     997                                                                       
     998                    ;context restore                                   
     999                    ;---------------                                   
    1000 0242 8b89             mar     *,AR1                                   
    1001 0243 7c02             sbrk    #(1+1)          ;pop local var's+1 from stack 
    1002 0244 0090             lar     ar0, *-         ;restore old frame pointer    
    1003 0245 7680             pshd    *               ;restore return address       
    1004 0246 ef00             ret                                                   
    1005            ******************************************************
    1006            * DEFINE STRING CONSTANTS                            *
    1007            ******************************************************
    1008 0000               .sect   ".const"
    1009 0000   1b  SL0:    .byte   27,"c",0
         0001   63  
         0002   00  
    1010 0003   0f  SL1:    .byte   15,0
         0004   00  
    1011 0005   5b  SL2:    .byte   "[",0
         0006   00  
    1012 0007   2c  SL3:    .byte   ",",0
         0008   00  
    1013 0009   5d  SL4:    .byte   "]",0
         000a   00  
    1014 000b   3c  SL5:    .byte   "<",0
         000c   00  
    1015 000d   3e  SL6:    .byte   ">: ",0
         000e   3a  
         000f   20  
         0010   00  
    1016            *****************************************************
    1017            * UNDEFINED REFERENCES                              *
    1018            *****************************************************
    1019                    .global _ltoa
    1020                    .global L$$MPY
    1021                    .end

 No Errors,  No Warnings

⌨️ 快捷键说明

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