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

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

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

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

Тем самым мы получаемдоступ ко второму байту поля flp.Для двунаправленной пересылки данных применяют команду XCHG. Для этойоперации можно, конечно, применить последовательность из нескольких командMOV, но из-за того что операция обмена используется довольно часто, разработчики системы команд процессора посчитали нужным ввести отдельную команду обмена — XCHG.

Естественно, что операнды должны иметь один тип. Не допускается(как и для всех команд ассемблера) напрямую обменивать между собой содержимое двух ячеек памяти. К примеру,xchgах,Ьх;обменять содержимое регистров ах и Ьх;обменять содержимое регистра ах и слова в памяти по адресу в [si]:xchgax,word ptr [si]Ввод из порта и вывод в портВ главе 5 при обсуждении вопроса о том, где могут находиться операнды машинной команды, мы упоминали порт ввода-вывода.

Физически порт ввода-выводапредставляет регистр разрядностью 8, 16 или 32 бита. Доступ к устройствам ввода-вывода, системным устройствам компьютера осуществляется посредством этихрегистров, причем каждый из этих регистров должен иметь возможность уникальной идентификации. С этой целью архитектурно процессор поддерживает такназываемое адресное пространство ввода-вывода. Адресное пространство вводавывода физически независимо от пространства оперативной памяти и имеет ограниченный объем, составляющий 216, или 65 536, адресов ввода-вывода.Таким образом, порт ввода-вывода можно определить как 8-, 16- или 32-разрядный аппаратный регистр, имеющий определенный адрес в адресном пространстве ввода-вывода.

Вся работа системы с устройствами на самом низком уровневыполняется с использованием портов ввода-вывода. Посмотрите на рис. 7.1. Нанем показана сильно упрощенная концептуальная схема управления оборудованием компьютера.150Глава 7. Команды обмена даннымиПрограмма пользователяФункции операционной системыФункции BIOSПространство портов ввода-выводаАппаратура компьютераРис. 7.1. Концептуальная схема управления оборудованием компьютераКак видно из рисунка, самым нижним уровнем является уровень BIOS, на котором работа с оборудованием ведется напрямую через порты. Тем самым реализуется концепция независимости от оборудования. При замене оборудования потребуется лишь подправить соответствующие функции BIOS, переориентировавих на новые адреса и логику работы портов.Принципиально управлять устройствами напрямую через порты несложно.Сведения о номерах портов, их разрядности, формате управляющей информацииприводятся в техническом описании устройства.

Необходимо знать лишь конечную цель своих действий, алгоритм, в соответствии с которым работает конкретное устройство, и порядок программирования его портов. То есть, фактически,нужно знать, что и в какой последовательности нужно послать в порт (при записив него) или считать из него (при чтении) и как следует трактовать эту информацию. Для этого достаточно всего двух команд, присутствующих в системе командпроцессора:li in <аккумулятор>,<номер_порта> — ввод в аккумулятор из порта с номером <номер_порта>;ж out <номер_порта>,<аккумулятор> — вывод содержимого аккумулятора в портс номером <номер_порта>.Возможные значения операндов этих команд приведены в приложении.

Необходимо отметить, что использовать эти команды вы сможете без проблем тольков программе, предназначенной для MS-DOS. При попытке их запуска в программе для Windows вы получите ошибку. Это не означает невозможности запуска исполняемого модуля описанной далее программы в сеансе Windows.

Более того,Windows поддержит реализацию полного цикла разработки данной программы,но сделано это будет в специальном режиме работы — режиме виртуального процессора х86.В качестве примера рассмотрим, как на уровне аппаратуры заставить компьютер издавать звуки через свой внутренний динамик. На большинстве компьютеров читателей это будет некоторый треск. Изменяя различные параметры программы, в идеале, вы можете получить звук, напоминающий сирену.Вначале мы перечислим, какие аппаратные ресурсы будут задействованы и какими надо управлять.Ввод из порта и вывод в порт151В большинстве компьютеров есть внутренний динамик.

