Главная » Просмотр файлов » Бройдо В.Л., Ильина О.П. Архитектура ЭВМ и систем (2006)

Бройдо В.Л., Ильина О.П. Архитектура ЭВМ и систем (2006) (1186249), страница 85

Файл №1186249 Бройдо В.Л., Ильина О.П. Архитектура ЭВМ и систем (2006) (Бройдо В.Л., Ильина О.П. Архитектура ЭВМ и систем (2006)) 85 страницаБройдо В.Л., Ильина О.П. Архитектура ЭВМ и систем (2006) (1186249) страница 852020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

О АН = 56)т — переименование файла: в регистровой паре 08:0Х указывается адрес АЗС11Х-строки со старым именем файла, в регистры Е8:0~ заносится адрес АВС112-строки с новым именем файла. Во всех перечисленных случаях при появлении ошибки в выполнении процедуры в регистре»с флаг Ср устанавливается в «1»; код ошибки возвращается в регистре АХ. Ниже приводятся фрагменты программ работы с файлами по АВС11Х-строке: раСЬ бЬ С:тт!епаще.ехС. 0 : А5С117-строка Ьцт ОЬ 1000 бцр(?) ; буфер обмена Ьапб1е бы ? ; логический попер атее бы ? ; разиер файла 385 Программирование работы о файлами воч ЯН.

ЗЕН пач ВХ, Ьапб1е воч СХ. атее пач ОХ, оЛСзеС Ьцт тпС 21Н Зс геаб еггог Закрытие файла: воч ВХ, Ьапб1е пюч ЯН, ЗЕН тпС 21Н Зс с1озе егго г Добавление записей в файл. ; Открытие файла пач ОХ, оССзеС раСЬ воч ЯС. 1 пач ЯН, ЗОН тпС 21Н Зс орел еггог пач Ьапб1е, ЯХ ; Перенещение указателя в конец файла воч ВХ. АХ воч СХ. О воч ОХ, 0 пач ЯС, 2 воч АН, 42Н тпС 21Н Зс ро!пС еггог : Запись в файл ЗОО байт пач ЯН, 40Н пач ВХ.

Ьап61е Полная перезапись файла. : Открытие (создание) файла яач ОХ, оССзеС раСЬ пач СХ, 0 воч ЯН, ЗСН 1пС 21Н Зс орел еггог пач Ьап, АХ : Запись в файл 500 байт яач ЯН, 40Н пач ВХ. Ьапб1е воч СХ. 500 пач ОХ, оССвеС Ьц1 тпС 21Н Зс игтте еггог функция чтения из файла запись логического номера запись размера файла запись адреса буфера обнена выполнение прерывания если СЕ=1. обработка ошибки чтения из файла запись логического нонера функция закрытия файла выполнение прерывания если СЕ=1, обработка ошибни закрытия файла 386 Глава 18. Элементы программирования на языке ассемблера вот СХ, 300 пюч 0Х.

Оттзет Ьцт 1пг 21Н бс нг(се еггог Некоторые аспекты создания исполняемых программ Процедуры формирования программы Последовательность процедур формирования программы показана на рис. 18.1. Иополняемый файл (ехе) Объектный файл (.оь)) Ассемблирование (МДЗМ) За~рузка (ымк) Исходный файл (авгп) Рис. 18.1. Последовательность процедур формирования программы 1. Составление программы и ее ввод под каким-нибудь именем на диск (дискету).

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

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

