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

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

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

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

С = 48+ 1: Р = 1. Этн восемь команд аналогичны 1ИСА, 1ИСХ и 1ИС? соответственно, но только М не добавляется к содержимому регистра, а вычитается из него. Обратите внимание, что для команд ЕИТА, ЕИИА, 1ИСА и 0ЕСА используется один и тот же код операции С; поле Р используется для того, чтобы можно было отличить одну операцию от другой. Команды сравнения. При выполнении всех команд сравнения И1Х сравнивается величина, содержащаяся в регистре, с величиной, содержащейся в памяти. Затем для флага сравнения устанавливается значение ?ЕЯЯ (меньше), ЕЦОА1 (равно) или ОИЕАТЕН (больше) в зависимости от того, будет ли содержащееся в регистре значение меньше, равно или больше величины, содержащейся в ячейке памяти.

При этом нуль со знаком "-" считается равным нулю со знаком "+". ° СИРА (сошраге А — сравнить А). С = 56; Р = поле. Заданное поле гА сравнивается с тем же полем СОИТЕИТЯ(М). Если Г не содержит бит знака, то оба поля считаются неотрицательными; в противном случае сравнение выполняется с учетом знака. (Равенство всегда буде~ результатом сравнения, если Р— это (О:О), так как нуль со знаком "—" равен нулю со знаком '+".) ° СИРХ (сотраге Х вЂ” сравнить Х). С = 63; Р = поле. Эта команда аналогична СИРА. ° СИР? (сошраге 1 — сравнить 1).

С = 56+ т'; Р = поле. Аналог СИРА. Байты 1, 2 и 3 индексного регистра при сравнении считаются нулевыми. (Поэтому, если Р = (1; 2), результатом сравнения не может быть знак ОНЕАТЕИ (больше).) Команды перехода~ Команды обычно выполняются последовательно. Другими словами, команда, которая выполняется после команды из ячейки Р, обычно находится в ячейке Р "+ 1. Но команды "перехода" позволяют нарушить этот последовательный ход выполнения. При выполнении типичной команды перехода в регистр Л заносится адрес следующей команды (т. е.

команды, которая оказалась бы следующей, не будь перехода). Затем в случае необходимости программист сможет использовать "адрес Ль для определения адресного поля другой команды, чтобы вернуться к первоначальному месту программы. Содержимое регистра Л меняется при каждом переходе в программе, за исключением случая, когда используется команда перехода ЛЯЛ. Если перехода нет, содержимое этого регистра измениться никак не может, ° ЛМР (Лцшр — перейти). С = 39; Е = О. Команда безусловного перехода: следующая команда выбирается из ячейки М.

° ЛЯЛ ()шпр, ваге Л вЂ перей, сохранить Л). С = 39; Г = 1. Эта команда идентична ЛИР, но только содержимое гЛ не меняется. ° ЛОЧ ()шпр оп огегбов †перей при переполнении). С = 39; Е = 2. Если для флага переполнения установлено значение 1, то он переключается в положение 0 и выполняется команда ЛМР; в противном случае ничего не происходит. ° ЛМОУ (1шпр оп по очегбок †перей, если нет переполнения). С = 39; Е = 3. Если для флага переполнения установлено значение О, то выполняется команда ЛИР; в противном случае ничего не происходит. ° Л1,, ЛЕ, ЛО, ЛОЕ, ЛМЕ, Л!.Я (Лцшр оп !езв, ес!ца!, кгеагег, Ягеагег-ог-ег!па), ппецпа1, !езз-ог-ес!па! — перейти, если меньше, равно, больше, больше или равно, не равно, меньше или равно).

С = 39; Е = 4, 5, 6., 7, 8, 9 соответственно. Переход осуществляется в случае, если для флага сравнения установлено указанное значение. Например, по команде ЛМЕ переход будет выполнен, если значением флага сравнения является !.ЕЯЯ (меньше) или ОЯЕАТЕВ (больше). Заметим, что эти команды не изменяют значение самого флага сравнения. ° ЛАМ, ЛАХ, ЛАР, ЛАММ, ЛАНЕ, ЛАМР (1пшр А пейагЛче, вето, ров!с! ге, поппейас)не, попзего, поправ!Г)че — перейти, если в регистре А отрицательное значение, нулевое, положительное, ненулевое, неположительное).

С = 40; Е = О, 1, 2, 3, 4, 5 соответственно. Если содержимое гА удовлетворяет заданному условию, то выполняется команда ЛИР, в противном случае ничего не происходит. "Положительным" является значение, которое больше нуля (но не нуль), а "неположительным" — наоборот, нуль или отрицательное значение. ° ЛХМ. ЛХХ, ЛХР, ЛХММ, ЛХМХ, ЛХМР (1шпр Х пейн!ге, зего, роэ!Г!ге, поппейас!ге, попхего, попроэ!Ф)ге — перейти, если в регистре Х отрицательное значение, нуль, положительное, неотрицательное, ненулевое, неположительное).

С = 47; Е = О, 1, 2, 3, 4, 5 соответственно. ° Л!М, Л!2, Л!Р, Л!ММ, Л!МХ, Л!МР ()птр ! пейвер!ге, зего, ров!Ф)ге, поппейас!ге, попяего, попроябге — перейти, если в индексном регистре ! — отрицательное значение, нуль, положительное, неотрицательное, ненулевое, неположительное). С = 40+ 1; Г = О, 1, 2, 3, 4, 5 соответственно. Это аналоги соответствующих команд для гА. Другие команды ° Я1.А, ЯВА, Я1.АХ, ЯВАХ, Б)„С, БВС (яЫЙ )ей А (сдвинуть А Влево), яЫЙ г!ЯЫ А (сдвинуть А вправо), яЫЙ 1Ю АХ (сдвинуть АХ влево), яЫЙ г!БЬС АХ (сдвинуть АХ вправо), яЬ!Й !ей АХ с!гоп)аг!у (циклический сдвиг АХ влево), яЫЙ НЯЫ АХ с!гоп!аг!у (циклический сдвиг АХ вправо)). С = 6; Р = О, 1, 2, 3, 4, 5 соответственно.

Это команды "сдвига", где М обозначает число байтов компьютера М1Х, которые нужно сдвинуть вправо или влево; М должно быть неотрицательным. Команды ЗЬА и ЯВА не оказывают влияния на содержимое гХ; остальные команды сдвига оказывают такое действие на оба регистра А и Х, как будто это один 10-байтовый регистр. При выполнении команд Я1А, БВА.

Б1АХ и ЯВАХ в регистр с одной стороны входят нули, а с другой стороны исчезает информация из сдвинутых байтов. Команды З1.С и ЯВС вызывают "циклический" сдвиг, при котором байты, "исчезнувшие" с одной стороны, снова входят в регистр с другой стороны. В циклическом сдвиге участвуют оба регистра — гА и гХ. Заметим, что ни одна из команд сдвига никак не влияет на знаки регистров А и Х. Примерь Регистр Х Регистр А Первоначальное содержимое БВАХ 1 БЬА 2 ЯВС 4 ЗВА 2 ЯЬС 1 ° МОЧЕ (переместить). С = 7; Г = число. Количество слов, определенное значением Р, перемещается, начиная от ячейки М, в другие ячейки, адрес первой из которых задается содержимым индексного регистра 1.

Перемещение осуществляется по одному слову за раз, и к концу выполнения операции значение в регистре гП увеличивается на Р. Если Р = О, то ничего не происходит. Необходимо следить за тем, чтобы группы ячеек, участвующих в перемещении, не перекрывались. Предположим, что Р = 3 и М = 1000. Тогда, если гП = 999, перемещаем СОМТЕМТБ(1000) в СОМТЕМТБ(999), СОМТЕМТЯ(1001) в СОМТЕМТЯ(1000) и СОМТЕМТБ(1002) в СОМТЕМТБ(1001); в данном случае все нормально. Но если бы в регистре гП содержалось число 1001, то в результате были бы выполнены перемещения СОМТЕМТЗ(1000) в СОМТЕМТБ(1001), СОМТЕМТБ(1001) в СОИТЕМТБ(1002), СОМТЕМТЯ(1002) в СОИТЕМТЗ(1003), т. е, мы бы переместили одно и псе же слово СОМТЕМТЯ(1000) в три различных места. ° ИОР (по орегас!оп в нет операции). С = О.

