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

Учебной машины модели 1 в действительности не существует. Однако, следуя традиции, она заимствует характерные черты нескольких известных машин. УМ-1 проще многих компьютеров из пластика и металла, но именно это позволяет больше внимания уделить ее структуре. Приводимое описание не претендует на полноту, характерную для руководств по ЭВМ — для такого изложения потребовалось бы дополнительное место, а его у нас нет. Чтобы восполнить пробелы, необходимо обратиться к собственным знаниям о других компьютерах. Численные значения везде, где они будут встречаться ниже, представлены в шестнадцатеричной системе (по основанию 16), как наиболее удобной для машины. Память и регистры ЭВМ УМ-1 снабжена памятью из 216 8-разрядных байтов, адресуемых от 0 до 216-1. Каждый байт памяти может содержать одну из 256 литер в коде ASCII [41], воспроизведенном на рис. 25.1. Любая группа четырех смежных байтов, адрес самого левого из которых делится нацело на четыре, является словом

Рисунок 25.1. Набор кодировок символов ASCII. Позиции, отмеченные знаком , в УМ-1 не употребляются. Символ NUL не воспринимается; знаком NL заканчивается запись; LF вызывает переход на новую строку; CR — возврат каретки; FS — переход на новую страницу.

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

Вычисления производятся с помощью 16 общих регистров размером в одно слово, перенумерованных от 0 до 15. Эти регистры располагаются в первых 64 байтах памяти, и любое обращение к байту с адресом от 0 до 63 связывается на самом деле с соответствующим байтом в блоке регистров. В некоторых командах указатель регистра рассматривается как адрес байта, вычисляемый умножением указателя на четыре. Отметим, что нумерация разрядов в слове, литере или иной конструкции будет всегда начинаться с 0 и вестись слева направо.

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

Рисунок 25.2. Схема основной памяти. Обратите внимание, что к регистрам можно адресоваться как к памяти.

Регистр признака результата (РПР) содержит 4 двоичных разряда. Чаще всего формирование РПР является побочным результатом выполнения команды, и его содержимое может опрашиваться командами передачи управления. Четыре разряда этого регистра — признак результата — называются (слева направо) соответственно бит переполнения, бит больше, чем, бит меньше, чем, и бит равно. В случае когда содержимое РПР задается непосредственно в команде, РПР сначала полностью обнуляется, а затем уже требуемые разряды устанавливаются равными 1. Если происходит переполнение, устанавливается лишь бит переполнения. Опрос состояния РПР не влияет на его содержимое.

Типы данных в машине

О литерах выше уже упоминалось. Иногда их рассматривают как положительные 8-разрядные целые числа. Слова могут содержать 32-разрядные целые числа в дополнительном коде. Нулевой разряд в слове является разрядом знака и равен нулю в случае положительных чисел и единице — в случае отрицательных (знак является признаком дополнительного кода). Когда более короткие целые со знаком, например, обсуждаемые ниже непосредственные операнды, выступают в комбинации со словами, знаковый разряд укороченного слова размножается влево, заполняя отсутствующие биты.

Вещественные числа занимают также одно слово. Нулевой разряд определяет знак числа, разряды с 1-го по 7-й образуют порядок, а разряды с 8-го по 31-й — мантиссу. Положительные вещественные числа в знаковом разряде имеют нуль, поле порядка содержит показатель степени 16, увеличенный на 4016, а мантисса представляет собой 24-разрядную нормализованную шестнадцатеричную дробную часть числа, причем считается, что шестнадцатеричная точка стоит в мантиссе слева от старшей цифры. Нормализованность шестнадцатеричной мантиссы означает, что, по крайней мере, самая левая ее шестнадцатеричная цифра отлична от нуля, если таковая вообще имеется. Если мантисса получилась нулевой, то все число полагается равным нулю. Любой конечный результат операции действительной арифметики, который из-за ограниченности поля порядка не может быть представлен в слове, вызывает особый случай некорректности представления. Отрицательные вещественные числа представляют собой двоичное дополнение соответствующих положительных значений. В командах с вещественным непосредственным операндом применяются специальные короткие вещественные числа, образуемые отбрасыванием трех самых правых цифр мантиссы.

Форматы команд
Перейти на страницу:

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

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

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

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

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

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

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

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