//////////////////////////////////////////////////////////////////////// ; Функция #10. Переименование файла. ; Глобальные символы * и ? в именах файлов не допускаются. ; ; вход: HL - указатель на старое имя файла ; DE - указатель на новое имя файла ; выход: A - код ошибки, если CF=1 ; ; INPUT: HL - "old_name.ext",#00 without simbols * ? ; DE - "new_name.ext",#00 without simbols * ? //////////////////////////////////////////////////////////////////////// RENAME: ;!TEST Current Dir ;[x] 15/10/23 PUSH HL PUSH DE CALL DIR_PATH_CHECK.forceCheck POP DE POP HL RET C ; PUSH DE ;LD DE,MASKARE CALL MASK.name POP DE RET C ;!TEST optimization ;LD HL,MASKARE ;LD BC,11 ;LD A,"?" ;CPIR ;LD A,DSS_Error.sys.INVALID_NAME ;SCF CALL CHECK_NAME ; RET Z PUSH DE CALL LOADDIR ; прочитать список каталога ;LD A,#33 LD A,FAT_ATTR.NoSYSnoVolID CALL SEARCH.Custom ; поиск записи в списке диска POP HL RET C ;LD DE,MASKARE CALL MASK.name RET C ;!TEST optimization ;LD HL,MASKARE ;LD BC,11 ;LD A,"?" ;CPIR ;LD A,DSS_Error.sys.INVALID_NAME ;SCF CALL CHECK_NAME ; RET Z PUSH IX LD A,FAT_ATTR.NoSYSnoVolID CALL SEARCH.Custom ; поиск записи в списке диска POP IX LD A,DSS_Error.sys.FILE_EXISTS CCF RET C SET_PAGE_X DIRPAGE LD HL,MASKARE LD D,XH LD E,XL LD BC,11 LDIR OUT (SLOT3),A JP SAVEDIR ;