📄 pcf8583.lst
字号:
765 ;>>>> else
766 0190 1080 LAC *
767 0191 e308 BNZ L9
0192 019b'
768 0193 7c04 SBRK 4-LF7
769 0194 1089 LAC * ,AR1
770 0195 90a0 SACL *+
771 0196 7a80 CALL _Pcf8583sendByte
0197 007f'
772 0198 8b90 MAR *-
773 0199 7980 B L10
019a 01b2'
774 019b L9:
775 .line 10
776 ;>>>> sda_1;scl_1;
777 019b bf80 LACK 61439
019c efff
778 019d bc00! LDPK _MCRC
779 019e 6e00! AND _MCRC
780 019f 9000! SACL _MCRC
781 01a0 bf80 LACK 4112
01a1 1010
782 01a2 bc00! LDPK _PFDATDIR
783 01a3 6d00! OR _PFDATDIR
784 01a4 9000! SACL _PFDATDIR
785 01a5 bf80 LACK 49151
01a6 bfff
786 01a7 bc00! LDPK _MCRA
787 01a8 6e00! AND _MCRA
788 01a9 9000! SACL _MCRA
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:32 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
pcf8583.asm PAGE 17
789 01aa bf80 LACK 16448
01ab 4040
790 01ac bc00! LDPK _PBDATDIR
791 01ad 6d00! OR _PBDATDIR
792 01ae 9000! SACL _PBDATDIR
793 .line 11
794 ;>>>> return(k);
795 01af 6980 ZALS *
796 01b0 7980 B EPI0_7
01b1 01ff'
797 01b2 L10:
798 .line 13
799 ;>>>> k = Pcf8583Ack();
800 01b2 7a80 CALL _Pcf8583Ack
01b3 00ea'
801 01b4 8b8a MAR * ,AR2
802 01b5 b201 LARK AR2,1
803 01b6 8be0 MAR *0+
804 01b7 9080 SACL *
805 .line 14
806 ;>>>> if(k==0)Pcf8583sendByte(data); //send out data
807 ;>>>> else
808 01b8 1080 LAC *
809 01b9 e308 BNZ L11
01ba 01c3'
810 01bb 7c05 SBRK 5-LF7
811 01bc 1089 LAC * ,AR1
812 01bd 90a0 SACL *+
813 01be 7a80 CALL _Pcf8583sendByte
01bf 007f'
814 01c0 8b90 MAR *-
815 01c1 7980 B L12
01c2 01da'
816 01c3 L11:
817 .line 17
818 ;>>>> sda_1; scl_1;
819 01c3 bf80 LACK 61439
01c4 efff
820 01c5 bc00! LDPK _MCRC
821 01c6 6e00! AND _MCRC
822 01c7 9000! SACL _MCRC
823 01c8 bf80 LACK 4112
01c9 1010
824 01ca bc00! LDPK _PFDATDIR
825 01cb 6d00! OR _PFDATDIR
826 01cc 9000! SACL _PFDATDIR
827 01cd bf80 LACK 49151
01ce bfff
828 01cf bc00! LDPK _MCRA
829 01d0 6e00! AND _MCRA
830 01d1 9000! SACL _MCRA
831 01d2 bf80 LACK 16448
01d3 4040
832 01d4 bc00! LDPK _PBDATDIR
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:32 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
pcf8583.asm PAGE 18
833 01d5 6d00! OR _PBDATDIR
834 01d6 9000! SACL _PBDATDIR
835 .line 18
836 ;>>>> return(k);
837 01d7 6980 ZALS *
838 01d8 7980 B EPI0_7
01d9 01ff'
839 01da L12:
840 .line 20
841 ;>>>> k = Pcf8583Ack();
842 01da 7a80 CALL _Pcf8583Ack
01db 00ea'
843 01dc 8b8a MAR * ,AR2
844 01dd b201 LARK AR2,1
845 01de 8be0 MAR *0+
846 01df 9080 SACL *
847 .line 21
848 ;>>>> if(k==0) Pcf8583Stop(); // stop
849 01e0 1080 LAC *
850 01e1 e308 BNZ L13
01e2 01e7'
851 01e3 7a89 CALL _Pcf8583Stop,AR1
01e4 014f'
852 01e5 7980 B L14
01e6 01fb'
853 01e7 L13:
854 .line 22
855 ;>>>> else {sda_1;scl_1;}
856 01e7 bf80 LACK 61439
01e8 efff
857 01e9 bc00! LDPK _MCRC
858 01ea 6e00! AND _MCRC
859 01eb 9000! SACL _MCRC
860 01ec bf80 LACK 4112
01ed 1010
861 01ee bc00! LDPK _PFDATDIR
862 01ef 6d00! OR _PFDATDIR
863 01f0 9000! SACL _PFDATDIR
864 01f1 bf80 LACK 49151
01f2 bfff
865 01f3 bc00! LDPK _MCRA
866 01f4 6e00! AND _MCRA
867 01f5 9000! SACL _MCRA
868 01f6 bf80 LACK 16448
01f7 4040
869 01f8 bc00! LDPK _PBDATDIR
870 01f9 6d00! OR _PBDATDIR
871 01fa 9000! SACL _PBDATDIR
872 01fb L14:
873 .line 23
874 ;>>>> return(k);
875 01fb 8b8a MAR * ,AR2
876 01fc b201 LARK AR2,1
877 01fd 8be0 MAR *0+
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:32 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
pcf8583.asm PAGE 19
878 01fe 6980 ZALS *
879 01ff EPI0_7:
880 .line 24
881 01ff 8b89 MAR * ,AR1
882 0200 7c03 SBRK 3
883 0201 0090 LAR AR0,*-
884 0202 7680 PSHD *
885 0203 ef00 RET
886
887 .endfunc 137,000000000H,2
888
889 .sym _Receive,_Receive,44,2,0
890 .globl _Receive
891
892 .func 141
893 ;>>>> uchar Receive()
894 ******************************************************
895 * FUNCTION DEF : _Receive
896 ******************************************************
897 0204 _Receive:
898 0204 8aa0 POPD *+
899 0205 80a0 SAR AR0,*+
900 0206 8180 SAR AR1,*
901 0207 b004 LARK AR0,4
902 0208 00ea LAR AR0,*0+,AR2
903
904 .sym _data,1,12,1,16
905 .sym _sz,2,12,1,16
906 .sym _i,3,12,1,16
907 .line 3
908 ;>>>> uchar data=0,sz,i;
909 0209 b900 LACK 0
910 020a b201 LARK AR2,1
911 020b 8be0 MAR *0+
912 020c 9089 SACL * ,AR1
913 .line 4
914 ;>>>> sda_in; //config sda as input port
915 020d bf80 LACK 61439
020e efff
916 020f bc00! LDPK _MCRC
917 0210 6e00! AND _MCRC
918 0211 9000! SACL _MCRC
919 0212 bf80 LACK 61439
0213 efff
920 0214 bc00! LDPK _PFDATDIR
921 0215 6e00! AND _PFDATDIR
922 0216 9000! SACL _PFDATDIR
923 0217 b910 LACK 16
924 0218 6d00! OR _PFDATDIR
925 0219 9000! SACL _PFDATDIR
926 .line 5
927 ;>>>> scl_0; //scl = 0
928 021a bf80 LACK 49151
021b bfff
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:32 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
pcf8583.asm PAGE 20
929 021c bc00! LDPK _MCRA
930 021d 6e00! AND _MCRA
931 021e 9000! SACL _MCRA
932 021f bf80 LACK 16384
0220 4000
933 0221 bc00! LDPK _PBDATDIR
934 0222 6d00! OR _PBDATDIR
935 0223 9000! SACL _PBDATDIR
936 0224 bf80 LACK 65471
0225 ffbf
937 0226 6e00! AND _PBDATDIR
938 0227 9000! SACL _PBDATDIR
939 .line 6
940 ;>>>> Pcf8583DelayI2c();
941 0228 7a80 CALL _Pcf8583DelayI2c
0229 0023'
942 .line 7
943 ;>>>> for(i=0;i<8;i++)
944 022a b900 LACK 0
945 022b 8b8a MAR * ,AR2
946 022c b203 LARK AR2,3
947 022d 8be0 MAR *0+
948 022e 9080 SACL *
949 022f 6980 ZALS *
950 0230 ba08 SUBK 8
951 0231 e38c BGEZ L16
0232 0272'
952 0233 7c02 SBRK 2
953 0234 L15:
954 .line 9
955 ;>>>> data = data<<1; // shift 1 bit to left
956 0234 1180 LAC * ,1
957 0235 9089 SACL * ,AR1
958 .line 10
959 ;>>>> scl_1; //scl = 1
960 0236 bf80 LACK 49151
0237 bfff
961 0238 bc00! LDPK _MCRA
962 0239 6e00! AND _MCRA
963 023a 9000! SACL _MCRA
964 023b bf80 LACK 16448
023c 4040
965 023d bc00! LDPK _PBDATDIR
966 023e 6d00! OR _PBDATDIR
967 023f 9000! SACL _PBDATDIR
968 .line 11
969 ;>>>> Pcf8583DelayI2c();
970 0240 7a80 CALL _Pcf8583DelayI2c
0241 0023'
971 .line 12
972 ;>>>> sz = PFDATDIR&0x10; //get related data bit
973 0242 b910 LACK 16
974 0243 bc00! LDPK _PFDATDIR
975 0244 6e00! AND _PFDATDIR
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:32 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
pcf8583.asm PAGE 21
976 0245 8b8a MAR * ,AR2
977 0246 b202 LARK AR2,2
978 0247 8be0 MAR *0+
979 0248 9080 SACL *
980 .line 13
981 ;>>>> if(sz==0) data &= 0xfffe; // if data bit is 0, clr lsb of the data
982 0249 1080 LAC *
983 024a e308 BNZ L17
024b 0253'
984 024c bf80 LACK 65534
024d fffe
985 024e 8b90 MAR *-
986 024f 6e80 AND *
987 0250 9080 SACL *
988 0251 7980 B L18
0252 0257'
989 0253 L17:
990 .line 14
991 ;>>>> else data |= 0x01; // if data bit is 1, set lsb of the data
992 0253 b901 LACK 1
993 0254 8b90 MAR *-
994 0255 6d80 OR *
995 0256 9080 SACL *
996 0257 L18:
997 .line 15
998 ;>>>> scl_0; // scl = 0;
999 0257 bf80 LACK 49151
0258 bfff
1000 0259 bc00! LDPK _MCRA
1001 025a 6e00! AND _MCRA
1002 025b 9000! SACL _MCRA
1003 025c bf80 LACK 16384
025d 4000
1004 025e bc00! LDPK _PBDATDIR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -