AOP_Tom1 (1021736), страница 57

Файл №1021736 AOP_Tom1 (Полезная книжка в трёх томах) 57 страницаAOP_Tom1 (1021736) страница 572017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Мы в точности сымитируем работу аппаратного обеспечения М1Х и сделаем вид, что М1Х сам интерпретирует эти команды. Таким образом мы попытаемся реализовать спецификации, которые были определены в разделе 1.3.1. В нашей программе, например, используется переменная АКЕО, с помощью которой сохраняется модуль значения, содержащегося в имитируемом регистре А; другая переменная, 31ОМА, используется для хранения соответствующего знака. С помощью переменной С10СК ведется учет количества единиц имитируемого времени М1Х, затраченного на выполнение имитируемой программы. Нумерация таких команд М1Х, как ЫА, Ю1, ..., 1РХ и других подобных команд, подсказывает нам, что сохранять имитируемое содержимое этих регистров в последовательных ячейках нужно так: АКЕО, 11КЕО, 12КЕО, 13КЕО, 14КЕО, 1ЯКЕО, 1бКЕО, ХКЕО, 1КЕО, ХЕКО.

Здесь ЕЕКΠ†э "регистр", постоянно заполненный нулями. Позиции 1КЕО н ХЕКО выбраны в соответствии с кодами операций команд ЯТЗ и ЯТХ. Согласно нашей философии написания имитатора, т. е. ориентируясь на любой компьютер, а не только на М1Х, будем рассматривать знаки как независимые части регистра. Например, во многих компьютерах нельзя представить число "минус нуль", а в М1Х можно, поэтому в данной программе знаки всегда будут обрабатываться особым образом. В ячейках АКЕО, 11КЕО,, 2ЕКО всегда будут храниться абсолютные значения величин, содержащихся в соответствующих регистрах. В другом наборе ячеек. использующемся в данной программе, (31ОМА, 31ОМ1„..., 310МХ), будут содержаться значения +1 или — 1, в зависимости от знака соответствующего регистра (т.

е, "плюс" это или 'минус"). В программе-интерпретаторе, как правило, есть раздел, который представляет собой орган центрального управления. Он вступает в действие между интерпретируемыми командами. В нашем случае после выполнения каждой сымитнрованной команды программа переходит к ячейке СУСЛЕ. Управляющая программа выполняет одинаковые для всех команд действия; она разделяет команду на составные части и помещает эти части в такие места, откуда нх будет удобно выбирать для дальнейшего использования. В приведенной ниже программе используются следующие установки: г16 — адрес ячейки, в которой сохраняется следующая команда; г15 — М (адрес текущей команды с учетом индексирования); г14 — код операции текущей команды; г13 — Г-поле текущей команды; 1МЯТ вЂ” текущая команда.

Программа М. Увеличить значение счетчика адреса Взять абсолютное значение адреса Присоединить знак к адресу Проверить поле индекса Это пульт Код операции > 64ч Взять из таблицы время выполнения Взять адрес соответствующей программы Перейти к оператору (Защита от переполнений ) Э Советую читателю обратить особое внимание на строки 034-036 "Таблица- переключатель" из 64 операторов †э составная часть имитатора, позволяющая ему быстро переходить к нужной программе для выполнения текущей команды.

Эта важный метод экономии времени (см упр. 1 3 2 — 9). В состоящей нз 64 слав таблице-переключателе ОРТАВЕЕ также хранится время выполнения для различных операторов, содержимое этой таблицы определяется в следующих строках. МОР С?СЕВ(1) АРР АРР(2) ЯОВ ЗОВ('2). ИО(. И(Л. (10) 087 088 080 040 Таблица кодов операций, ее типичные элементы имеют вид "ОП программа(время)" 001 а ИМИТАТОР И 002 ОН10 008 ВЕО1М БТЕ 004 БТЕ 008 БТЕ 006 ЕМТб 007 С?СНЕ ЕРА 008 Т?ИЕ 1МСА ООУ ЯТА 010 ЕРА 01! ЯТА 012 1МСб 018 1.РХ ОЦ ЯРАХ 018 ЯТА 010 Ы2 017 12Е 018 РЕС2 01У 12Р 020 (.РА 021 (.РХ 022 БЕАХ 028 АРР 024 СМРА 028 )МЕ 026 ЯТА 027 1Н ?.РЗ 028 ЕРБ 02У 1.94 080 РЕС4 081 14Р 082 1.РА 088 ЯТА 084 ЕР2 085 )МОЧ 080 ЗИР 1Х 3500 Т1ИЕ(0:2) ОЧТОО СОМР1 СЕОСК О СЕОСК О,б 1МЯТ 1 1МБТ(1:2) М 1МБТ(З:3) 1Р б ?МРЕХЕВЙОН 31ОМ6,2 16НЕО,2 5 И ЕЕВО(1:3) АРРНЕВВОВ М ?МЯТ(4:4) И 1МЯТ(5:5) 63 ОРЕВНОН ОРТАВ1.Е,4(4:4) Т1МЕ(0:2) ОРТАВЕЕ,4(0:2) 0,2 0,2 Имитируемая память, начиная с ОООО и далее.

ОЧТОΠ— имитируемый флаг переполнения. СОИР?, А1 или О, †фл сравнения Взять первую команву из нулевой ячейки Начало выполнения управляющей программы. Указывает на ячейку, содержащую время выполнения предыдущей команды (строка 033) гА э- имитируемая команда Определен недопустимый индевел Взять знак индексного регистра Взять абсолютное значение индексного регистра. Присоединить знак Сложение с учетом знаков для индексирования. Результат слишком велнкт Если да, имитировать ошибку В противном случае адрес найден г13 +- Р-поле г15 +- )6 г14 э- С-паче 01Ч 01Ч(12) НЕТ ЯРЕС(1) Б1А ЯН1РТ(2) МОЧЕ МОЧЕ(1) ЕОА ЕОАО(2) Ы1 У.ОА0,1(2) 1.0б У.ОА0,1(2) )ОХ У.ОАО(2) МАМ ЕОАОМ(2) 101М У.ОАОМ,1(2) 051 058 058 051 ЫХМ 10АОМ(2) ЯТА ЯТОНЕ(2) 060 061 ЯТЛ БТОВЕ(2) ЯТХ ЯТОНЕ(2) ЛВУУЯ,)ВОЯ(1) 10С 10С(1) 1М ХК(1) ООТ ООТ(1) ЛНЕО ЛКЕО(1) ЛМР ЛУМР(1) ЛАР НЕОЛУМР(1) ЛХР НЕОЛОНР(1) 1МСА АООНОР(1) 1МС1 АООНОР,1(1) 084 085 086 1МСХ АООКОР(1) СИРА СОМРАКЕ(2) 008 008 100 ОРТАВ1Е СНРХ СОИРАНЕ(2) 3 (Элементы, соответствующие операторам 1.01, 1.0(М и 1МСУ, имеют дополнительную запись ", 1", чтобы сделать поле (3; 3) ненулевым.

Это используется ниже, в строках 289 и 290, для указания того, что после имитации данных операций необходимо проверить размер величины, содержащейся в соответствующем индексном регистре.) В следующей части программы-имитатора просто перечисляются ячейки, которые используются для хранения содержимого имитируемых регистров. 101 АНЕО СОМ 108 11НЕО СОМ 107 1бКЕО СОМ 108 ХВЕО СОМ 100 ЛКЕО СОМ 110 ЕВНО СОМ 111 Б10МА СОМ 118 Я10М1 СОМ 041 018 088 011 015 ОЛ6 060 070 071 078 078 078 075 076 077 0 Абсолютное значение регистра А. 0 Абсолютное значение индексных регистров.

0 0 Абсолютное значение регистра Х. О Абсолютное значение регистра Л. 0 Нулевая константа для "БТХ". 1 Знак регистра А. 1 Знаки индексных регистров. СОМ СОМ 1 Знак регистра Х. СОМ 1 Знак рйгистра Л. СОМ 1 Знак, сохраняемый "ЯТХ".

СОМ 0 Имитируемая команда. СОМ О Флаг сравнения СОМ 0 Флаг переполнения. СОМ О Имитируемое время выполнения. 3 А теперь рассмотрим три подпрограммы, используемые имитатором. Первой идет подпрограмма НЕМОКРА. Последовательность вызова: 1МР НЕМОКРА. Состояние при входе: г15 = допустимый адрес памяти (в противном случае подпрограмма перейдет к МЕМЕНВОВ). гХ = знак слова в ячейке памяти г15; гА = абсолютное значение слова в ячейке памяти г15. Состояние при выходе 188 е ПОДПРОГРАММЫ 126 МЕНОВУ ЯТ1 9Р 127 15М МЕМЕНВОВ 128 СМРЯ ВЕ01М 128 10Е НЕМЕКВОВ 180 ЬОХ 0,5 .181 ЕМТА 1 182 ЯВАХ 5 188 ЬОА 0,5(1:5) 181 9Н ЛМР е Подпрограмма выборки из памяти. Имитируемая память находится в ячейках с 0000 до ВЕ01Н вЂ” 1.

гХ < — знак слова. гА <- абсолютное значение слова. Выход, 1 Подпрограмма РСНЕСК обрабатывает спецификацию частичного поля и проверяет, имеет ли оно вид ЯЬ+ В., где Ь ( В < 5. Последовательность вызова Состояние при входе: Состояние при выходе: Подпрограмма проверки поля. гАХ <- спецификация поля. гА +- 1,, гХ е- К. Р.> о7 гП +- 1, Выйти, если Ь < К. 117 310Мб 118 310МХ 118 310МЛ 188 ЯТОМХ 121 1МЯТ 188 СОМР1 188 ОЧТОО 18е СЬОСК 188 РСНЕСК 188 187 188 188 Ца Ц1 Ц2 Ц8 1Й Цб 9Н Цб 311 9Р ЕМТА 0 ЕМТХ 0,3 019 =Я= СМРХ =5= 10 РЕККОВ ЯТХ В ЯТА ЬО1 Ь СМРА Н ЛЬЕ ЛМР РЕВВОВ 1МР РСНЕСК.

г13 = допустимая спецификация поля (в противном случае подпрограмма перейдет к РЕВКОВ). гА = гП = 1, гХ = В. Последняя подпрограмма, ОЕТЧ, находит величину Ч (т. е. соответствующее поле ячейки М), используемую различными операторами МХХ, как определено в разделе 1.3.1. Последовательность вызова: 5МР ОЕТЧ. Состояние при входе: г(5 = допустимый адрес памяти; г(3 = допустимое поле.

(Если оно недопустимо, то регистрируется ошибка, как и выше.) гА = абсолютное значение Ч„гХ = знак Ч; гП = Ь; г12 = -В.. Второй вход: 1МР ОЕТАУ, используется только в операторах сравнения для выборки поля из регистра. Специальный вход (см строку ЗОО).

А теперь рассмотрим программы для каждого оператора в отдельности. Данные программы приведены здесь для полноты изложения, поэтому читателю стоит изучить лишь некоторые из них, если, конечно, у него нет важных причин для более тщательного изучения. Рекомендуется изучить программы для операторов ЯПВ и 5ОМР; это наиболее типичные примеры. Обратите внимание на то, как можно аккуратно объединить программы для аналогичных операций, а также на то, как программа Л1МР использует другую таблицу-переключатель для управления этим типом перехода.

150 ь ОТДЕЛЬНЫЕ ОПЕРАТОРЫ 160 АРП 1МР ОЕТЧ 161 ЕИТ1 О 162 1МР 1МС 168 ЯОВ 1МР СЕТЧ 165 ЕМТ1 О 165 5МР ПЕС 166 167 МОЬ 168 160 170 171 172 178 Загрузить значение Ч в гА и гХ Пусть г11 указывает на регистр А Перейти к программе "увеличения" Загрузить значение Ч в гА я гХ Пусть гП указывает на регистр А Перейти к программе "уменьшения".

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

Тип файла
DJVU-файл
Размер
7,53 Mb
Тип материала
Высшее учебное заведение

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

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