📄 sl811.lst
字号:
919 0BFE F000 nop ;#
920 ;sl811.c: 309: }
921 0C00 06F3 decf prodl,f,c
922 0C02 50F3 movf prodl,w,c
923 0C04 A4D8 btfss status,2,c
924 0C06 D7FB goto l63
925 ;sl811.c: 311: while((sl811_read(0x0D)&0x01) ==
+ 0);
926 0C08 l66:
927 0C08 0E0D movlw 13
928 0C0A DDE4 call _sl811_read
929 0C0C 6E00 movwf btemp
930 0C0E A000 btfss btemp,0
931 0C10 D7FB goto l66
932 ;sl811.c: 313: buf[16] = sl811_read(0x20);
933 ; _buf loaded to fsr1
934 0C12 C07D FFE1 movff ?_sl811_get_device_desc,fsr1l
935 0C16 C07E FFE2 movff ?_sl811_get_device_desc+1,fsr1h
936 0C1A EE00 F010 lfsr 0,16
937 0C1E 50E1 movf fsr1l,w,c
938 0C20 26E9 addwf fsr0l,f,c
939 0C22 50E2 movf fsr1h,w,c
940 0C24 22EA addwfc fsr0h,f,c
941 0C26 0E20 movlw 32
942 0C28 DDD5 call _sl811_read
943 0C2A 6EEF movwf indf0,c
944 ;sl811.c: 314: buf[17] = sl811_read_next();
945 0C2C EE00 F011 lfsr 0,17
946 0C30 50E1 movf fsr1l,w,c
947 0C32 26E9 addwf fsr0l,f,c
948 0C34 50E2 movf fsr1h,w,c
949 0C36 22EA addwfc fsr0h,f,c
950 0C38 DE30 call _sl811_read_next ;wreg free
951 0C3A 6EEF movwf indf0,c
952 ;sl811.c: 316: if((sl811_read(0x03)&0x40) == 0)t
+ mp =2;
953 0C3C 0E03 movlw 3
954 0C3E DDCA call _sl811_read
955 0C40 6E00 movwf btemp
956 0C42 BC00 btfsc btemp,6
957 0C44 D7BC goto l60
958 0C46 0E02 movlw 2
959 0C48 6EF3 movwf prodl,c
960 0C4A D7B9 goto l60
961 0C4C l49:
962 ;sl811.c: 318: }
963 ;sl811.c: 321: pause_ms(2);
964 0C4C 0E02 movlw 2
965 0C4E EC5A F010 call _pause_ms
966 ;sl811.c: 324: sl811_write(0x01, 0x10);
967 0C52 0E10 movlw 16
968 0C54 0100 movlb __Lparam shr (0+8)
969 0C56 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
970 0C58 0E01 movlw 1
971 0C5A DDAB call _sl811_write
972 ;sl811.c: 325: sl811_write(0x02, 0x00);
973 0C5C 0100 movlb __Lparam shr (0+8)
974 0C5E 6BFE clrf ?_sl811_write^(__Lparam& (0+65280))
975 0C60 0E02 movlw 2
976 0C62 DDA7 call _sl811_write
977 ;sl811.c: 326: sl811_write(0x03, 0x10);
978 0C64 0E10 movlw 16
979 0C66 0100 movlb __Lparam shr (0+8)
980 0C68 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
981 0C6A 0E03 movlw 3
982 0C6C DDA2 call _sl811_write
983 ;sl811.c: 327: sl811_write(0x04, adr);
984 0C6E C1B2 F0FE movff _adr,?_sl811_write
985 0C72 0E04 movlw 4
986 0C74 DD9E call _sl811_write
987 ;sl811.c: 329: sl811_write(0x0D, 0x01);
988 0C76 0E01 movlw 1
989 0C78 0100 movlb __Lparam shr (0+8)
990 0C7A 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
991 0C7C 0E0D movlw 13
992 0C7E DD99 call _sl811_write
993 ;sl811.c: 330: sl811_write(0x00, 0x67);
994 0C80 0E67 movlw 103
995 0C82 0100 movlb __Lparam shr (0+8)
996 0C84 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
997 0C86 0E00 movlw 0
998 0C88 DD94 call _sl811_write
999 ;sl811.c: 331: for(tmp=255; tmp!= 0; tmp--)
1000 ; _tmp allocated to fsr2l
1001 0C8A 68D9 setf fsr2l,c
1002 0C8C l70:
1003 ;sl811.c: 332: {
1004 ;sl811.c: 333: asm("nop");
1005 0C8C F000 nop ;#
1006 ;sl811.c: 334: }
1007 0C8E 06D9 decf fsr2l,f,c
1008 0C90 50D9 movf fsr2l,w,c
1009 0C92 A4D8 btfss status,2,c
1010 0C94 D7FB goto l70
1011 ;sl811.c: 336: while((sl811_read(0x0D)&0x01) ==
+ 0);
1012 0C96 l73:
1013 0C96 0E0D movlw 13
1014 0C98 DD9D call _sl811_read
1015 0C9A 6E00 movwf btemp
1016 0C9C B000 btfsc btemp,0
1017 ;sl811.c: 337: }
1018 0C9E 0012 return
1019 0CA0 D7FA goto l73
1020 0CA2 FFFF dw 65535
1021 0CA4 D682 goto f4542
1022 0CA6 007D dw ?_sl811_get_device_conf
1023 0CA8 _sl811_get_device_conf:
1024 0CA8 FFFF dw 65535
1025 0CAA f4562:
1026 0000
1027 ;sl811.c: 346: unsigned char tmp, err;
1028 0CAA 0E80 movlw 128
1029 0CAC 0100 movlb __Lparam shr (0+8)
1030 0CAE 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
1031 0CB0 0E10 movlw 16
1032 0CB2 DD7F call _sl811_write
1033 ;sl811.c: 349: sl811_write_next(0x06);
1034 0CB4 0E06 movlw 6
1035 0CB6 DDE6 call _sl811_write_next
1036 ;sl811.c: 350: sl811_write_next(0x00);
1037 0CB8 0E00 movlw 0
1038 0CBA DDE4 call _sl811_write_next
1039 ;sl811.c: 351: sl811_write_next(0x02);
1040 0CBC 0E02 movlw 2
1041 0CBE DDE2 call _sl811_write_next
1042 ;sl811.c: 352: sl811_write_next(0x00);
1043 0CC0 0E00 movlw 0
1044 0CC2 DDE0 call _sl811_write_next
1045 ;sl811.c: 353: sl811_write_next(0x00);
1046 0CC4 0E00 movlw 0
1047 0CC6 DDDE call _sl811_write_next
1048 ;sl811.c: 354: sl811_write_next(0x20);
1049 0CC8 0E20 movlw 32
1050 0CCA DDDC call _sl811_write_next
1051 ;sl811.c: 355: sl811_write_next(0x00);
1052 0CCC 0E00 movlw 0
1053 0CCE DDDA call _sl811_write_next
1054 ;sl811.c: 357: sl811_write(0x01, 0x10);
1055 0CD0 0E10 movlw 16
1056 0CD2 0100 movlb __Lparam shr (0+8)
1057 0CD4 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
1058 0CD6 0E01 movlw 1
1059 0CD8 DD6C call _sl811_write
1060 ;sl811.c: 358: sl811_write(0x02, 0x08);
1061 0CDA 0E08 movlw 8
1062 0CDC 0100 movlb __Lparam shr (0+8)
1063 0CDE 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
1064 0CE0 0E02 movlw 2
1065 0CE2 DD67 call _sl811_write
1066 ;sl811.c: 359: sl811_write(0x03, 0xD0);
1067 0CE4 0ED0 movlw 208
1068 0CE6 0100 movlb __Lparam shr (0+8)
1069 0CE8 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
1070 0CEA 0E03 movlw 3
1071 0CEC DD62 call _sl811_write
1072 ;sl811.c: 360: sl811_write(0x04, adr);
1073 0CEE C1B2 F0FE movff _adr,?_sl811_write
1074 0CF2 0E04 movlw 4
1075 0CF4 DD5E call _sl811_write
1076 ;sl811.c: 361: sl811_write(0x0D, 0x01);
1077 0CF6 0E01 movlw 1
1078 0CF8 0100 movlb __Lparam shr (0+8)
1079 0CFA 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
1080 0CFC 0E0D movlw 13
1081 0CFE DD59 call _sl811_write
1082 ;sl811.c: 362: sl811_write(0x00, 0x07);
1083 0D00 0E07 movlw 7
1084 0D02 0100 movlb __Lparam shr (0+8)
1085 0D04 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
1086 0D06 0E00 movlw 0
1087 0D08 DD54 call _sl811_write
1088 ;sl811.c: 363: for(tmp=255; tmp!= 0; tmp--)
1089 0D0A 68D9 setf fsr2l,c
1090 0D0C l77:
1091 ;sl811.c: 364: {
1092 ;sl811.c: 365: asm("nop");
1093 0D0C F000 nop ;#
1094 ;sl811.c: 366: }
1095 0D0E 06D9 decf fsr2l,f,c
1096 0D10 50D9 movf fsr2l,w,c
1097 0D12 A4D8 btfss status,2,c
1098 0D14 D7FB goto l77
1099 ;sl811.c: 368: while((sl811_read(0x0D)&0x01) ==
+ 0);
1100 0D16 l80:
1101 0D16 0E0D movlw 13
1102 0D18 DD5D call _sl811_read
1103 0D1A 6E00 movwf btemp
1104 0D1C A000 btfss btemp,0
1105 0D1E D7FB goto l80
1106 ;sl811.c: 370: pause_ms(2);
1107 0D20 0E02 movlw 2
1108 0D22 EC5A F010 call _pause_ms
1109 ;sl811.c: 372: tmp = 0;
1110 ; _tmp allocated to fsr1l
1111 0D26 6AE1 clrf fsr1l,c
1112 ;sl811.c: 373: while(tmp == 0)
1113 ;sl811.c: 392: }
1114 0D28 l83:
1115 0D28 50E1 movf fsr1l,w,c
1116 0D2A A4D8 btfss status,2,c
1117 0D2C D030 goto u320
1118 ;sl811.c: 374: {
1119 0D2E 0E10 movlw 16
1120 0D30 0100 movlb __Lparam shr (0+8)
1121 0D32 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
1122 0D34 0E01 movlw 1
1123 0D36 DD3D call _sl811_write
1124 ;sl811.c: 376: sl811_write(0x02, 0x20);
1125 0D38 0E20 movlw 32
1126 0D3A 0100 movlb __Lparam shr (0+8)
1127 0D3C 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
1128 0D3E 0E02 movlw 2
1129 0D40 DD38 call _sl811_write
1130 ;sl811.c: 377: sl811_write(0x03, 0x90);
1131 0D42 0E90 movlw 144
1132 0D44 0100 movlb __Lparam shr (0+8)
1133 0D46 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
1134 0D48 0E03 movlw 3
1135 0D4A DD33 call _sl811_write
1136 ;sl811.c: 378: sl811_write(0x04, adr);
1137 0D4C C1B2 F0FE movff _adr,?_sl811_write
1138 0D50 0E04 movlw 4
1139 0D52 DD2F call _sl811_write
1140 ;sl811.c: 380: sl811_write(0x0D, 0x01);
1141 0D54 0E01 movlw 1
1142 0D56 0100 movlb __Lparam shr (0+8)
1143 0D58 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
1144 0D5A 0E0D movlw 13
1145 0D5C DD2A call _sl811_write
1146 ;sl811.c: 381: sl811_write(0x00, 0x03);
1147 0D5E 0E03 movlw 3
1148 0D60 0100 movlb __Lparam shr (0+8)
1149 0D62 6FFE movwf ?_sl811_write^(__Lparam& (0+65280))
1150 0D64 0E00 movlw 0
1151 0D66 DD25 call _sl811_write
1152 ;sl811.c: 382: for(tmp=255; tmp!= 0; tmp--)
1153 0D68 68E1 setf fsr1l,c
1154 0D6A l86:
1155 ;sl811.c: 383: {
1156 ;sl811.c: 384: asm("nop");
1157 0D6A F000 no
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -