Читаем Этюды для программистов полностью

Встречаются команды короткие — в двухбайтовом формате — и длинные — четырехбайтовые. Все команды должны располагаться с границы четных байтов: если перед началом цикла выполнения команды в САК оказывается нечетный адрес, возникает особый случай запрещенного адреса команды. Первый байт любой команды содержит косвенный бит [42] в разряде 0 и код операции (КОП) в разрядах с 1-го по 7-й. Не все коды операций имеют смысл, и не во всех командах используется косвенный бит. Появление запрещенного КОП вызывает особый случай некорректной команды. В большинстве команд в разрядах с 8-го по 11-й указывается либо общий регистр, либо 4-разрядная литерная константа, употребляемая в качестве маски, а в разрядах с 12-го по 15-й задается второй общий регистр.

Имеются четыре вида команд: регистр-регистр (двухбайтовые команды), регистр-память, непосредственная и байтовая. Каждый тип отличается присущей ему характерной интерпретацией и способом адресации, которые мы сейчас и рассмотрим подробнее.

1. Регистр-регистр. Во всех командах типа регистр-регистр в разрядах с 12-го по 15-й указывается регистр, выступающий в качестве одного из операндов команды. Если задан косвенный бит, то операнд расположен по адресу, содержащемуся в 16—31-м разрядах регистра, номер которого указан в 12—15-м разрядах команды. В разрядах с 8-го по 11-й может быть задан или регистр, или маска. В командах CCS и MCS косвенный бит не используется. 

Рисунок 25.3. Форматы представления информации,

2. Регистр-память. Обычно в командах типа регистр-память в разрядах с 8-го по 11-й указывается регистр или 4-разрядная маска, и они выступают в качестве одного из операндов. Остальная часть команды используется для формирования исполнительного адреса по следующему правилу:

— Если косвенный бит равен 0 и указатель индекс-регистра (разряды с 12-го по 15-й) равен 0, то исполнительный адрес дается полем адреса (разряды с 16-го по 31-й) команды.

— Если косвенный бит равен нулю, а указатель индекс-регистра нулю не равен, то адресная часть команды дополняется слева нулями и складывается (разумеется, в дополнительном коде) с содержимым индекс-регистра. Разряды 16—31 результата образуют исполнительный адрес. Содержимое индекс-регистра не изменяется,

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

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

3. Непосредственная. Во всех непосредственных командах регистр указывается в разрядах с 8-го по 11-й, а в разрядах 12—31 содержится непосредственный операнд. В качестве непосредственного операнда может выступать 20-разрядное целое в дополнительном коде, 20-разрядный логический вектор или же действительное число в коротком формате. В командах с непосредственным операндом косвенный бит игнорируется.

4. Байтовая. Команды байтового типа выполняются аналогично командам типа регистр-память.

Описание команд

Опишем в этом разделе каждую команду. В первой строке описания приводится краткая справка, состоящая из названия команды, ее формата (RR, RS, IM, СН[43]), шестнадцатеричного кода операции, записи команды на языке ассемблера[44] и перечисления разрядов регистра признака результата, которые могут командой изменяться. Затем следует словесное описание. Содержимое РПР, устанавливаемое в результате выполнения команды, обозначает- обозначается символами О, L, G, Е[45]) или Нет (указание на то, что РПР не изменяется).

Load Register RR 0016 LR,R1 R2 GLE (Загрузка регистра)

В регистр R1 пересылается содержимое слова по исполнительному адресу. Пересылаемое значение сравнивается с нулем, и в РПР устанавливается соответствующий разряд: G, L или Е[46]). Если исполнительный адрес не попадает на границу слова, происходит особый случай неверной адресации слова.

Load RS 2016 L, R1A, R2 GLE (Загрузка)

Эта команда выполняется аналогично команде Load Register с тем отличием, что исполнительный адрес вычисляется по правилу адресации команд типа регистр-память.

Load Immediate IM 4016 LI,R1 I GLE (Загрузка непосредственная)

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных