Главная » Просмотр файлов » assembler. Учебник для вузов_Юров В.И_2003 -637с

assembler. Учебник для вузов_Юров В.И_2003 -637с (862834), страница 102

Файл №862834 assembler. Учебник для вузов_Юров В.И_2003 -637с (Юров В.И - Assembler. Учебник для вузов. 2003) 102 страницаassembler. Учебник для вузов_Юров В.И_2003 -637с (862834) страница 1022021-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Лучше всего для этой цели подходитпакет VC++ версии 6.0 и выше. Основную ценность в нем имеют включаемыефайлы, редактор ресурсов, работающий в составе интегрированной среды разработки, и компилятор ресурсов. Интерес могут представлять также различные утилиты, входящие в состав пакета Visual C++, например Spy++.и Приступать к разработке приложения для системы Windows на ассемблере лучше всего, имея некоторый опыт разработки приложений на языке высокого уровня. Это необходимо для понимания логики работы приложения. Когда понимание логики работы Windows-приложения достигнуто, выбор языка для егореализации приобретает в большей степени техническое значение и определяется постановкой задачи и предполагаемыми условиями ее эксплуатации.• Благодаря поддержке системой Windows консольных приложений можно малыми силами решать серьезные задачи, в том числе и по администрированиюсистемы. Консольным приложениям доступны практически все возможности,предоставляемые Win32 API, при этом для построения приложений не требуется реализовывать какие-то изощренные схемы.Глава 17Архитектураи программированиесопроцессораАрхитектураФорматы данныхСистема командИсключения и их обработкаИспользование отладчикаВ предыдущих главах мы рассматривали команды и алгоритмы обработки целочисленных данных, то есть чисел с фиксированной точкой (см.

главы 5 и 8). Дляобработки числовых данных в формате с плавающей точкой процессоры IA-32содержат специальное устройство, которое является важной частью их архитектуры.Устройства для обработки чисел с плавающей точкой появились в компьютерах давно. С точки зрения архитектуры они выглядели по-разному. Так, в архитектуре ЕС ЭВМ (аналог IBM 360/370) устройство с плавающей точкой былоестественной частью этой архитектуры со своим регистровым пространством и подсистемой команд. Архитектура компьютеров на базе процессоров вначале опиралась исключительно на целочисленную арифметику.

С ростом мощи, а главное,с осознанием разработчиками процессорной техники того факта, что их устройства могут составить достойную конкуренцию своим «большим» предшественникам, в архитектуре компьютеров на базе процессоров стали появляться устройствадля обработки чисел с плавающей точкой. В архитектуре семейства процессоровIntel 80x86 устройство для обработки чисел с плавающей точкой появилось448Глава 17. Архитектура и программирование сопроцессорав составе компьютера на базе процессора 18086/88 и получило название математический сопроцессор (далее просто сопроцессор). Выбор такого названия был обусловлен тем, что, во-первых, это устройство было предназначено для расширения вычислительных возможностей основного процессора, а во-вторых, оно былореализовано в виде отдельной микросхемы, то есть его присутствие было необязательным.

Микросхема сопроцессора для процессора 18086/88 имела название 18087.С появлением новых моделей процессоров Intel совершенствовались и сопроцессоры, хотя их программная модель осталась практически неизменной. Как отдельные (а соответственно, необязательные в конкретной комплектации компьютера)устройства сопроцессоры сохранялись вплоть до модели процессора 1386 и имелиназвание 1287 и 1387 соответственно. Начиная с модели i486 сопроцессор исполняется в одном корпусе с основным процессором и, таким образом, являетсянеотъемлемой частью компьютера.Для чего нужен сопроцессор, какие возможности добавляет он к тому, что делает основной процессор, кроме обработки еще одного формата данных? Перечислим некоторые из них.Я Полная поддержка стандартов IEEE-754 и 854 на арифметику с плавающейточкой.

Эти стандарты описывают как форматы данных, с которыми долженработать сопроцессор, так и набор реализуемых им функций.9i Поддержка численных алгоритмов для вычисления значений тригонометрических функций, логарифмов и т. п. Эта работа сопроцессора выполняется абсолютно прозрачно для программиста, что само по себе очень ценно, так как нетребует от него разработки соответствующих подпрограмм.Обработка десятичных чисел с точностью до 18 разрядов, что позволяет сопроцессору без округления выполнять арифметические операции над целыми десятичными числами со значениями до 1018.ш Обработка вещественных чисел из диапазона 3,37 • 10~4932...1,18 • 10+4932.Нужно отметить, что в последние годы разработчики компьютерной периферии все активнее освобождают центральный процессор от части вычисленийс целью более эффективной реализации специализированных операций.

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

Как и в случае с основным процессором, интерес для нас представляет программная модель сопроцессора. С точки зрения программиста, сопроцессор представляет собой совокупность регистров, каждый из которых имеет свое функциональное назначение (рис. 17.1).Архитектура сопроцессораЗнакРегистры стека сопроцессора RO..R7ПорядокМантисса449Регистр теговTWRоки\\£_6DA8R5111кьV/R7<79 78151464 63Регистр управления CWR15Регистр состояния SWR15Указатель команды IPR47Указатель данных DPR47Рис.

