Главная » Просмотр файлов » Э. Таненбаум - Архитектура компьютера

Э. Таненбаум - Архитектура компьютера (1127755), страница 196

Файл №1127755 Э. Таненбаум - Архитектура компьютера (Э. Таненбаум - Архитектура компьютера) 196 страницаЭ. Таненбаум - Архитектура компьютера (1127755) страница 1962019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

772 Приложение В. Программирование на языке ассемблера Команды обработки двоично-десятичных чисел, в том числе команды коррекции перед сложением АЯСП-символов (ААА) и десятичных значений (РАА), не реализованы в интерпретаторе и не представлены в табл. В.2. Логические операции, побитовые операции и операции сдвига В следующей группе содержатся команды знакового расширения, отрицания, логического отрицания, положительного и отрицательного приращений.

Операции знакового расширения, не располагающие явными операндами, работают с комбинациями регистров РХ: АХ или АН: АЕ. Применительно ко всем остальным операциями из этой группы операнды (единичные) могут располагаться по любым действительным адресам. Выполнение операций МЕВ, 1МС и 0ЕС определяет состояние флагов стандартным способом, однако при отрицательном и положительном приращении флаг переноса не изменяется.

Некоторые специалисты считают это странное последнее обстоятельство проектной ошибкой. Следующая группа команд содержит логические команды с двумя операндами. Все они выполняются стандартным способом. В группе команд обычного и циклического сдвига у всех операций в роли целевых адресов выступают действительные адреса; исходный адрес представлен в виде байтового регистра СЕ или единицы. Выполнение операций сдвига оказывает влияние на все четыре флага; при циклических сдвигах могут изменяться только флаги переноса и переполнения. После обычного или циклического сдвига переносимый разряд может оказаться либо старшим, либо младшим — в зависимости от направления обычного или циклического сдвига.

При выполнении циклического сдвига с переносом командами йСй, йСЕ, йСйВ и ВСЕ сочетание переноса и операнда, расположенного по действительному адресу, образует 17- или 9-разрядную комбинацию регистров кругового сдвига, которая упрощает обычные и циклические сдвиги с участием нескольких слов. Команды, входягцие в следующую группу, применяются для управления флаговыми разрядами. В основном они нужны для подготовки к условным переходам. Двунаправленная стрелка (< — >) в данном случае обозначает проведение операций сравнения и проверки с двумя неизменяемыми операндами. При выполнении команды ТЕ5Т с операндами проводится операция логического И, по результатам которой устанавливаются или сбрасываются нулевой и знаковый флаги. Вычисленное значение при этом не сохраняется, а операнды остаются без изменений.

Команда СНЕ сводится к вычислению разности операндов, в результате устанавливаются или сбрасываются все четыре флага. Флаг направления, регламентирующий отрицательное и положительное приращение значений регистров 5? и 01 при выполнении строковых команд, можно установить или сбрасывать командами 5ТР и СЕО, соответственно. В процессоре 8088 также предусмотрены флаги четности и служебного переноса. Флаг четности, как следует из его названия, показывает на четность или нечетность результата. Флаг служебного переноса позволяет проверить, не произошел ли перенос в нижнем (4-разрядном) полубайте целевого адрес.

Кроме того, существуют команды САНЕ и 5АНЕ, которые копируют нижний байт флагового Набор команд 8088 773 регистра в регистр АН и наоборот. Флаг переполнения находится в старшем байте регистра кода условия и во время выполнения вышеупомянутых команд не копируется. Команды и флаги, о которых идет речь в этом абзаце, введены, в первую очередь, для обратной совместимости с процессорами 8080 и 8085. Операции организации циклов и повторяющиеся строковые операции В следующей группе содержатся команды организации циклов. Команда ЫОР проводит отрицательное приращение регистра ЕХ и в случае положительного результата выполняет обратный переход к указанной метке.

Команды ЫОР1, КЮРЕ, ЕООРМЕ и ЕООРМЕ, помимо прочего, проверяют значение нулевого флага на предмет необходимости прекращения цикла до достижения регистром ЕХ нулевого значения. Целевой адрес во всех командах категории ЕООР должен отстоять от текущего положения счетчика команд не более чем на 128 байт; это связано с тем, что в командах предусмотрено 8-разрядное смещение со знаком. Количество команд (в отличие от байтов), через которые можно совершить переход, точно не определяется в силу различия между этими командами по длине.

