Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ;LAST UPDATE: 12.11.2018 savelij
  3.  
  4. SUPPORT_EXT     DB "TRDSCLFDITAPSPG$C FNTBMPROM",0
  5.  
  6. ;[СОРТИРОВКА СПИСКА НАЙДЕННЫХ ДИРЕКТОРИЙ/ФАЙЛОВ]
  7. SORT_FINDFILES  LD HL,(KOL_FOUNDED)
  8.                 LD A,H
  9.                 OR L
  10.                 RET Z                           ;ВЫХОД ЕСЛИ НИЧЕГО НЕ НАЙДЕНО
  11.                 DEC HL
  12.                 LD A,H
  13.                 OR L
  14.                 RET Z                           ;ВЫХОД ЕСЛИ ДИРЕКТОРИЯ/ФАЙЛ ТОЛЬКО 1
  15.                 EVOPORT WIN_P3,RAM_TEMP2
  16.                 LD HL,CPU3+0X1000               ;АДРЕС ПЕРВЫХ СИМВОЛОВ
  17.                 LD DE,0X1000
  18.                 LD BC,SYMS4SORT
  19.                 EXX
  20.                 LD HL,CPU3+0X2000               ;АДРЕС КУДА СКЛАДИРОВАТЬ СОРТИРОВАННОЕ
  21.                 LD BC,(KOLFIND)
  22.                 EXX
  23. ;ПЕРВЫЙ ПРОХОД ДЛЯ ДИРЕКТОРИЙ
  24. SORTIR03        LD A,(HL)
  25.                 AND 0X10
  26.                 JR Z,SORTIR01
  27.                 INC HL
  28.                 LD A,(BC)
  29.                 CP (HL)
  30.                 DEC HL
  31.                 JR NZ,SORTIR01
  32.                 SBC HL,DE                       ;ПЕРЕХОД К НОМЕРАМ
  33.                 LD A,(HL)
  34.                 INC HL
  35.                 EXX
  36.                 LD (HL),A
  37.                 INC HL
  38.                 EXX
  39.                 LD A,(HL)
  40.                 INC HL
  41.                 EXX
  42.                 LD (HL),A
  43.                 INC HL
  44.                 DEC BC
  45.                 LD A,B
  46.                 OR C
  47.                 EXX
  48.                 JR Z,SORTIR05                   ;ЕСЛИ КОНЧИЛОСЬ ТО ТОЖЕ САМОЕ ДЛЯ ФАЙЛОВ
  49.                 ADD HL,DE                       ;ВОЗВРАТ К ФЛАГАМ И ИМЕНАМ
  50.                 JR SORTIR03
  51.  
  52. ;НЕ ДИРЕКТОРИЯ, СЛЕДУЮЩАЯ ПАРА
  53. SORTIR01        INC HL
  54.                 INC HL
  55.                 EXX
  56.                 DEC BC
  57.                 LD A,B
  58.                 OR C
  59.                 EXX
  60.                 JR NZ,SORTIR03
  61. SORTIR05        EXX
  62.                 LD BC,(KOLFIND)
  63.                 EXX
  64.                 LD HL,CPU3+0X1000
  65.                 INC BC
  66.                 LD A,(BC)
  67.                 AND A
  68.                 JR NZ,SORTIR03
  69.                 LD BC,SYMS4SORT
  70.                 LD HL,CPU3+0X1000
  71. ;ВТОРОЙ ПРОХОД ДЛЯ ФАЙЛОВ
  72. SORTIR02        LD A,(HL)
  73.                 AND 0X10
  74.                 JR NZ,SORTIR04
  75.                 INC HL
  76.                 LD A,(BC)
  77.                 CP (HL)
  78.                 DEC HL
  79.                 JR NZ,SORTIR04
  80.                 SBC HL,DE
  81.                 LD A,(HL)
  82.                 INC HL
  83.                 EXX
  84.                 LD (HL),A
  85.                 INC HL
  86.                 EXX
  87.                 LD A,(HL)
  88.                 INC HL
  89.                 EXX
  90.                 LD (HL),A
  91.                 INC HL
  92.                 DEC BC
  93.                 LD A,B
  94.                 OR C
  95.                 EXX
  96.                 JR Z,SORTIR07
  97.                 ADD HL,DE
  98.                 JR SORTIR02
  99.  
  100. SORTIR04        INC HL
  101.                 INC HL
  102.                 EXX
  103.                 DEC BC
  104.                 LD A,B
  105.                 OR C
  106.                 EXX
  107.                 JR NZ,SORTIR02
  108. SORTIR07        EXX
  109.                 LD BC,(KOLFIND)
  110.                 EXX
  111.                 LD HL,CPU3+0X1000
  112.                 INC BC
  113.                 LD A,(BC)
  114.                 AND A
  115.                 JR NZ,SORTIR02
  116.                 LD HL,CPU3+0X2000
  117.                 LD DE,CPU3
  118.                 LD BC,0X1000
  119.                 LDIR
  120.                 RET
  121.