17.1. Программная модель сопроцессораВ программной модели сопроцессора можно выделить три группы регистров.Восемь регистров RO.. .R7 составляют основу программной модели сопроцессора — стек сопроцессора. Размерность каждого регистра — 80 битов. Такая организация характерна для устройств, специализирующихся на обработке вычислительных алгоритмов.

Вспомните, как представляются математическиевыражения с использованием обратной польской записи (ПОЛИЗ). Вычисление такого выражения заключается в выборке с вершины стека очередной операции. Если это двухместная операция, то с вершины стека снимаются два операнда, над которыми и производятся действия в соответствии со снятой ранееоперацией. Более подробно представление выражения в форме ПОЛИЗ мы рассмотрим далее. Реализация численных алгоритмов на основе стека сопроцессора позволяет получить существенный выигрыш в скорости вычислений.Три служебных регистра:п регистр состояния сопроцессора SWR (Status Word Register) отражает информацию о текущем состоянии сопроцессора и содержит поля, позволяющие определить, какой регистр является текущей вершиной стека сопроцессора, какие исключения возникли после выполнения последней команды,каковы особенности выполнения последней команды (некий аналог регистра флагов основного процессора) и т.

д.;П управляющий регистр сопроцессора CWR (Control Word Register) управляетрежимами работы сопроцессора; с помощью полей в этом регистре можнорегулировать точность выполнения численных вычислений, управлятьокруглением, маскировать исключения;15 Зак. 256450Глава 17. Архитектура и программирование сопроцессораD регистр слова тегов TWR (Tags Word Register) используется для контроля засостоянием каждого из регистров RO..

.R7 (команды сопроцессора используют этот регистр, например, для того, чтобы определить возможность записизначений в указанные регистры).ii Два регистра указателей — данных DPR (Data Point Register) и команд IPR(Instruction Point Register) — предназначены для запоминания информации обадресе команды, вызвавшей исключительную ситуацию, и адресе ее операнда.Эти указатели используются при обработке исключительных ситуаций (но недля всех команд).Все эти регистры являются программно доступными. Однако к одним из нихдоступ получить довольно легко, для этого в системе команд сопроцессора существуют специальные команды, а к другим его получить сложнее, так как специальных команд для этого нет, поэтому необходимо выполнять дополнительные действия.Рассмотрим общую логику работы сопроцессора и более подробно охарактеризуем перечисленные регистры.Регистровый стек сопроцессора организован по принципу кольца. Это означает, что среди всех регистров, составляющих стек, нет такого, который является вершиной стека.

Напротив, все регистры стека с функциональной точки зрения абсолютно равноправны. Но, как известно, в стеке всегда должна быть вершина. И онадействительно есть, но является плавающей. Контроль текущей вершины осуществляется аппаратно с помощью трехразрядного поля ТОР регистра SWR (рис. 17.2).В поле ТОР фиксируется номер регистра стека 0...7 (RO.. .R7), являющегося текущейвершиной стека.Регистр состояния SWRbсЗ1514topс2с1соessfреueоеze13 11 1098765432Рис. 17.2. Формат регистра состояния сопроцессора SWRdeie1ОКоманды сопроцессора не оперируют физическими номерами регистров стекаRO...R7. Вместо этого они используют логические номера этих регистров ST(0)...ST(1).

С помощью логических номеров реализуется относительная адресация регистров стека сопроцессора. Если текущей вершиной стека является физическийрегистр RO, то после записи очередного значения в стек сопроцессора его текущейвершиной станет физический регистр R7 (рис. 17.3, а). На рис. 17.3, б показан пример, когда текущей вершиной до записи в стек является физический регистр R3,а после записи в стек текущей вершиной становится физический регистр стека R2.То есть по мере записи в стек указатель его вершины движется по направлениюк младшим номерам физических регистров (уменьшается на единицу)^ Что касается логических номеров регистров стека ST(0).. .ST(1), то, как следует из рисунка,они «плавают» вместе с изменением текущей вершины стека. Таким образом, реализуется принцип кольца.На первый взгляд, такая организация стека кажется странной.

Но, как оказалось, она обладает большой гибкостью. Это хорошо видно на примере передачиАрхитектура сопроцессора451Состояние стека сопроцессора до выполнения операции записи в стекВершина стекаIполе top,j,Физическиеi номерарегистре ) стекасопроце ссораIRO st(0)Физические номерарегистров стекасопроцессора000 |SWR IПоле topSWRIIВершина стекаRO st(5)R1 st(1)R1 st(6)R2 st(2)R2 st(7)R3 st(3)R3 st(0)R4 st(4)R4st(1)R5 st(5)R5 st(2)R6 st(6)R6 st(3)R7 st(7)R7 st(4)tПоп ческие номерарегистров стекас ^процессораtЛогические номерарегистров стекасопроцессораСостояние стека сопроцессора после выполнения операции записи в стекФизические номерарегистров стекасопроцехораSWR IIRO st(7)Вершина стекаIПоле top^1 111 IФизические номерарегистров стекасопроцессораSWRIФRO st(6)R1 st(1)R1 st(7)R2 st(2)R2 st(0)R3 st(3)R3 st(1)R4 st(4)R4 st(2)R5 st(5)R5 st(3)R6 st(4)R6 st(6)R7 st(0)tПоп ческие номераре гистров стекаC(^процессора•JВершина стекаПоле top|010 |^R7st(5)Логические номерарегистров стекасопроцессораРис.

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

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

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

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