Deja Vu
#0A
30 сентября 2000 |
|
Программирование - BOOT изнутри №2 потенциальные глюки и недостатки...
__________________________________________ (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 на стеке сохранять не имеет смысла. ------------------------------------------
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября