__________________________________________
(C) Сизенко Александр
__________________________________________
Прочитал статью Колесникова "BOOT из-
нутри" и хочу поделиться некоторыми заме-
чаниями. Раз мы разбираем чужую программу,
то, естественно, должны указать на ее по-
тенциальные глюки и недостатки...
1. Если каталог из стертых и имеющихся
файлов будет забит под завязку (все 8 сек-
торов), таблица из названий файлов будет
сформирована неправильно (нет проверки).
2. Если на диске более 66 Бейсик-программ,
список начнет скролироваться, со всеми вы-
текающими отсюда последствиями (нет про-
верки).
3. При запуске, из-за применения для рас-
чета адреса начала названия двух команд
RLCA RLCA,файлы под номером 65 и 66 запус-
каться не будут (при отсчете от единицы).
4. Если диск пуст, то мы с успехом можем
загрузить нечто. Раньше это было бы менее
заметно, т.к. выскакивал сам boot, теперь
же, после "доработки" ситуация становится
более "глюкогенной".
5. Перед запуском программы мы восстанав-
ливаем режим OVER 0,а INVERSE 0 - нет. Де-
лаем также атрибуты нечитаемыми.
6. И весьма желательно очистить после себя
память.
Теперь хочу сделать замечания к некото-
рым комментариям, т.е. добавить свои (учи-
тывая, что это все же кодинг для начинаю-
щих).
TEXTR LD (DE),A
Эта команда нужна при повторном переза-
пуске (в том случае, если количество бей-
сик-программ меньше).
LAB_8 ...
Это п/п печати текущего заголовка в ин-
версии (путем наложения пробелов по OVER1)
или же восстановление последнего выбранно-
го объекта (повторным наложением по OVER1)
KLAWA SET 5,A
По сути дела выключает возможный CAPS
LOCK.
AGAIN ...
Вернее всего будет install boot'а на
новый диск без всяких проверок.
Переменные VAR_1; Номер выбранного файла.
VAR_2; Номер последнего выб-
ранного файла при переходе к следующему
объекту.
7. HL на стеке сохранять не имеет смысла.
------------------------------------------
Other articles: