Ретро - 40 лучших процедур: Определение длины БЕЙСИК-программы.

ZX Review #7-8-9-10


     8.2. Определение длины
        БЕЙСИК-программы

  Длина: 13
  Количество переменных: 0
  Контрольная сумма: 1544
  Назначение: дает длину БЕЙСИК-
программы в байтах.
  Вызов программы:
     PRINT USR адрес
  Контроль ошибок: нет
  Комментарий: нет

   ЛИСТИНГ МАШИННЫХ КОДОВ
МЕТКА  АССЕМБЛЕР      ЧИСЛА ДЛЯ ВВОДА147.

       LD HL,(23627)  42  75  92
       LD DE,(23635) 237 91 83 92
       AND A         167
       SBC HL,DE     237  82
       LD B,H         68
       LD C,L         77
       RET           201
2
  Как она работает:
  В пару регистров HL загружает-
ся адрес области переменных, а в
DE загружается адрес БЕЙСИК-про-
граммы.  DE  вычитается  из  HL,
чтобы получить длину  программы.
HL копируется в BC  и  программа
возвращается в BASIC.