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

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

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

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

Что это за ситуацияу 8. Некоторые микросхемы для обработки команд с плавающей точкой имеют встроенную команду извлечения квадратного корня. Возможно применение итерационного алгоритма (например, метода Ньютона — Рафсона). Итерационные алгоритмы дают последовательные приближения решения. Как можно быстро получить приближенный квадратный корень от числа с плавающей точкой? 9. Напишите процедуру сложения двух чисел одинарной точности с плавающей точкой.

Каждое число представлено 32-элементным логическим массивом. 10. Напишите процедуру сложения двух чисел с плавающей точкой одинарной точности, в которых для экспоненты используется основание системы счисления 16, а для мантиссы — основание системы счисления 2, кроме того, числа не содержат неявного бита 1 слева от двоичной точки. В нормализованном числе крайние левые 4 бита мантиссы могут быть равны 0001, 0010, ..., 1111, но не 0000. Число нормализуется путем сдвига мантиссы влево на 4 бита и прибавления 1 к экспоненте. Приложение В Программирование на языке ассемблера (Эверт Ваттель, Свободный университет Амстердама, Голландия) В каждом компьютере есть уровень архитектуры набора команд (1пзггпсбоп Бег Агс)1йес~пге, 1ЯА), который представляет собой совокупность регистров, команд н других элементов, доступных программистам, пишущим на языках низкого уровня.

Уровень 1ЯА часто называют машинным языком, но это не совсем точное определение. Программа, написанная на машинном языке, являет собой длинный список двоичных чисел, описывающих исполняемые команды и их операндьь в котором одно число соответствует одной команде. Писать программы с операторами в виде двоичных чисел очень сложно, поэтому во всех машинах предусмотрен язык ассемблера — символическое представление архитектуры набора команд, в котором двоичные числа заменены именами наподобие А00, 50В и М0С В этом приложении содержится краткое руководство по программированию на языке ассемблера процессора 8088 компании 1пге1. Этот язык был реализован в первых машинах 1ВМ РС, и именно на его основе развился современный язык ассемблера Репг1пш.

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

Скажем больше — значительная часть команд ядра Репг1пш совпадает с аналогичными командами 8088; различие между ними сводится лишь к разрядности регистров (32 и 16 бит соответственно). Таким образом, это приложение можно рассматривать как введение в курс программирования на языке ассемблера Репг1нш. Чтобы программировать любую машину на ее ассемблере, программист должен хорошо разбираться в уровне архитектуры набора команд такой машины.

По этой причине разделы «Основные понятия», «Процессор 8088», «Память н адресация» н «Набор команд 8088» посвящеяы детальному рассмотрению архитектуры, организации памяти, режимам адресации и командам 8088. В разделе «Ассемблер» содержится описание программного обеспечения, предназначенного для программирования на ассемблере.

К атому программному обеспечению, которое Основные понятия 755 распространяется совершенно бесплатно, мы будем обращаться впоследствии при изучении примеров программ. Следует учесть, что в ассемблерах других процессоров могут применяться оригинальные нотации, и к этому нужно быть готовым. В разделе «Трассер» рассматриваются программные средства интерпретации (трассировки, отладки), помогающие начинающим программистам устранять ошибки в программах. Раздел «Подготовительные действия» посвящен установке программного обеспечения и базовым приемам работы с ним. Наконец, в разделе «Примеры» содержатся готовые программы, примеры, задачи и их решения. Основные понятия Наш обзор программирования на ассемблере мы начнем с краткого описания са- мого языка ассемблера, после чего приведем неболыпой пример.

Язык ассемблера Калсдый язык ассемблера, или просто ассемблер, основывается на мнемониках— кратких осмысленных с точки зрения программиста обозначениях машинных команд (сложения, вычитания, умножения и других) наподобие А00, 500 и ИОС Вместе с тем, ассемблеры допускают применение символических имен для обозначения констант и меток для обозначения команд и адресов памяти.