Объектная программа еще не является законченной и исполняемой микропроцессором: в ней окончательно оформлены еще не все адреса (программа является «перемещаемойь) и не объединены части (блоки), оттранслированные отдельно друг от друга (например, с целью более простой их отладки). Преобразование объектной программы в исполняемую (компоновка объектной программы) выполняется редактором связей 1.1Ь)К (либо Т(.1ХК). Исполняемый файл после загрузки имеет расширение ЕХЕ. Отладку исполняемой программы удобно выполнять с помощью отладчика РЕВ()С. Структура программы иа языке ассемблера для получения исполняемого файла 387 2. Трансляция (ассемблирование) программы. При запуске транслятора МАЗМ вводится строка вида МАЗМ с:ргоп.азгп или просто МАЗМ.

Появится запрос: Загсе й1епагпе [.азгп]. Следует указать путь к файлу и имя исходного файла, если оно не было указано ранее. В ответ на запрос ОЬ]ее[ 111епагпе [ргоо.оЬ]] ввести имя объектной программы (объектного модуля), если оно отличается от имени исходного файла (иначе следует нажать клавишу Еп[ег). Если нужен листинг программы в машинных кодах, в ответ на Зоогсе 11з11пп [пц1 1зг] укажите местоположение и имя формируемого файла, иначе — нажмите клавишу Ептег. Для получения листинга перекрестных ссылок программы в ответ на Сгозз-гетегепсе [пи[.сгу] укажите местоположение и имя формируемого файла, иначе — нажмите клавишу Епгег.

Альтернативный вариант вьгзова ассемблера: МАЗМ [с:]ргоп, с:, с:, сс Листинг — распечатка, файл для распечатки; листинг программы содержит программу исходную и в машинных кодах, а также обнаруженные при трансляции ошибки в программе. Листинг перекрестных ссылок показывает имена переменных и номера строк программы, где зги переменные используются. 3. Компоновка объектного модуля (загрузка и редактирование связей). Вводится: 1.1[ЧК с:ргрк.оЬ] или просто 1.1[ЧК. Появится запрос: ОЬ]ее[ гпобо1еа [.оЬ1].

Следует указать имя файла .ОВ], если оно не было указано ранее. Следующий запрос: йоп й1е [ргоп.ехе]; если имя исполняемой программы другое, то следует его ввести, иначе — нажать Епгег. Озг г11е [пй.шар], следует ввести СО[Ч; МАР-файл содержит таблицу имен и информацию о размере сегментов, а также ошибки, обнаруженные при загрузке; ввод СО[Ч означает требование вывода их на экран дисплея.

Запрос ОЬгаг1ез [21Ь]: нажмите Ептег, если при сборке дополнительных библиотек связей не требуется. Альтернативный вариант вызова загрузчика: 1.1[ЧК [с:]ргоп.оЬ], с:, соп. 4. Отладка программы (при необходимости). Можно использовать отладчик РЕВ(]О. Вызов отладчика [)ЕВ[]С: ОЕВ[16 с:ргоп.ехе. 5.

Выполнение программы. При наличии приглашения к работе МЗ [)ОЗ ввести имя программы: с:ргоп[.ехе]. Структура программы на языке ассемблера для получения исполняемого файла формата ЕХЕ Операционная система МЗ [)ОЗ предъявляет некоторые обязательные требования к структуре АЗМ-программы, предназначенной для последующего создания ЕХЕ-файла: 388 Глава тэ. Элементы программирования нв языке ассемблера Сд Программа может использовать четыре сегмента памяти, начальные адреса которых должны быть загружены в регистры микропроцессора С8, 88, 08 и Е8, а сами сегменты в явном виде определены в программе в виде операторных скобок имя сегмента аедптепт,.

имя сегмента епттз (версии М8 О08 4.0 и выше допускают более простое указание сегментов в программе: нмя сегмента). 61 В программе должно быть указание, какие сегментные регистры закрепляются за используемыми сегментами памяти; при исполнении программы сегментные регистры С8, 88, Е8 в соответствии с этими указаниями загружаются автоматически. 12 Сегмент данных 08 в ЕХЕ-программе не может быть загружен автоматически, поскольку он используется программным загрузчиком для формирования начального адреса служебной области памяти — префикса программного сегмента (Р8Р), непосредственно предшествующего любой исполняемой программе ЕХЕ.

Регистр сегмента данных 08 должен быть инициирован принудительно — для этого следует в самом начале А8М-программы записать в стек вектор-адрес возврата к служебной области Р8Р: содержимое регистра 08 и нулевое смещение, а затем в регистр 08 загрузить адрес сегмента данных. Р8Р— это группа служебных слов в оперативной памяти, формируемая для каждой загружаемой программы пользователя и занимающая обычно 256 байтов (100)т). При запуске программы пользователя в ОЗУ автоматически формируется Р8Р, и ее начальный адрес помещается в регистр 08. С3 Обеспечение после завершения выполнения программы возврата к префиксу программного сегмента; проще всего это можно сделать, оформив обращение к исполняемой программе в виде обращения к процедуре (главной процедуре, обязательно с атрибутом 1аг) и поместив в конце программы команду возврата ге1 (выход из программы можно выполнить также, используя прерывание 20Н 1)08 или функцию 4СЬ прерывания 21Н 1)08, но управление при этом передается не в Р8Р, а непосредственно в резидентную часть программы СОММАЬП).СОМ).

Типовая структура АВМ-программы включает в себя: 1. Имя программы: Т1ТСЕ ргод.А5Н Может присутствовать комментарий назначения программы. 2. Инициализацию стековой памяти в сегменте стека: 5ТАСК5Е6 зедюепс в1асК ОЫ й' быр(?) ; неньюе 32 слов в стеке обычно задавать не следует 5ТЯСК5Е6 епоэ 3.

Инициализацию всех переменных в сегменте данных: ОАТА5Е6 зедяеп1 : задаются ииена всех констант и перененных. ; их начальные значения и резервируется память под них ОАТЯ5Е6 епбз 4. Назначение сегментных регистров в сегменте кодов: Структура программы на языке ассемблера для получения исполняемого файла 389 10. 11.

Итак, обобшенная структура программы: гес 5. 6. 7. 8. 9. СООЕ5Е6 зедвепг Аввове С5 собезед. 05 басазед. 55;зсасйзед Организацию главной программной процедуры тат: МЯ!й ргос таг Запись адреса префикса программного сегмента (РБР) в стек: рО5Ь 05 5ОЬ АХ, ЯХ розй АХ Инициализацию содержимого регистра сегмента данных: воч АХ, Оасазед воч 05, АХ . при указании в команде в качестве операнда символического : имени сегмента (басазед) происходит пересылка начального адреса ; этого сегмента — неверно указывать отйвег багазед Текст программы пользователя в сегменте кодов: ;основной текст програииы Восстановление адреса РБР в ЕЗВС гес Тексты процедур; если имеются процедуры пеаг, используемые в данной про- грамме, то записываются тексты этих процедур.

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

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

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