Изменения в векторной таблице связи
Формат векторной таблицы связи для MS-DOS версии 5.0 практически идентичен используемому версией 4.0. В этой таблице добавился указатель на список программ, для которых драйвер SETVER.EXE
выполняет подстановку значения версии MS-DOS.
Приведем формат векторной таблицы связи для MS-DOS версии 5.0:
(-02h) 2 | mcb_seg | сегмент первого управляющего блока памяти (MCB) |
(00h) 4 | dev_cb | указатель на первый блок управления устройствами DOS (DOS Device Control Block) |
(+04h) 4 | file_tab | указатель на таблицу файлов DOS |
(+08h) 4 | clock_dr | указатель на драйвер CLOCK$, установленный или резидентный |
(+0Ch) 4 | con_dr | указатель на актуальный драйвер CON, установленный или резидентный |
(+10h) 2 | max_btbl | максимальное число байт в блоке блочного устройства |
(+12h) 4 | disk_buf | указатель на структуру, описывающую дисковые буфера |
(+16h) 4 | drv_info | укзатель на массив информации об устройствах |
(+1Ah) 4 | fcb_tabl | указатель на таблицу FCB |
(+1Eh) 2 | fcb_size | размер таблицы FCB, для версии MS-DOS 5.0 в этом поле находится значение 00h |
(+20h) 1 | num_bdev | число блочных устройств |
(+21h) 1 | lastdriv | значение LASTDRIVE в файле CONFIG.SYS (по умолчанию равно 5) |
(+22h) 18 | null_dr | заголовок драйвера NUL - первого драйвера в списке драйверов DOS |
(+34h) 1 | joined | количество устройств, подсоединенных при помощи команды JOIN |
(+35h) 2 | special_prg | смещение внутри сегмента кода IBMDOS списка специальных программ, для MS-DOS 5.0 в этом поле находится 0000h |
(+ 37h) 4 | setver_list | указатель на список программ, для которых драйвер SETVER.EXE выполняет подстановку значения версии MS-DOS |
(+3Bh) 4 | internal_1 | используется MS-DOS |
(+3Fh) 2 | buffers_x | значение x в команде BUFFERS x,y |
(+41h) 2 | buffers_y | значение y в команде BUFFERS x,y |
(+43h) 1 | boot_drive | номер дискового устройства, использованного для загрузки MS-DOS (1 - A:) |
(+44h) 1 | cpu_type | 01h, если используется процессор 80386 или 80486, 00h для 8086 - 80286. |
(+45h) 2 | extended_mem | размер установленной расширенной памяти в килобайтах |