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.