Главная » Просмотр файлов » Д. Кнут - Искусство программирования том 1

Д. Кнут - Искусство программирования том 1 (1119450), страница 34

Файл №1119450 Д. Кнут - Искусство программирования том 1 (Д. Кнут - Искусство программирования том 1) 34 страницаД. Кнут - Искусство программирования том 1 (1119450) страница 342019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 34)

С помощью четырех соседних байтов можно выразить числа от 0 до 16 777 215. С помощью пяти соседних байтов можно выразить числа от О до 1 073 741 823. Мазппнное слово состоит из пяти байтов н знака. Знак может принимать только два значения: и+и и "— ". Регистры. В компьютере И1Х всего девять регистров (рис. 13).

Регистр А (аккумулятор) содержит 5 байт и знак. Регистр Х (расширение аккумулятора) тон е содержит 5 байт и знак В регистрах 1 (индексных регистрах) П, 12, 13, 14, 15 и 16 содержится по два байта и знак. Регистр 1 (адрес перехода) содержит два байта; его знак — всегда ч+".

Для обозначения регистра компьютера И1Х будем использовать в качестве приставки к имени регистра строчную букву иг'. Таким образом, и«Ав обозначает "регистр А", 1'егистр А имеет много применений, особенно часто он используется при выполнении арифметических действий и операций над данными. Регистр Х используется " Приблизительно с 1975 гада слово "байт" стало обозначать последовательность, состоящую ровно из восьми двоичных цифр, что позволяет представлять числа от 0 до 255 Позтому размера байтов реальных компьютеров больше, чем размеры байтов гипотетической машины М1Х И в самом деле, старомодные байты компьютера М1Х только чуть-чуть больше, чем половина байта реального компьютера Говоря о байтах применительно к М1Х, мы будем придерживаться прежнего значения етого глава, вновь возвращаясь к тем дням, когда понятие байта еще не было так стандартизовано Регистр А Регистр Х Регистр 11 114 1! 5 О ° ° Флаг (Е ) Инлнкатор пеРеполнения Я © срявнения Регистр 12 Регистр 13 Регистр 14 Регистр 15 Регистр 16 Регистр 1 533 3 рй$ а ь Магнитные ленты Диски и барабаны 1!О Ш "° 1!7 1!8 .

° ° !Л4 Б!5 Шб Ш7 1!!8 Ш9 Рис. 13, Компьютер И11. для расширения вправо регистра А и вместе с гА — для хранения 10 байт произведения или делимого. Он может применяться и для хранения информации, сдвинутой вправо из гА, Индексные регистры г11, г12, г?3, г14, г15 и г16 используются, главным образом, как счетчики и для ссылок на различные адреса памяти. В регистре Я всегда хранится адрес команды, которая следует за последней операцией "перехода"; этот регистр используется, главным образом, для вызова подпрограмм. Помимо регистров, компьютер И1Х содержит следующие элементы: триггер переполнения (один бит, который может принимать значение "нуль" или "единица"); флаг сравнения (принимающий одно из трех значений. ЬЕ88 (меньше), ЕЦОАЬ (равно) и ОЕЕАТЕЕ (больше)); память (4 000 слов, каждое из которых состоит из 5 байт и знака); устройсглва ввода-вывода (перфокарты, ленты, диски и т.

д.), Структура машинного слова. 5 байт и знак, из которых состоит машинное слово, нумеруются следующим образом: (2) Большинство команд таковы, что программист может при желании использовать только часть слова. В подобных случаях можно задать нестандартную "спецификацию поля". При этом допустимо использовать поля, которые являются соседними в машинном слове; они обозначаются в виде (Ь В), где Ь вЂ” номер левой, а  — номер правой части поля. Приведем примеры спецификации полей: (О:0)г только знак; (О: 2): знак и первые два байта; (О: 5): целое слово; это самая распространенная спецификация поля; (1:5): все слово, кроме знака; (4:4): только четвертый байт; (4:5): два младших значащих байта.

Использование спецификации поля несколько меняется от команды к команде; при рассмотрении каждой команды мы поговорим об этом более подробно. На самом деле каждая спецификация поля (Ь:В) представляется внутри компьютера одним числом — 8Ь + В; заметим, что это число легко помещается в одном байте Формат команды. Машинные слова, используемые как команды, имеют следующий формат: (3) Крайний байт справа, С,— это код операции, который указывает, какая операция должна быть выполнена.