Как правило, первый байт задает тип команды, и во многих случаях содержание кодового сегмента команд им ограничивается. Второй байт часто определяет применяемые командой регистры и регистровый режим адресации, и если в команде используется смещение или содержатся непосредственные данные, ее длина увеличивается до четырех-шести байтов. Средняя длина команды составляет 2,5 байт, поэтому величина обратного перехода в циклах ограничивается примерно 50 командами. Существует ряд специальных механизмов организации циклов строковых команд: МЕР, ВЕР2 и ВЕРМ1. Пять строковых команд, указанных в следующей группе табл. В.2,используют неявные адреса и автоинкрементный/автодекрементный режимы работы с индексными регистрами.

Во всех этих командах регистр 51 указывает на сегмент данных, а регистр 01 — на дополнительный сегмент, основанный на содержании регистра Е5. Как и МЕР, команда МОЧ58 позволяет единовременно перемещать целые строки. Длина строки определяется значением регистра ЕХ. Так как команда НОЕВ не влияет на состояние флагов, средствами ВЕРМ1 провести проверку на наличие байта АВСП-нуля при копировании не представляется возможным; чтобы исправить эту ситуацию, нужно сначала запустить команду ВЕРМ1 5СА58, позволяющую разместить в регистре ЕХ осмысленное значение, а затем выполнить МЕР НОЕВ.

Пример практического применения этого механизма приводится в листинге кода копирования строки в разделе яПримерыж При работе со всеми упомянутыми командами следует уделять особое внимание сегментному регистру Е5 (если его значение не совпадает со значением регистра 05). Так как в интерпретаторе реализована малая модель памяти, Е5 = 05 = 55. Команды перехода и вызова В последней группе табл. В.2. представлены команды условного и безусловного переходов, вызова подпрограмм и возврата.

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

Ничего удивительного в таком различии нет. Чтобы выполнить переход к произвольному адресу в 20-разрядном адресном пространстве, необходим механизм определения адреса длиной более 16 бит. Этот механизм существует, и заключается он в присвоении регистрам С5 и РС новых значений. Условные переходы В процессоре 8088 предусмотрены 15 разновидностей условных переходов, причем у некоторых из них сразу несколько имен (например, командгя 00ИР 6йЕАТЕй Ой ЕООАЕ и 10ИР ИОТ ЕЕ55 ТИАИ эквивалентны).

Все они перечислены в табл. В.З. Максимальное расстояние перехода составляет 128 байт от текущей команды. Если объект перехода находится вне допустимого диапазона, приходится реализовывать составной переход Оцшр очег1пшр). В этом случае для перехода через следующую команду применяется второй переход с противоположным условием. Если в следующей команде определен безусловный переход по целевому адресу, то сочетание этих двух команд приводит лишь к удлинению перехода указанного типа. К примеру: ВВ РЯВЕАВЕЕ Эту команду следует заменить следующей конструкцией: ВИА 1Г ЛНР ЕАВЕАВЕЕ 1 Иными словами, если выполнение команды 10ИР ВЕСОИ невозможно, составляется конструкция, состоягцая из команды 30ИР ИОТ АВОЧЕ с близлежащей меткой 1 в качестве объекта и безусловного перехода к ГАйЕАВЕС.

Результаты в обоих случаях одинаковы, различие заключается лишь в больших или меньших временных и пространственных затратах. Если объект перехода находится слишком далеко, ассемблер автоматически организует составной переход. Правильно провести подобные вычисления довольно сложно. Предположим, что расстояние до объекта близко к максимально допустимому, и при этом некоторые промежуточные команды содержат условные переходы.

Внешний переход может быть проведен только после определения расстояний внутренних переходов. В такой ситуации ассемблер предпринимает определенные меры предосторожности. К примеру, он может сформировать составной переход без строгой на то необходимости. Непосредственный условный переход формируется ассемблером только в том случае, если объект перехода совершенно точно находится на досягаемом расстоянии. Набор команд 8088 775 Таблица В.З. Условные переходы Описание Условие перехода Команда дйА, ЗВЕ ЗНВ, ЧАЕ, ЗНС дЕ, дк тм1аЫ поете ЗН1 Е, 4З дОЕ, Зйь дО .3Схх 48, ЗНАЕ, ЗС ЗНВЕ, ЗА зйе, зйе Л,ЗНОЕ Л.Е, Зйй ЗНО ,!НЗ В большинстве своем условные переходы зависят от флагов состояния и предваряются командами сравнения или проверки.

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

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

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

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