8. ИНСТРУМЕНТАЛЬНЫЕ ПРОГРАММЫ
8.1. Определение размера
свободной памяти
Длина: 14
Количество переменных: 0
Контрольная сумма: 1443
Назначение: дает количество
свободного пространства ОЗУ в
байтах.
Вызов программы:
RANDOMIZE USR адрес
Контроль ошибок: нет
Комментарий: эта программа
должна вызываться перед исполь-
зованием любых подпрограмм, ко-
торые могут увеличивать длину
программы, чтобы быть уверенным
в том, что в ОЗУ достаточно сво-
бодного пространства.
ЛИСТИНГ МАШИННЫХ КОДОВ
МЕТКА АССЕМБЛЕР ЧИСЛА ДЛЯ ВВОДА147.
LD HL,0 33 0 0
ADD HL,SP 57
LD DE,(23653) 237 91 101 92
AND A 167
SBC HL,DE 237 82
LD B,H 68
LD C,L 77
RET 2012
Как она работает:
В пару регистров HL загружает-
ся 0, и это значение суммируется
с адресом конца свободной облас-
ти ОЗУ (адрес хранится в SP).
Пара регистров DE загружается
адресом начала свободной облас-
ти ОЗУ и вычитается из HL. HL
копируется в BC и программа воз-
вращается в BASIC.