Никакие действия не выполняются, и эта команда просто пропускается. г и М игнорируются. в Н1,Т (Ьа!С вЂ” остановить). С = 5; Г = 2. Остановка работы крмпьютера. Пока оператор будет его перезапускать, все будет выглядеть так, как будто работает команда МОР (т. е. никакие действия не выполняются). Команды ввода-вывода. М1Х можно оснастить достаточно большим количеством устройств ввода-вывода (причем все они поставляются за дополнительную плату). Каждому устройству соответствует определенный номер. Номер устройства Периферийное устройство Размер блока слов 100 Накопитель на магнитной ленте номер 1 (О < С < 7) д Диск или барабан номер И (8 < И < 15) 100 16 Устройство чтения перфокарт 16 17 Перфоратор 16 18 Принтер 24 19 Терминал ввода данных 14 20 Перфолента 14 Не каждый компьютер М1Х будет оснащен всеми этими устройствами.

поэтому время от времени мы будем специально упоминать о наличии тех или иных устройств. Некоторые из них нельзя использовать и для ввода, и для вывода. В приведенной выше таблице указаны фиксированные размеры блоков (в словах) для каждого устройства. При вводе или выводе с помощью таких устройств, как накопитель на магнитной ленте, диск или барабан, происходит чтение или запись полных слов (состоящих из пяти байтов и знака). Но устройства ввода-вывода с номерами от 16 до 20 всегда работают в символьном коде, в котором каждый байт представляет один буквенноцифровой символ. Поэтому с помощью каждого слова М1Х передается сразу пять символов.

Символьный код приведен в верхней части табл. 1, которая находится в конце данного раздела, и на форзацах в конце книги. Код 00 соответствует символу "„", который обозначает пробел. Коды 01-29 представляют буквы от А до 2, среди которых есть несколько греческих букв; коды 30. 39 представляют цифры О, 1,..., 9, а следующие коды 40, 41, ... — знаки пунктуации и другие специальные символы. (Набор символов М1Х отражает положение дел на то время, когда компьютеры еще не могли справиться со строчными буквами.) С помощью символьного кода нельзя прочитать или записать все возможные величины, которые могут содержаться в байте, так как некоторые комбинации не определены.

Более того, некоторые устройства ввода-вывода могут оказаться не предназначенными для обработки всех элементов из набора символов, например символы Е и П, встречающиеся в тексте, скорее всего, не будут восприняты устройством чтения перфокарт. Когда данные вводятся в символьном коде, всем словам присваиваются знаки "+', а при выводе знаки игнорируютги. Если данные вводятся с терминала, то набор в конце каждой строки символа возврата каретки приводит к тому, что остаток строки заполняется пробелами.

Дисковые и барабанные устройства — это внешние устройства памяти, каждое из которых содержит блоки из 100 слов. При выполнении каждой команды 1М, ООТ или 10С (см. ниже) конкретный блок из 100 слов, на который ссылаегся команда, определяется текущим содержимым гХ и не должен превосходить емкость используемого диска или барабана. ° 1И (1прпС вЂ” ввод). С = Зб; Е = номер устройства. Эта команда реализует передачу информации из заданного устройства ввода в последовательно расположенные ячейки, начиная с ячейки М. Число ячеек, из которых передается информация, соответствует размеру блока для данного устройства (см. приведенную выше таблицу). Если предыдущая операция на этом же устройстве еще не закончена, то компьютер будет ожидать ее завершения, Время, в течение которого будет длиться передача информации, начатая по этой команде, зависит от скорости работы устройства ввода.

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

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

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