Транслятор Бейсика не накладывает ограничение 64K на суммарный
объем кода и данных. Но сам компилятор ограничен тем количеством
памяти, которое он может использовать при компиляции. Если этого
пространства недостаточно, то уничтожьте все ненужные номера
строк при помощи ключа компиляции /N. Можно также использовать
более короткие имена переменных.
Средний уровень.
Прерывание 12H BIOS проверяет установку переключателей и возв-
ращает в AX количество килобайт памяти в системе. Эта величина
вычисляется из установки регистров микросхемы 8255 или, для AT,
микросхемы конфигурации/часов. Входных регистров нет. Имейте
ввиду, что установка переключателей может быть неверной, что
ограничивает достоверность такого подхода.
Для определения числа 16-байтных параграфов, доступных для
DOS, используйте функцию 4AH прерывания 21H. ES должен иметь то
же значение, что при старте задачи:
;-определение числа параграфов доступных для DOS
MOV AH,4AH ;указываем нужную функцию
MOV BX,0FFFFH ;требуем слишком большую память
INT 21H ;BX содержит число доступных параграфов
AT использует функцию 88H прерывания 15H для проверки наличия
расширенной памяти, которая ищет память вне адресного пространст-
ва процессора в обычном режиме адресации. Говорят, что она ищет
память за отметкой 1 мегабайта. При этом на системной плате дол-
жно быть от 512 до 640 килобайт памяти, чтобы эта функция рабо-
тала. Число килобайтных блоков расширенной памяти возвращается в
AX.
Предыдущая страница 29 Следующая страница
891669246
|