Главная » Просмотр файлов » К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)

К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649), страница 33

Файл №1114649 К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)) 33 страницаК. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649) страница 332019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Эти коды, четыре младших бита которых представляют собой ВС?)-коды тех же цифр, следующими двумя командами загрузки записываются в младшие байты регистров К1 и К2. Далее команда АХВ очищает 28 старших разрядов регистра КО, заполняя их нулями и оставляя в четырех младших разрядах ВС?)-код цифры. Затем команда ОКК сдвигает первую ВС??-цифру на четыре разряда влево и помещает ее слева от второй ВС1)-цифры в регистре К2. В завершение упакованные цифры из младшего байта регистра К2 сохраняются в памяти по адресу РАСКЕ?). 142 Глава 3.

Системы команд процессоров АНМ, Мо1ого)а и !п1е! 31 28 27 24 23 1000 1004 — Обновленный [РС) - 1008 Смещение 92 1.0САТ10Х 1100 Рис. 8.6. Команды перехода процессора АНМ: формат команды (е); определение целевого адреса перехода (б) 3.3.1. Установка кодов условий Единственным назначением некоторых команд, в том числе и команды сравнения СМР Кл,Ктл выполняющей операцию [Кл) — [Кт) является установка флагов кодов условий на основе результата операции вычитания. С другой стороны, арифметические и логические операции воздействуют на флаги кодов условий только в том случае, если это явно указано в соответствующем бите кода операции. В ассемблерном коде операции установка флагов обозначается суффиксом Я.

Так, команда АЕ)РБ КО,К1,К2 устанавливает флаги кодов условий, а команда А01) КО,К1,К2 не устанавливает таковые. 3.3,2. Программа с циклом для сложения чисел В программе, которую мы рассмотрим далее, для сложения нескольких чисел применяется цикл (рис. 3.7). В операциях загрузки и сохранения, выполняемых 3.4. Язык ассемблера 143 первой, второй и последней командами, используется относительная адресация. При этом предполагается, что адреса Х, Р01ХТЕК и 311М находятся в допустимом диапазоне смещения относительно адреса, заданного в регистре РС. В памяти по адресу РО1ХТЕК содержится адрес Х11М1 первого из складываемых чисел, по адресу Х вЂ” количество чисел в списке, а по адресу 315М должна храниться резулътирующая сумма. Постиндексный режим с обратной записью, используемый в первой команде цикла, соответствует автоинкрементному режиму, применявшемуся в программе, представленной на рис.

2.16. Загрузка количества элементов списка в К1 Загрузка адреса Х11М1 в К2 Очистка сумматора КО Загрузка следующего числа в КЗ Сложение чисел и помещение результата в КО Декремент счетчика цикла К1 Переход на начало цикла, если сложены не все числа Запись суммы в память 1.0К 1.0К М01г 10К АОО ЗИВЗ ВОТ К1,1ч1 К2,Р01ХТЕК КО,ФО К3,1К21,Ф4 КО,КО,КЗ К1,К1,Ф1 1.00Р 1.0ОР ЗТК КО,311 М Рис. 3.7. Программа для процессора АЯМ, выполняющая сложение последовательности чисел 3.4. Язык ассемблера В языке ассемблера процессора АКМ имеются директивы, задающие порядок и методы резервирования памяти, присвоения числовых значений меткам адресов и символьным константам, определения адресов памяти, по которым должны размещаться программа и блоки данных, а также для определения конца исходного текста программы. Примеры использования некоторых из этих директив вы видите на рис.

3.8, в программе, представляющей собой полный текст программы, основная часть которой приведена на рис. 3.7. Директива АКЕА с аргументом СОВЕ или ВАТА указывает на начало блока памяти, в котором содержатся команды программы или данные. Обычно в ней задаются и другие параметры, но их мы обсуждать не будем. Директива Е1ч1ТКУ определяет, что выполнение программы должно начаться со следующей за ней команды — в нашем случае команды 1.РК. В области данных, которая следует за областью кода, с помощью директив РСВА определяются значения, используемые в качестве операндов команд программы. Эти директивы объявляют метки и присваивают им значения.

Первые две директивы 13С11 инициализируют значениями 0 и 5 слова памяти с метками 311М и Х. Следующая директива помещает по адресу РОПч1ТЕК адрес Х11М1. А последняя директива 12С13 определяет пять чисел, которые должны быть последовательно помещены в память начиная с адреса 1ч111М1.

В шестнадцатеричных значениях констант используется префикс й, а константы по основанию и, где п лежит в диапазоне от 2 до 9, обозначаются как п ххх. Например, двоичная константа может быть представлена так: 2 101100. Константы по основанию 10 задаются без префикса. 144 Глава 3. Системы команд процессоров АВМ, Мо!ого!а и!и!е! Адресная информация Операция и данные Метка адреса памяти Директивы ассемблера АКЕА Е?н ТКУ СОВЕ Команды, на основе которых генерируются машинные команды 1.0ОР Директивы ассемблера Я?1М РО1ХТЕК ХВМ! Рис.

3.8. Более полный вариант программы на языке ассемблера, приведенной на рис. 3.7 Для определения символических имен констант используется директива ЕЯ??. В частности, команда ТЕХ ЕО?) 10 позволяет вместо десятичной константы 10 использовать в программе символи- ческое имя ТЕХ. Когда в программе задействуется большое количество регист- ров, для них удобно использовать символические имена, соответствующие их на- значению. Это делается с помощью директивы К?кг, Например, команда СО???к?ТЕК К?ч' 3 назначает регистру КЗ имя СО???к?ТЕК.

