Учебное пособие по языку ФОРТ
- Автор: ИТФ «Технофорт»
- Жанр: Современные российские издания / Литература ХX века (эпоха Социальных революций) / Программирование: прочее / Forth
- Дата выхода: 1993
Читать книгу "Учебное пособие по языку ФОРТ"
22. Ассемблер
Форт является одним из самых быстрых и эффективных языков программирования и широко используется в системах реального времени и специализированных приложениях. Такие программы обычно пишутся на "высокоуровневом" Форте. Однако можно значительно ускорить их выполнение, переписав интенсивно используемые слова в машинных кодах. Для этой цели Форт-система имеет встроенный Форт-ассемблер, который вдобавок позволяет непосредственно обращаться к аппаратуре и операционной системе. Рекомендуем именно переписать критичные по времени участки программы после того, как она будет отлажена.
Новое определение создается по форме
CODE <имя-слова> <ассемблерная программа> END-CODE
Ассемблерная программа представляет собой запись операторов машинного кода в обратной польской записи. Определенное таким образом слово вызывается и выполняется подобно Форт-слову. Оно может работать со значениями из стека, что позволяет передавать аргументы так же, как в Форт-словах. Основное отличие состоит в том, что слово "CODE" устанавливает контекст словаря ассемблерных мнемоник "ASSEMBLER". В этом же словаре имеются ассемблерные версии структур управления (условных операторов и циклов).
Любое ассемблерное определение должно завершаться вызовом адресного интерпретатора. То есть ассемблерная программа должна заканчиваться словами "NEXT JMP".
Слово "END-CODE" восстанавливает контекст словаря "FORTH".
Рассмотрим реализацию операции "SWAP" на Форт-ассемблере микропроцессора K1810:
CODE SWAP AX POP BX POP AX PUSH BX PUSH
NEXT JMP
END-CODE
Преимуществом Форт-ассемблера является его расширяемость и "встроенность в Форт". Внутри ассемблерного определения можно воспользоваться определением через ":" как макрокомандой; можно обратиться к переменной.
Примеры использования машинных слов дает сама Форт-система. Ha Форт-ассемблере написаны слова для обмена с терминалом и диском (обычно через обращения к операционной системе) и основные слова ядра.