📄 f34x_msd_cmd.ls1
字号:
0083 120000 F 871 LCALL L?0101
0086 30E309 872 JNB ACC.3,?C0021
873 ; printf("\t<LABEL>");
874 ; SOURCE LINE # 141
0089 7BFF 875 MOV R3,#0FFH
008B 7A00 F 876 MOV R2,#HIGH (?SC_39)
008D 7900 F 877 MOV R1,#LOW (?SC_39)
008F 120000 F 878 LCALL _printf
0092 879 ?C0021:
880 ; if(findinfo.direntry->sfn.attrib & ATTRIB_SUBDIR)
881 ; SOURCE LINE # 142
0092 120000 F 882 LCALL L?0081
0095 120000 F 883 LCALL L?0102
0098 30E409 884 JNB ACC.4,?C0022
885 ; printf("\t<DIR>");
886 ; SOURCE LINE # 143
009B 7BFF 887 MOV R3,#0FFH
009D 7A00 F 888 MOV R2,#HIGH (?SC_48)
009F 7900 F 889 MOV R1,#LOW (?SC_48)
00A1 120000 F 890 LCALL _printf
00A4 891 ?C0022:
892 ; printf(ENDLINE);
893 ; SOURCE LINE # 144
00A4 120000 F 894 LCALL L?0094
00A7 120000 F 895 LCALL _printf
896 ;
897 ; } while(findnext(&findinfo));
898 ; SOURCE LINE # 146
00AA 7B01 899 MOV R3,#01H
00AC 7A00 F 900 MOV R2,#HIGH (findinfo?243)
00AE 7900 F 901 MOV R1,#LOW (findinfo?243)
00B0 120000 F 902 LCALL _findnext
00B3 EF 903 MOV A,R7
00B4 6003 904 JZ $ + 5H
00B6 020000 F 905 LJMP ?C0012
906 ; }
907 ; SOURCE LINE # 147
00B9 908 ?C0009:
00B9 22 909 RET
00BA 910 L?0092:
00BA 8F82 911 MOV DPL,R7
00BC 758300 912 MOV DPH,#00H
00BF 120000 F 913 LCALL ?C?CLDOPTR
00C2 FF 914 MOV R7,A
00C3 120000 F 915 LCALL _tolower
00C6 120000 F 916 LCALL _putchar
00C9 900000 F 917 MOV DPTR,#i?242
00CC E0 918 MOVX A,@DPTR
00CD 04 919 INC A
00CE F0 920 MOVX @DPTR,A
00CF 22 921 RET
922 ; END OF Cmd_Dir
923
924 ;
925 ; //----------------------------------------------------------------------------
A51 MACRO ASSEMBLER F34X_MSD_CMD 11/16/2006 13:16:27 PAGE 16
926 ; // Cmd_Type
927 ; //----------------------------------------------------------------------------
928 ; //
929 ; // This function sends via UART the content of file which is defiened with
930 ; // "type" command.
931 ; //
932 ; // Parameters : filename - pointer to file name
933 ; // Return Value :
934 ; //----------------------------------------------------------------------------
935 ;
936 ; void Cmd_Type(char* filename)
937
---- 938 RSEG ?PR?_Cmd_Type?F34X_MSD_CMD
0000 939 _Cmd_Type:
940 USING 0
941 ; SOURCE LINE # 160
0000 900000 F 942 MOV DPTR,#filename?344
0003 120000 F 943 LCALL L?0086
944 ; {
945 ; SOURCE LINE # 161
946 ; FILE xdata f;unsigned xdata bytesread,i;
947 ;
948 ; if(!fopen(&f,filename,"r")) {
949 ; SOURCE LINE # 164
0006 900000 F 950 MOV DPTR,#filename?344
0009 120000 F 951 LCALL L?0098
000C 900000 F 952 MOV DPTR,#?_fopen?BYTE+03H
000F C9 953 XCH A,R1
0010 120000 F 954 LCALL L?0087
0013 A3 955 INC DPTR
0014 74FF 956 MOV A,#0FFH
0016 F0 957 MOVX @DPTR,A
0017 A3 958 INC DPTR
0018 7400 F 959 MOV A,#HIGH (?SC_58)
001A F0 960 MOVX @DPTR,A
001B A3 961 INC DPTR
001C 7400 F 962 MOV A,#LOW (?SC_58)
001E 120000 F 963 LCALL L?0099
0021 120000 F 964 LCALL _fopen
0024 EF 965 MOV A,R7
0025 4E 966 ORL A,R6
0026 7008 967 JNZ ?C0025
968 ; printf("File not found"ENDLINE);
969 ; SOURCE LINE # 165
0028 7BFF 970 MOV R3,#0FFH
002A 7A00 F 971 MOV R2,#HIGH (?SC_60)
002C 7900 F 972 MOV R1,#LOW (?SC_60)
002E 806E 973 SJMP ?C0073
974 ; return;
975 ; }
976 ; SOURCE LINE # 167
0030 977 ?C0025:
978 ;
979 ; while(bytesread=fread(&f,Scratch,Sect_Block_Size())) {
980 ; SOURCE LINE # 169
0030 900000 F 981 MOV DPTR,#?_fread?BYTE+03H
0033 7401 982 MOV A,#01H
0035 F0 983 MOVX @DPTR,A
0036 A3 984 INC DPTR
0037 7400 F 985 MOV A,#HIGH (Scratch)
0039 F0 986 MOVX @DPTR,A
003A A3 987 INC DPTR
003B 7400 F 988 MOV A,#LOW (Scratch)
003D F0 989 MOVX @DPTR,A
003E A3 990 INC DPTR
003F 7402 991 MOV A,#02H
A51 MACRO ASSEMBLER F34X_MSD_CMD 11/16/2006 13:16:27 PAGE 17
0041 F0 992 MOVX @DPTR,A
0042 A3 993 INC DPTR
0043 E4 994 CLR A
0044 120000 F 995 LCALL L?0099
0047 120000 F 996 LCALL _fread
004A 900000 F 997 MOV DPTR,#bytesread?346
004D EE 998 MOV A,R6
004E F0 999 MOVX @DPTR,A
004F A3 1000 INC DPTR
0050 EF 1001 MOV A,R7
0051 F0 1002 MOVX @DPTR,A
0052 4E 1003 ORL A,R6
0053 6040 1004 JZ ?C0026
1005 ; if(key_available()) {
1006 ; SOURCE LINE # 170
0055 120000 F 1007 LCALL key_available
0058 EF 1008 MOV A,R7
0059 703A 1009 JNZ ?C0026
1010 ; break;
1011 ; SOURCE LINE # 171
1012 ; }
1013 ; SOURCE LINE # 172
005B 1014 ?C0027:
1015 ; for(i=0;i<bytesread;i++) {
1016 ; SOURCE LINE # 173
005B E4 1017 CLR A
005C 900000 F 1018 MOV DPTR,#i?347
005F F0 1019 MOVX @DPTR,A
0060 A3 1020 INC DPTR
0061 F0 1021 MOVX @DPTR,A
0062 1022 ?C0028:
0062 900000 F 1023 MOV DPTR,#bytesread?346
0065 E0 1024 MOVX A,@DPTR
0066 FE 1025 MOV R6,A
0067 A3 1026 INC DPTR
0068 E0 1027 MOVX A,@DPTR
0069 FF 1028 MOV R7,A
006A A3 1029 INC DPTR
006B E0 1030 MOVX A,@DPTR
006C FC 1031 MOV R4,A
006D A3 1032 INC DPTR
006E E0 1033 MOVX A,@DPTR
006F FD 1034 MOV R5,A
0070 C3 1035 CLR C
0071 9F 1036 SUBB A,R7
0072 EC 1037 MOV A,R4
0073 9E 1038 SUBB A,R6
0074 50BA 1039 JNC ?C0025
1040 ; putchar(Scratch[i]);
1041 ; SOURCE LINE # 174
0076 7400 F 1042 MOV A,#LOW (Scratch)
0078 2D 1043 ADD A,R5
0079 F582 1044 MOV DPL,A
007B 7400 F 1045 MOV A,#HIGH (Scratch)
007D 3C 1046 ADDC A,R4
007E F583 1047 MOV DPH,A
0080 E0 1048 MOVX A,@DPTR
0081 FF 1049 MOV R7,A
0082 120000 F 1050 LCALL _putchar
1051 ; }
1052 ; SOURCE LINE # 175
0085 900000 F 1053 MOV DPTR,#i?347+01H
0088 E0 1054 MOVX A,@DPTR
0089 04 1055 INC A
008A F0 1056 MOVX @DPTR,A
008B 70D5 1057 JNZ ?C0028
A51 MACRO ASSEMBLER F34X_MSD_CMD 11/16/2006 13:16:27 PAGE 18
008D 900000 F 1058 MOV DPTR,#i?347
0090 E0 1059 MOVX A,@DPTR
0091 04 1060 INC A
0092 F0 1061 MOVX @DPTR,A
0093 1062 ?C0071:
0093 80CD 1063 SJMP ?C0028
1064 ; }
1065 ; SOURCE LINE # 176
0095 1066 ?C0026:
1067 ;
1068 ; fclose(&f);
1069 ; SOURCE LINE # 178
0095 120000 F 1070 LCALL L?0100
0098 120000 F 1071 LCALL _fclose
1072 ;
1073 ;
1074 ; printf(ENDLINE);
1075 ; SOURCE LINE # 181
009B 120000 F 1076 LCALL L?0094
009E 1077 ?C0073:
009E 120000 F 1078 LCALL _printf
1079 ; }
1080 ; SOURCE LINE # 182
00A1 1081 ?C0024:
00A1 22 1082 RET
1083 ; END OF _Cmd_Type
1084
1085 ;
1086 ; //----------------------------------------------------------------------------
1087 ; // Cmd_Help
1088 ; //----------------------------------------------------------------------------
1089 ; //
1090 ; // Function sends via UART the list of known commands. This list contains all
1091 ; // commands allowed for normal user. List is printing when system doesn't
1092 ; // recognize the last sent command.
1093 ; //
1094 ; // Parameters :
1095 ; // Return Value :
1096 ; //----------------------------------------------------------------------------
1097 ;
1098 ; void Cmd_Help(void)
1099
---- 1100 RSEG ?PR?Cmd_Help?F34X_MSD_CMD
0000 1101 Cmd_Help:
1102 USING 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -