Язык Форт и его реализации



         

Встроенный ассемблер - часть 3


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

Включение запятой в имя слова для кода команды, с одной стороны, подчеркивает тот факт, что данное слово компилирует команду, а с другой стороны, позволяет отличать, например, часто встречающиеся мнемоники ADD, СН и т.д. от чисел, заданных в шестнадцатиричной системе.

В табл. 2.1 приведена запись одних и тех же машинных команд в традиционном ассемблере и встроенном ассемблере разных форт-систем для нескольких распространенных типов ЭВМ. Как и в случае реализации структур управления, во встроенный ассемблер можно включить дополнительные средства контроля, которые, учитывая формат машинных команд, проверяют правильность задания их операндов.

Таблица 2.1. Сравнительная запись машинных команд в традиционном ассемблере и встроенном ассемблере форт-системы

Тип ЭВМ

Традиционный ассемблер

Встроенный ассемблер
форт-системы

СМ-4 CMPB #12, (R1)+
JMP  NEXT
RTS
12 # R1 )+ CMPB,
NEXT JMP,
RTS,
ЕС ЭВМ STM  14,12,12(13)
BALR 15,0
B    NEXT
14 12 12 (, 13 STM,
15 0 BALR,
NEXT B,
К580 MOV A,B
LXI H,15
POP H
A B MOV,
H 15 LXI,
H POP,
БЭСМ-6 , UTC, =I5
, XTA,
3, UTC, 777
0 0 5 # # UTC,
0 0 XTA,
3 777 UTC,

В рассмотрена реализация полного встроенного ассемблера для микропроцессора К580, занимающая 100 строк текста на языке Форт.

Встроенный ассемблер форт-систем часто делают «структурным», т.е. включают в него операторы ветвления и циклы, выполняющие переходы по значению управляющих разрядов в специальном регистре. По аналогии с такими же средствами языка Форт эти структуры задают с помощью тех же слов с добавлением запятой: IF, THEN, ELSE, BEGIN, UNTIL, и т.д. При этом вводят слова, обозначающие различные состояния управляющих сигналов, а слова, реализующие структурные операторы компилируют команды переходов, соответствующие указанным состояниям.


Содержание  Назад  Вперед