Кроме того, большинство языков ассемблера поддерживают некоторое количество псевдокоманд, которые не относятся к уровню архитектуры набора команд, но регулируют процесс ассемблирования. При ассемблировании программы, написанной на языке ассемблера, с помощью специальной программы (она так и называется — ассемблер) получается двоичная программа, готовая непосредственно к выполнению в реальной аппаратной среде. Здесь следует отметить, что начинающие программисты, составляющие текст программы на языке ассемблера, часто допускают ошибки, при обнаружении которых выполнение двоичной программы останавливается без указания причин. Чтобы упростить задачу программиста, двоичную программу можно запустить не в реальной аппаратной среде, а в симуляторе, который в каждый отдельный момент времени выполняет только одну команду и выводит детальный отчет о своих действиях.

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

Термины «симулятор», «интерпретатор» и «трассер», таким образом, употребляются в нашем тексте в одинаковом значении. Как правило, говоря об выполнении программы в среде симулятора, эту среду называют «интерпретатором»; если же речь идет о ее применении в качестве инструмента отладки, используется термин «трассер»; в любом случае, имеется в виду одна и та же программа. 756 Приложение В. Программирование на языке ассемблера Небольшая программа на языке ассемблера Переходя от теории к практике, рассмотрим короткую программу на языке ассемблера и вывод ее текста в интерпретаторе.

На рис. В.1, а представлена программа на языке ассемблера 8088. Числа, следующие за восклицательными знаками, обозначают номера строк; они введены с единственной целью — упростить построчный анализ программы. Текст этой программы также размещен на сопроводительном компакт-диске (файл Н(10(П)гЫ.П) в папке ехагпр(ек Расширение этой программы (з), как и всех других, к которым мы будем обращаться, указывает на то, что она написана на языке ассемблера и не преобразована в двоичную форму. В окне трассера, показанном на рис. В.1, б, располагаются семь дочерних окон. В кахсдом из них указываются те или иные сведения о состоянии исполняемой двоичной программы. СЗ: 00 ОЗ=ЗЗ=ЕЗ: 002 АН:00 АПзос АХ: 12 вн:оо в!лоо вх: о СН:оо СыОс СХ: тг ОН;ОО ОЫОО ОХ: О ЗР: 7!б8 ЗР ОО82С ВР: 0000 СС - Р!Р:оооо:РС О!.

ОООО 41ег! МОЧ СХ,б -Ьи РОЗН СХ РОЗН НЧЧ РОЗН ЗТОООТ РОЗН ЧЧН!ТЕ ЗЧЗ АОО ЗР,В ЗОВ СХ,АХ РОЗН СХ ! 7 ! 8 ! 9 ! 1О ! 11 ! 1г ! 1З 1 14 =е0004 ООО! оооо оооо Пи > пеле И!ег!01п Рис. В.1. Исходный текст программы иа языке ассемблера (а); окно трзссера с информацией о ходе выполнения программы (б) Теперь вкратце рассмотрим содержимое семи дочерних окон, изображенных на рис.

В.1, б. В верхнем ряду расположены три окна — два больших и одно поменьше. В верхнем левом окне показано содержимое процессора, а именно — текущие значения сегментных (С5, 05, 55 и 85), арифметических (АН, А(., АХ) и других регистров. В среднем окне в верхнем ряду указывается содержимое стека — области памяти, предназначенной для хранения временных значений. В верхнем правом окне выводится фрагмент программы на языке ассемблера; стрелка указывает на команду, которая выполняется в данный момент. По мере выполнения программы эта стрелка, естественно, перемещается от одной команды к другой. Интерпретатор может работать в таком режиме, при котором однократное нажатие клавиши Еп1ег приводит к выполнению одной команды и соответствующему обновлению всех окон. Таким образом, программу, написанную на языке ассемблера, в среде симулятора можно выполнять с той скоростью, которая позволяет разобраться в происходящем.

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

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

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

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