Раньше он использовался для того, чтобы издавать звуки при работе самых различный приложений,вплоть до игровых. Сейчас у него осталась единственная важная функция — воспроизведение звуков, которые генерирует BIOS на этапе тестирования и начальной загрузки.ПРИМЕЧАНИЕНесмотря на то что прямой доступ к портам ввода-вывода доступентолько из среды MS-DOS, сведения о номерах портов и особенностяхработы с ними полезны и при программировании для Windows.

Еслисистемы Windows 95/98 практически не закрывают доступ к портам,то в Windows NT/2000/XP любая попытка обращения к ним приведетк возникновению ошибки. Причина в том, что порты являются критически важным ресурсом, и механизмы защиты Windows NT/2000/XPне могут допустить их монополизацию каким-либо приложением. Операционная система Windows NT/2000/XP предоставляет программисту функции API для работы с устройствами, посредством которыхв конечном итоге и осуществляется доступ к портам посредством команд IN и OUT. Попытка использовать эти команды в программепользователя в среде Windows NT/2000/XP приведет к возникновению исключения по недопустимому коду операции. Важно понимать,что на низком уровне управление аппаратурой компьютера ведетсяс использованием тех же портов, что и при работе в MS-DOS, то естьфизика остается, меняется логика управления аппаратурой.

Если программе удастся получить уровень привилегий ядра (такой уровеньимеют драйверы устройств), то в этом случае она может беспрепятственно использовать команды IN и OUT и работать с устройствомтак же, как в среде MS-DOS. Существуют специальные программы,которые позволяют получить доступ к портам ввода/вывода из программы пользователя, исключая необходимость написания драйвера.Среди файлов, прилагаемых к книге, содержатся две наиболее известные из таких программ — UserPort и PortTalk1.Как это ни удивительно, но специальной схемы генерации звука для внутреннего динамика нет. Сигнал для управления динамиком формируется в результатесовместной работы следующих микросхем:II программируемого периферийного интерфейса (ППИ) 18255;« таймера 18253.Общая схема формирования такого сигнала показана на рис.

7.2.Обсудим представленную схему. Основная работа по генерации звука производится микросхемой таймера. Микросхема таймера (далее просто таймер) имееттри канала с совершенно одинаковыми внутренней структурой и принципом работы. На каналы таймера подаются импульсы от микросхемы системных часов,которые, по сути, представляют собой генератор импульсов, работающий с частотой 1,19 МГц. Каждый канал имеет два входа и один выход. Выходы канала замкнуты на вполне определенные устройства компьютера. Так, канал 0 замкнут наВсе прилагаемые к книге файлы можно найти по адресу http://www.piter.com/download.

—Примеч. ред.152Глава 7. Команды обмена даннымиСистемные часы(генераторимпульсов,частота 1,19 МГц)Таймер I8253Канал ОПорт 40hКанал 1Порт 41 hРегистр ввода-вывода(порт 42h)Канал 2Регистр-счетчик(count=count-1)Рис. 7.2. Схема формирования звука для встроенного динамикаконтроллер прерываний, являясь источником аппаратного прерывания от таймера, которое возникает 18,2 раза в секунду. Канал 1 связан с микросхемой прямогодоступа к памяти (DMA). И наконец, канал 2 выходит на динамик компьютера.Как мы отметили, каналы таймера имеют одинаковую структуру, основу которойсоставляют три регистра:регистр ввода-вывода разрядностью 8 битов, регистр-фиксатор (latch register) и регистр-счетчик (counter register), оба по 16 битов.

Все регистры связаны между собой следующим образом. В регистр ввода-вывода извнепомещается некоторое значение. Источником этого значения может быть либосистемное программное обеспечение, либо программа пользователя. Каждый регистр ввода-вывода имеет адрес в адресном пространстве ввода-вывода (номерпорта ввода-вывода). Регистр ввода-вывода канала 2 имеет номер порта вводавывода 42h. Помещаемые в него значения немедленно попадают в регистр-фиксатор, где значение сохраняется до тех пор, пока в регистр ввода-вывода не будетзаписано новое значение. Но как согласуются эти регистры по их разрядности, ведьодин из них 8-, а другой 16-разрядный? Для этого предназначен регистр управления (ему соответствует порт 43h), который является частью механизма управления всей микросхемой таймера.

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

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

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

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