Например, С = 8 определяет операцию ЬОАе, "загрузить регистр А". Байт г определяет модификацию кода операции. Обычно это спецификация поля (Ь:В) = 8Ь+ В. Например, если С = 8 и г = 11, то операцией будет "загрузить в регистр А поле (1:3)е Иногда г используется для других целей Например, для команд ввода-вывода г — это номер соответствующего входного или выходного устройства. 1,РА — сокращеиие от "1оао гве А генмег" — Прим иерее Форма записи.

Чтобы сделать команды более читабельными, для обозначения команды типа (3) будет использоваться следующая форма записи: (4) ОР АОРЯЕЯЯ,1(Е) . Здесь ОР— символическое имя кода операции (часть С) команды, АОРЯЕЯЯ вЂ” часть ~АА, 1 и Іпо 1 и Р соответственно. Если 1 равно нулю, то запись ",1" опускается. Если Р— стандаргпная Р- спецификация для данной команды, то запись "(Г)" использовать не нужно. Практически для всех команд стандартной Р-спецификацией является (О:5), что соответствует целому слову. Если же стандартной является другая спецификация Р, то она будет упомянута особо при описании конкретной команды Например, команда загрузки числа в аккумулятор называется ЕРА и ее код операции — 8.

Имеем следующее. Условное представление Реальное представление команды в цифровом виде ЕРА 2000,2(0:3) ЕОА 2000,2(1."3) 1,РА 2000(1:3) ЕРА 2000 ЕОА -2000,4 (5) Команда 5ЕОА 2000,2(0: 3)" читается следующим образом: "Загрузить в регистр А содержимое ячейки 2000 с индексом 2, поле "нуль-три". Левая часть команды, хАА, определяет адрес. (Обратите внимание, что знак является частью адреса.) Поле 1, которое следует за адресом, — это спецификация индекса, которую можно применять для модификации фактического адреса. Если 1 = О, то адрес хАА используется без изменений. В противном случае в поле 1 должно содержаться число 1 от 1 до 6, и тогда содержимое индексного регистра В алгебраически добавляется к ~АА перед выполнением команды.

Полученный результат используется как адрес. Процесс индексирования выполняется для каждой команды. Обозначим буквой "М" адрес, получаемый после каждой операции индексирования. (Если после добавления содержимого индексного регистра к адресу ~АА получается результат, который не помещается в двух байтах, то значение М будет неопределенным.) Для большинства команд М указывает на ячейку памяти. Термины "ячейка памяти" и "адрес ячейки памяти" в этой книге почти всегда являются эквивалентными.

Предполагается, что имеется 4 000 ячеек памяти с номерами от 0 до 3 999 Поэтому адрес каждой ячейки можно представить с помощью двух байтов. Для каждой команды, в которой М обозначает ячейку памяти, должно выполняться неравенство 0 < М ( 3999. В этом случае запись СОЯЕЕНТЯ(М) будет обозначать величину, которая хранится в ячейке с адресом М. Для некоторых команд "адрес" М имеет несколько иной смысл; он может даже быть отрицательным.

Так, например, одна команда добавляет М к индексному регистру и при этом принимается во внимание знак М. Для представления цифрового содержимого слова М1Х будем использовать клеточную запись, как было сделано выше. Обратите внимание, что в слове + 2000 2 3 8 число +2000 занимает два соседних байта и знак.

Заметим, что реальное содержимое байта (1:1) и байта (2: 2) будет меняться при переходе от одного компьютера М1Х к другому, так как меняется размер байта. В следующем примере подобной записи 10000 3000 представлено слово, состоящее из двух полей. В первом поле, содержащем три байта и знак, находится число — 10000, а во втором поле, размером два байта, — число 3000. Когда слово разбито на несколько полей (т. е. содержит более одного поля), говорят„ что оно "упаковано". Описания команд.

В замечаниях, следующих за записью (3) (см. выше), были определены величины М, Е и С для любого слова, используемого в качестве команды. А теперь определим действия, соответствующие каждой команде. Команды загрузки ° 1.РА (!оас! А — загрузить А). С = 8; Г = псле. Заданное поле СОМТЕМТЯ(М) заменяет предыдущее содержимое регистра А. Во всех операциях, в которых в качестве входного значения используется частичное поле, знак учитывается, если он является частью этого поля; в противном случае берется знак "+".

По мере загрузки поле сдвигается в правую часть регистра. Примеры. Если à — стандартная спецификация поля (О:5), то все содержимое ячейки М копируется в гА. Если Р— спецификация (1:5), то абсолютное значение СОМТЕМТБ (М) загружается со знаком "+". Если в М содержится команда и Š— это спецификация (О:2), поле и~АА" загружается как 0 0 0 А А Предположим, в ячейке с адресом 2000 содержится слово (6) 80 3 Б 4 тогда, загружая различные частичные поля, получим следующие результаты.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6417
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее