📄 f34x_msd_file_system.src
字号:
USING 0
L?0167:
MOV DPTR,#0BH
LCALL ?C?LLDOPTR
MOV A,R7
MOV R3,A
MOV A,R6
ANL A,#01H
MOV R2,A
CLR A
CLR C
SUBB A,R3
MOV R7,A
MOV A,#02H
SUBB A,R2
MOV R6,A
CLR A
SUBB A,#00H
MOV R5,A
CLR A
SUBB A,#00H
MOV R4,A
RET
L?0168:
USING 0
L?0169:
MOV DPTR,#02H
LCALL ?C?LLDOPTR0
MOV A,R7
ADD A,R3
MOV R7,A
MOV A,R6
ADDC A,R2
L?0170:
MOV R6,A
MOV A,R5
ADDC A,R1
MOV R5,A
MOV A,R4
ADDC A,R0
MOV R4,A
RET
L?0172:
USING 0
MOV A,R7
ADD A,#0FFH
MOV R7,A
MOV A,R6
ADDC A,#0FFH
MOV R6,A
MOV A,R5
ADDC A,#0FFH
MOV R5,A
MOV A,R4
ADDC A,#0FFH
MOV R4,A
L?0173:
CLR A
MOV R3,A
MOV R2,#02H
MOV R1,A
MOV R0,A
LJMP ?C?ULDIV
L?0174:
USING 0
L?0175:
MOV DPTR,#07H
LJMP ?C?PLDOPTR
L?0176:
USING 0
L?0177:
MOV DPL,R7
MOV DPH,R6
L?0178:
LCALL ?C?ILDOPTR
MOV R7,A
MOV R6,B
RET
L?0179:
USING 0
MOV DPTR,#from?452
L?0180:
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
L?0181:
MOV R5,A
L?0182:
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
RET
L?0183:
USING 0
L?0184:
MOV DPTR,#from?452
MOVX A,@DPTR
MOV R0,A
INC DPTR
L?0185:
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
RET
L?0186:
USING 0
MOV DPTR,#from?558
L?0187:
XCH A,R4
MOV A,R6
XCH A,R4
XCH A,R5
MOV A,R7
XCH A,R5
MOVX A,@DPTR
MOV R6,#00H
ADD A,R5
MOV R7,A
MOV A,R6
ADDC A,R4
RET
L?0188:
USING 0
L?0189:
MOV DPTR,#0FH
LJMP ?C?LLDOPTR
L?0190:
USING 0
INC DPTR
MOVX @DPTR,A
INC DPTR
L?0191:
MOV A,#01H
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (Scratch)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (Scratch)
MOVX @DPTR,A
CLR A
RET
L?0192:
USING 0
MOV DPTR,#04H
MOV B,A
LJMP ?C?ISTOPTR
L?0193:
USING 0
L?0194:
MOV DPTR,#0BH
LJMP ?C?LLDOPTR0
L?0195:
USING 0
MOV DPTR,#MBR+010H
MOVX A,@DPTR
MOV R5,A
MOV R4,#00H
MOV DPTR,#nr?453
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
LJMP ?C?UIDIV
L?0196:
USING 0
INC DPTR
INC DPTR
MOVX A,@DPTR
L?0197:
MOV DPTR,#0BH
LJMP ?C?LLDOPTR
L?0198:
USING 0
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
L?0199:
ADD A,#0BH
MOV R1,A
CLR A
ADDC A,R2
MOV R2,A
RET
L?0200:
USING 0
L?0201:
CLR A
MOV B,A
LJMP ?C?ISTOPTR
L?0202:
USING 0
L?0203:
MOV R3,#01H
MOV R2,#HIGH (findinfo)
MOV R1,#LOW (findinfo)
RET
L?0204:
USING 0
L?0205:
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
CLR C
RET
L?0206:
USING 0
L?0207:
MOV DPTR,#MBR+010H
MOVX A,@DPTR
MOV R3,A
CLR A
MOV R2,A
MOV R1,A
MOV R0,A
RET
L?0208:
USING 0
MOV R0,A
CLR C
MOV A,R7
SUBB A,R3
MOV R3,A
MOV A,R6
SUBB A,R2
MOV R2,A
MOV A,R5
SUBB A,R1
MOV R1,A
MOV A,R4
SUBB A,R0
MOV R0,A
RET
L?0209:
USING 0
MOV R0,A
CLR C
MOV A,R7
SUBB A,R3
MOV R7,A
MOV A,R6
SUBB A,R2
MOV R6,A
MOV A,R5
SUBB A,R1
MOV R5,A
MOV A,R4
SUBB A,R0
MOV R4,A
RET
L?0210:
USING 0
MOVX A,@DPTR
MOV DPTR,#index?562
L?0211:
ADD A,ACC
MOV R7,A
MOVX A,@DPTR
RLC A
MOV R6,A
RET
L?0212:
USING 0
LCALL ?C?ILDOPTR
ADD A,#LOW (Scratch)
MOV R1,A
MOV A,#HIGH (Scratch)
ADDC A,B
MOV R2,A
MOV R3,#01H
RET
L?0213:
USING 0
LCALL ?C?CSTOPTR
L?0214:
MOV DPTR,#i?146
MOVX A,@DPTR
INC A
MOVX @DPTR,A
RET
L?0215:
USING 0
L?0216:
MOV DPTR,#from?452
LJMP ?C?LSTXDATA
L?0217:
USING 0
MOV A,R6
ANL A,#01H
MOV R6,A
MOV A,#LOW (Scratch)
ADD A,R7
MOV R1,A
MOV A,#HIGH (Scratch)
ADDC A,R6
RET
L?0218:
USING 0
LCALL ?C?LLDPTR0
CLR A
MOV R4,A
MOV R5,A
MOV A,R3
ADD A,R7
MOV R7,A
MOV A,R2
ADDC A,R6
RET
L?0219:
USING 0
MOV DPL,R7
MOV DPH,R6
MOV A,R4
MOV B,R5
LJMP ?C?ISTOPTR
L?0220:
USING 0
MOV DPTR,#index?668
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
RET
L?0221:
USING 0
LCALL ?C?ILDPTR
MOV R7,A
MOV R6,B
CLR A
MOV R4,A
MOV R5,A
MOV A,R4
RET
L?0222:
USING 0
MOV R7,A
LCALL ?C?ULDIV
MOV A,R7
ADD A,#01H
MOV R7,A
CLR A
ADDC A,R6
RET
L?0223:
USING 0
L?0224:
MOV DPTR,#i?146
MOVX A,@DPTR
MOV R7,A
CLR C
RET
L?0225:
USING 0
L?0226:
MOV DPTR,#02H
LJMP ?C?LSTOPTR
L?0227:
USING 0
L?0228:
MOV DPTR,#0BH
LJMP ?C?CLDOPTR
L?0229:
USING 0
L?0230:
MOV DPTR,#013H
LJMP ?C?CLDOPTR
; END OF Com0097
; static BYTE file_name_match(char* filename,char* direntryname)
RSEG ?PR?_file_name_match?F34X_MSD_FILE_SYSTEM
_file_name_match:
USING 0
; SOURCE LINE # 57
MOV DPTR,#filename?040
MOV A,R3
LCALL L?0165
; {
; SOURCE LINE # 58
; xdata BYTE i,j = filename[0];
; SOURCE LINE # 59
LCALL ?C?CLDPTR
MOV DPTR,#j?043
MOVX @DPTR,A
; for(i=0;i<8;i++) {
; SOURCE LINE # 60
CLR A
MOV DPTR,#i?042
MOVX @DPTR,A
?C0001:
MOV DPTR,#i?042
MOVX A,@DPTR
MOV R7,A
CLR C
SUBB A,#08H
JNC ?C0002
; if(direntryname[i] == ' ' && (filename[i] == '\0' || filename[i] == '.'))
; SOURCE LINE # 61
MOV DPTR,#direntryname?041
LCALL L?0154
MOV DPL,R7
LCALL L?0162
MOV R7,A
XRL A,#020H
JNZ ?C0004
MOV DPTR,#filename?040
LCALL L?0154
LCALL L?0158
MOV R6,A
JZ ?C0005
CJNE A,#02EH,?C0004
?C0005:
; {
; SOURCE LINE # 62
; if(!(j == '.' && filename[i] == '.'))
; SOURCE LINE # 63
MOV DPTR,#j?043
MOVX A,@DPTR
XRL A,#02EH
JNZ ?C0002
MOV DPTR,#filename?040
LCALL L?0154
LCALL L?0158
CJNE A,#02EH,?C0002
; break;
; SOURCE LINE # 64
; }
; SOURCE LINE # 65
?C0004:
; if(tolower(direntryname[i])!=filename[i])
; SOURCE LINE # 66
LCALL _tolower
MOV DPTR,#filename?040
LCALL L?0154
LCALL L?0159
XRL A,R7
JZ ?C0003
; return 0;
; SOURCE LINE # 67
MOV R7,#00H
RET
; }
; SOURCE LINE # 68
?C0003:
MOV DPTR,#i?042
MOVX A,@DPTR
INC A
MOVX @DPTR,A
LJMP ?C0001
?C0002:
; j = i+1;
; SOURCE LINE # 69
MOV DPTR,#i?042
MOVX A,@DPTR
INC A
INC DPTR
MOVX @DPTR,A
; for(i = 8; i < 11; i++) {
; SOURCE LINE # 70
MOV DPTR,#i?042
MOV A,#08H
MOVX @DPTR,A
?C0010:
MOV DPTR,#i?042
MOVX A,@DPTR
MOV R7,A
CLR C
SUBB A,#0BH
JC $ + 5H
LJMP ?C0011
; if( filename[j] == '\0' && direntryname[i] != ' ')
; SOURCE LINE # 71
MOV DPTR,#filename?040
LCALL L?0154
MOV DPTR,#j?043
LCALL L?0160
MOV R6,A
JNZ ?C0013
MOV DPTR,#direntryname?041
LCALL L?0154
MOV DPL,R7
LCALL L?0162
XRL A,#020H
JZ ?C0013
; return 0;
; SOURCE LINE # 72
MOV R7,#00H
RET
?C0013:
; if( direntryname[i] == ' ' && (filename[j] == '\0' || filename[j] == '.'
; SOURCE LINE # 73
MOV DPTR,#direntryname?041
LCALL L?0154
INC DPTR
LCALL L?0160
XRL A,#020H
JNZ ?C0014
MOV A,R6
JZ ?C0011
MOV DPTR,#filename?040
LCALL L?0154
MOV DPTR,#j?043
MOVX A,@DPTR
MOV R7,A
LCALL L?0161
XRL A,#02EH
JZ ?C0011
MOV A,R7
ADD A,#0FFH
MOV R7,A
CLR A
ADDC A,#0FFH
MOV R6,A
MOV DPL,R7
MOV DPH,R6
LCALL ?C?CLDOPTR
JZ ?C0011
; || filename[j-1] == '\0'))
; break;
; SOURCE LINE # 75
?C0014:
; if(tolower(direntryname[i]) != filename[j])
; SOURCE LINE # 76
MOV DPTR,#direntryname?041
LCALL L?0154
INC DPTR
LCALL L?0160
MOV R7,A
LCALL _tolower
MOV DPTR,#filename?040
LCALL L?0154
MOV DPTR,#j?043
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -