Способ мышления-Форт


Глава 5. Разработка: элементы Форт-стиля - часть 13


Кроме того, при чтении листинга Вы всегда знаете, что номера блоков - десятичные, независимо от потребностей самих блоков в системе счисления HEX.

На некоторых предприятиях это правило проводят даже дальше. Вместо того, чтобы по-простому исполнять DECIMAL в конце, на них возвращают основание системы счисления к `тому, каким оно было вначале`. Этот дополнительный предохранительный элемент может быть выполнен таким способом:

BASE @ HEX \ сохранить исходн. состояние на стеке 0A2 CONSTANT ЗВОНКИ 0A4 CONSTANT СВИСТКИ ... и т.д. ... BASE ! \ восстановить сост. системы счисления

Порой аргументы передаются через стек от блока к блоку, например, числа, возвращаемые словом BEGIN или IF в многоблочном ассемблерном определении, или базовый адрес, передаваемый от одного определяющего слова к другому - см. "Разбиение При Компиляции" в главе 6. В этих случаях лучше сохранять значение основания на стеке возвратов:

BASE @ >R HEX ... и т.д. ... R> BASE !

В некоторых организациях такой подход обязателен для любого блока, который меняет основание системы счисления, поэтому им не нужно об этом беспокоиться.

Мур предпочитает определять слово LOAD так, чтобы оно вызывало DECIMAL после загрузки. Такой подход упрощает содержимое блока, поскольку Вам самим не нужно заботиться о восстановлении основания.

ПРОПУСКИ И ОТСТУПЫ.

------------------------------------------------------------ СОВЕТ Без пропусков и отступов не может быть читаемости. ------------------------------------------------------------

Примеры в этой книге соответствуют широко распространенным соглашениям по стилю пропусков и отступов. Читаемость обеспечивается правильно используемыми пустыми местами. При этом нет никакого проигрыша, кроме увеличенного расхода дешевой дисковой памяти.

Для тех, кто любит четко изложенные правила, в таблице 5-1 указаны основные постулаты. (Но помните, что для интерпретатора Форта не ничего менее значительного, чем Ваши отступы и пропуски.)

Таблица 5-1. Основные отступы и пропуски.




Начало  Назад  Вперед