;LAST UPDATE: 12.11.2018 savelij
SUPPORT_EXT DB "TRDSCLFDITAPSPG$C FNTBMPROM",0
;[СОРТИРОВКА СПИСКА НАЙДЕННЫХ ДИРЕКТОРИЙ/ФАЙЛОВ]
SORT_FINDFILES LD HL,(KOL_FOUNDED)
LD A,H
OR L
RET Z ;ВЫХОД ЕСЛИ НИЧЕГО НЕ НАЙДЕНО
DEC HL
LD A,H
OR L
RET Z ;ВЫХОД ЕСЛИ ДИРЕКТОРИЯ/ФАЙЛ ТОЛЬКО 1
EVOPORT WIN_P3,RAM_TEMP2
LD HL,CPU3+0X1000 ;АДРЕС ПЕРВЫХ СИМВОЛОВ
LD DE,0X1000
LD BC,SYMS4SORT
EXX
LD HL,CPU3+0X2000 ;АДРЕС КУДА СКЛАДИРОВАТЬ СОРТИРОВАННОЕ
LD BC,(KOLFIND)
EXX
;ПЕРВЫЙ ПРОХОД ДЛЯ ДИРЕКТОРИЙ
SORTIR03 LD A,(HL)
AND 0X10
JR Z,SORTIR01
INC HL
LD A,(BC)
CP (HL)
DEC HL
JR NZ,SORTIR01
SBC HL,DE ;ПЕРЕХОД К НОМЕРАМ
LD A,(HL)
INC HL
EXX
LD (HL),A
INC HL
EXX
LD A,(HL)
INC HL
EXX
LD (HL),A
INC HL
DEC BC
LD A,B
OR C
EXX
JR Z,SORTIR05 ;ЕСЛИ КОНЧИЛОСЬ ТО ТОЖЕ САМОЕ ДЛЯ ФАЙЛОВ
ADD HL,DE ;ВОЗВРАТ К ФЛАГАМ И ИМЕНАМ
JR SORTIR03
;НЕ ДИРЕКТОРИЯ, СЛЕДУЮЩАЯ ПАРА
SORTIR01 INC HL
INC HL
EXX
DEC BC
LD A,B
OR C
EXX
JR NZ,SORTIR03
SORTIR05 EXX
LD BC,(KOLFIND)
EXX
LD HL,CPU3+0X1000
INC BC
LD A,(BC)
AND A
JR NZ,SORTIR03
LD BC,SYMS4SORT
LD HL,CPU3+0X1000
;ВТОРОЙ ПРОХОД ДЛЯ ФАЙЛОВ
SORTIR02 LD A,(HL)
AND 0X10
JR NZ,SORTIR04
INC HL
LD A,(BC)
CP (HL)
DEC HL
JR NZ,SORTIR04
SBC HL,DE
LD A,(HL)
INC HL
EXX
LD (HL),A
INC HL
EXX
LD A,(HL)
INC HL
EXX
LD (HL),A
INC HL
DEC BC
LD A,B
OR C
EXX
JR Z,SORTIR07
ADD HL,DE
JR SORTIR02
SORTIR04 INC HL
INC HL
EXX
DEC BC
LD A,B
OR C
EXX
JR NZ,SORTIR02
SORTIR07 EXX
LD BC,(KOLFIND)
EXX
LD HL,CPU3+0X1000
INC BC
LD A,(BC)
AND A
JR NZ,SORTIR02
LD HL,CPU3+0X2000
LD DE,CPU3
LD BC,0X1000
LDIR
RET