Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Машинно ориентированное программирование
Операции заполнения памяти предусматривают следующие вариции кодов росписи:
FILL char ERASE 0 BLANK пробел
Возможно пересылка блоков памяти:
CMOVE CMOVE> MOVE
+ - * / (n1 n2 -- n3) */ (n1 n2 n3 -- n4) n1 * n2/n3 "рабочая лошадка", эффективно выполняющая часто встречающееся сочетание операций.
* OVER - SWAP DUP * +Пример 4.1. Программа для подсчета по формуле (x,y,z -> x**2 + y * z - x)
Новые слова можно вводить в форме:
: имя опр;
:SQ DUP (-- A,B,B) * SWAP (B**2, A) DUP * (B**2, A**2) +; (B**2 + A**2)Пример 4.2. Введение нового слова SQ для подсчета суммы квадратов (A,B -> A**2 + B**2)
Интерпретирующий автомат для языка Форт по сложности сравним с автоматом для ассемблера. Основная разница - словарь Форта хранит определения произвольной длины, а таблица меток ассемблера хранит адреса фиксированного размера.
Средства размещения слов в словарь:
IMMEDIATE (--) немедленное исполнение в любом состоянии FORGET убрать из словаря
Обозначение систем счисления:
DECIMAL HEX LITERAL
Моделирование переменных и констант:
VARIABLE имя - переменная в словарь знач имя ! - присвоить = запись в переменную имя @ (a -- x) - чтение в стек из переменной знач CONSTANT имя (X --) - создание константы по стеку имя (-- x) - конст -> стек знач VALUE имя (X --) - переименование
Богато представлена логика и операции сравнения:
and or xor not < = > <> <= >= <> 0< 0= 0>
Средства управление процессами - ветвления: условное выражение и переключатель.
усл IF часть-то THEN усл IF часть-то ELSE часть-иначе THEN зн-0 CASE зн-1 OF ветвь1 ENDOF --- --- [ветвь-иначе] ENDCASE
кон-зн нач-зн DO тело-цикла LOOP кон-зн нач-зн DO тело-цикла шаг +LOOP ?DO - м.б. ни разу I - текущее значение счетчика J - внешний цикл UNLOOP сброс счетчика LEAVE выход из цикла ... BEGIN ... AGAIN бесконечный цикл ... усл WHILE ... REPEAT ... !ложь______! ... BEGIN ... усл UNTIL !ист________!
Манипулирование стеками:
n STACK s новый стек S размера N ws PUSH запись в стек S POP перенос в стек данных s POP s ST@ скопировать s ST! сброс стека
Современные реализации Форта предоставляют средства работы с очередями, управления компиляцией, локализации переменных, обработки структур данных. Системы программирования на Форте содержат препроцессор CREATE, средства работы со статическими динамическими метками, объявления отношений, связывания имен, подключения альтернативных словарей и использования системных вызовов. Возможно работа на уровне обычного ассемблера:
CODE ... ENDCODE KEY ввод с клавиатуры KEY? есть ли символ? ACCEPT [=EXPECT ] ввод строки PARSE адр слова в буфере и его длина