В ассемблере предопределены имена ре- гистров КΠ— К15, РС (для К15) и 1.К (для К14). 3.4.1. ПСЕВДОКОМаНДЫ В языке ассемблера имеется альтернативный способ загрузки адреса ?к???М! в ре- гистр К2 (рис. 3.8). Так, псевдокоманда А?Ж КИ,АВВКЕ33 загружает 32-разрядное значение АВВКЕ53 в регистр КЫ.

Это не настоящая ма- шинная команда. Для реализации псевдокоманд ассемблер сам выбирает подхо- дящие машинные команды. Одним из способов реализации псевдокомандьг А?Ж К2,?к???М! 1.ВК ?.ВК МОЪ' 1.1Ж АВВ ЯгВЗ ВОТ ЗТК АКЕА ВСВ ВСВ ВСВ ВСВ Е?к?В К1,?Ч К2,Р01!ЧТЕК КО,ФО КЗ, [К2),йд КО,КО,КЗ К1,К1,Ф! 1.00Р КО,З?!М ВАТА О 5 МВМ! 3,-17,27,-12,322 3.5. Команды ввода-вывода 145 является использовавшаяся на рис.

3.8 комбинация команды 1.1Ж К2,Р01ХТЕК и директивы Р01ХТЕК ЭСР ХПМ1 Эти две команды в программе можно было бы заменить одной псевдокомандой, поместив ее на место команды Е1Ж. В таком случае ассемблеру самому нужно будет выделить область данных для объявления 1)С1). В нашем примере существует более эффективный способ реализации команды А1Ж, который и будет выбран ассемблером. Если загружаемый командой А1Ж адрес более чем на 255 байт отличается от текущего содержимого регистра РС (К15), укаэанная псевдокоманда может быть реализована командой АЭ1Э К4К15,помещение При использовании этой команды в нашем примере адрес РО1ХТЕК вообще не понадобится.

Ассемблер реализует псевдокоманду А1Ж при помощи машинной команды АЭ1) К2,К15,Ф28 поскольку в момент выполнения команды А1)1) адрес ХПМ1 располагается на 28 байт дальше адреса, содержащегося в обновленном регистре РС. При этом предполагается, что область данных начинается сразу за командой ЗТК. На самом деле это не так, поскольку за командой ЗТК должна следовать команда, возвращающая управление операционной системе, но мы ее опустили. 3.5. Команды ввода-вывода В архитектуре процессоров АКМ применяются команды ввода-вывода с отображением в память, о чем было рассказано в разделе 2.7, Это означает, что для чтения символа с клавиатуры или его вывода на дисплей можно использовать программно-управляемый ввод-вывод.

Предположим, что в регистрах состояния устройств 1ХЯТАТПЗ (клавиатура) и 01)ШТАТ(18 (дисплей) содержатся соответственно управляющие флаги 51Х и ЗОПТ. Регистры клавиатуры 1)АТА1Х и дисплея 1)АТАОПТ располагаются по адресам 1ХЯТАТ118 + 4 и ОБТЗТАТ(18 + 4, сразу за регистрами состояния. Циклы ожидания операций чтения и записи можно реализовать следующим образом. Предположим, что адрес 1ХБТАТБЯ загружен в регистр КЕ В таком случае приведенная далее последовательность команд считывает в регистр КЗ введенный с клавиатуры символ: КЕА1ИЪ'А1Т 1.1Ж КЗ,[К1] ТЯТ КЗ,Ф8 ВЕО КЕАШУА1Т ШКВ КЗ,1К1,й41 146 Глава 3.

Системы команд процессоров АЙМ, Мо1ого!а и !п1е! Команда ТБТ выполняет над своими двумя операндами поразрядную логическую операцию АЛ4?? и с учетом полученного результата устанавливает соответствующие флаги условий. В непосредственно заданном операнде 8 установлен единственный бит — в третьем разряде. Поэтому результат операции ТБТ будет равен нулю, если в третьем разряде регистра 1?ч?БТАТ??Б содержится нуль, и не будет равен нулю в том случае, если в указанном разряде содержится единица, обозначающая, что в регистре ??АТА??ч? имеется очередной введенный пользователем символ. Команда ВЕЯ осуществляет переход по метке КЕА??'у1гА?Т, если результат предшествующего сравнения равен нулю. В итоге получается цикл, выполняемый до нажатия клавиши, в ответ на которое третий разряд регистра 1ХБТАТ??Б устанавливается в 1.

Если предположить, что в регистр К2 загружен адрес регистра 0??ТБТАТ??Б, команды ?!?гК?ТЕ??гА?Т ?Л)К К4,[К2] ТБТ К4,№8 ВЕЯ ?!у'К?ТЕтчгА?Т БТКВ КЗ,[К2,№4]ч- ВЕА?З ?ЛЖ ВЗ,[В1] ТБТ КЗ,№8 ВЕО КЕА?? 1ЛЖВ ВЗ,[К1,№4] БТВВ КЗ,[КО],№1 ЕСНО ?ЛЖ К4,[В2] ТБТ В4,№8 ВЕЯ ЕСНО БТКВ ВЗ,[В.2,№4] ТЕ?? КЗ,№СВ В?ч?Е КЕАО Загрузка [??ч'БТАТ?! Б] и ожидание символа Чтение символа и его сохранение в памяти Загрузка [О??ТБТАТ??Б] и ожидание готовности дисплея Отправка символа на экран Если не вводится символ возврата каретки, считывается следующий символ Рис. Э.в. Программа дпя процессора АНМ, которая считывает символы с клавиатуры и выводит их на экран перешлют символ из регистра КЗ в регистр ??АТАО??Т, когда дисплей будет готов его принять.

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

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

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

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