📄 conio.lst
字号:
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 + -