Главная » Просмотр файлов » В.Н. Пильщиков - Программирование на языке ассемблера IBM PC

В.Н. Пильщиков - Программирование на языке ассемблера IBM PC (1110551), страница 18

Файл №1110551 В.Н. Пильщиков - Программирование на языке ассемблера IBM PC (В.Н. Пильщиков - Программирование на языке ассемблера IBM PC) 18 страницаВ.Н. Пильщиков - Программирование на языке ассемблера IBM PC (1110551) страница 182019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Нулевое значение оператора означает, что иьи никак не описано в программе либо является названием команды, директивы или оператора, либо валяется именем, которому по директиве Щ() поставлено в соответствие нсчисловое значение. Оператор .ТУРЕ обычно используется в ыакроопределениях для проверки имен, заданных как фактические параметры. Доналнитвньныв воэможности 271 14.4. Директивы управления листингом При трансляции программы ассемблер формирует ее листинг, в котором помимо текста на ЯА указываются сгенерированный машинный код, диаптостические сообщения об ошибках, таблица имен с их атрибутами и т. д. Перечисленные ниже директивы влияют на формирование листинга - определяют размер его страниц, указывают, что включать в листинг, а что не включать, и т.

п. 21тье <толст> Под текстом (уголки не нужны) здесь понимается последовательносп любых си>аюпов, начиная с первого символа, отличного от пробела, и до конца строки (если текст большой, от него берутся первые 00 символов). Этот текст становится заголовком, который будет появляться в первой строке каждой страницы листинга. Директива может быть расположена в люболт месте программы. Допустиыа только одна директива Т1Т1 Е, появление второй директивы вызовет ошибку.

Если директивы нет, начальные строки страниц листинга будут пустыми. ВОВРРЬ <теаст> Укаэанный текст (см. директиву ТГП.Е) становится подзаголовком, который будет появляться во второй строке каждой страницы листинга, начиная с очередной страницы. Если лирекпшы нет, вторая строка страниц остается пустой. В программе может быть любое число директив ЯЗВТП..

(Эта директива может указываться без директивы Т(Т(.Е.) РАЯе (<лалла>1 [,<лнрлла>1 РА0Е + РА0Е Параметр "длина" - зто целое число от 10 до 255 (по умолчанию берется 50), а "ширина" - целое число от 00 до 132 (по умолчанию - 80). Первый вариант атой директивы устанавливает размер страниц листинга- число строк на странице (длину страницы) и число позиций в каждой строке (ширину). Этот размер устанавливается начиная со страницы, на которой находится директива. Если какой-то из параметров отсуктвует, то соответствующий Рзэмер страницы не меняется. Примеры: 1100 строк по 60 позиций в кааяой ;00 полиций л строже (число строл ле мелаетсл) РАЯЕ 100,60 Рхав ,ао "ДИАПОПМИФИ" На каждой странице (в прююй части ее первой строки) листинга указывается ее номер в визе Я-Р, где Я - номер секции, а Р - номер страницы в секции.

Начазьныйт ноыер равен 1-1. Номер страницы автоьитически увеличивается на 1 при переходе на новую страницу, номер же секции не меняется автоматически. Второй ва(еынг директивы (РАСЕ +) означает переход к новой секции и новой странице листише, при агом номер секции увеличивается на 1, а номер страницы становится равным 1. (Что считать секцией, когда менять номер секции - решает автор программы.) 272 Программирование яа язьия ассвмбяора 1ВМ РС Третий вариант директивы означает "насильственный" переход на новую страницу листинга с увеличением ноыера страницы на 1 и без изменения номера секции. .хьгвт По директиве прекращается формирование листинга (сама директива в него не попадает): все последующие строки программы не появятся в листинге. .ывт Директива отменяет действие директивы .ХЫЗТ, т.

е. восстанавливает формирование листинга (начиная с нее самой). Директива ЫЗТ подразумевается по умолчанию в начале программы. Пример: После ягой директивы в листинг не будут записываться макрорасширения и копии блоков повторений (в листинг попалуг только макрокомандм и исходные тексты блоков). После втой директивы в листинг будут записываться макрорасширения и копии блоков повторений, однако в них будут указываться только те прелложения, по которым асселгблер генерирует колшндм и данные (предложения-комментарии и некоторые директивы типа АЗЗ()МЕ или ЕЯ() не попадуг в листинг).

Этот режим устанавливается по умолчанию в начале программы. Директива отменяет лействие лиректив .ЗА1,Ь и .ХАЬЬ, после нее в листинг будут записываться все предяожения всех ывкрорасширений и всех копий блоков повторений. Директива подаюшет запись в листинг предложений тех ветвей 1Р-блоков, которые соответствуют ложным условиям. Зтот режим устанавливается по умолчанию в начале программы. .ьтсонп Директива отменяет действие директивы .ЗРСО)ЧТЗ, т. е. восстанавливает запись в листинг всех ветвей 1Р-блоков. .хыят гисглвв ьгвтв.ьвм .ывт ;воя превпопввпл включаемого файла ;ывтв.авм по заппопваптеп в ппотппг доооииигеиьиме еозмомиооги эта 14.5. Директивы контроля за работой ассемблера Здесь бегло рассматриваются директивы ЯА, позволяющие в той или иной мере контролировать процесс трансляции программы.

145.1. Директива %О1)Т Встречая при трансляции программы директиву аоот <ееаое> ассемблер неыелленно выдает на экран с новой его строчки указанный текст (последовательносп, любых символов до конца строки). Если директива находится внутри макроопределения или блока повторения, то в ее тексте можно указывать формальные параметры макроса нли блока (с уточнением, если надо, их грашщ ыакрооператором ос), которые перед печатью будут заменены на фыггические параметры. В машинную программу директива %О1)Т не попадает. Такие печати полезны для отслеживания процесса трансляции программы.

Например, если имеется макроопределение хх масло х аоот оорэиеееег вх х клс х внви то, скажем, по макрокоманде ЕХ 31 будет сформировано макрорасширение аоот овраиеееег кх аг пгс ах по которому ассеьгблер выдаст на экран текст "Обращение: ЕХ 3Г, а в машин- ную програьшу запишет команэу ЕчС 31. 14.52. Дополнительные 1г -даректзгвы Недостатком директивы %О()Т является то, что она "срабатывает" дважды, поскольку ассемблер два раза пргкматривает текст транслируемой программы. Последнее обстоятельство обусловлено трудносщми, которые испытывает ассемблер при трансляции ссылоь: вперед. Дело в том, что если ассемблер, просматривающий текст программы от начала к концу, встретит имя, которое еще не было описано, то он не будет знать, что обозначает зто имя, каковы тип и адрес ячейки, помеченной этим именем, и потому не булет знать, как транслировать предложение, в котором встретилось это шы.

Чтобы решип проблеыу со ссылками вперед, ассеыблер осущестюыет, как говорят, два прохода - он дважды полностью просматривает текст программы. На первом проходе он собирает информацию (типы, адреса и т. и.) обо всех именах, описанных в программе (в том числе и об именах, которые используются в программе до их описаньи), а на втором проходе, пользуясь этой информацией, уже переводит программу на машинный язык. "диалог-миеи" 278 Программнреванне на немев ассемблера (Ем РС Вообще говоря, можно и не знать об этих двух прохолах ассемблера, олнако иногда это знание полезно и даже необходимо. Например, если по директиве %О])Т нужно только один раз выдать текст на экран (только на первом или только на втором прохоле), тогда следует воспользоваться следующими 1р-директивами условного ассеыблирования: 121 1Р2 Условие директивы 1Г1 считается выполненным, когда ассемблер совершает свой первый проход (просыагривает текст программы в первый раз), и невыполненным при втором проходе.

И наоборот, условие директивы 1РВ считается выполненным на втором проходе и невыполненным на первом проходе. Следующие две директивы также относятся к 1Р-дирехтивюг: 1РОЕР <нмв> 1РМОЕР <нма> На первом проходе трансляции условие директивы 1Р)ЭЕР (11 дейлеб, если определено) считается выполненным, если указанное имя уже описано (до этой директивы) в программе, и считается невыполненным, если это иьш будет описано позже или вообще не описано в программе. На втором проходе условие директивы считается выполненным, если юш вообще описано в программе (до или после этой директивы).

В директиве же 1рХОЕГ (1( пог дейлеб) условие считается выполненным, если имя не было описано до этой директивы (для первого прохода) или если имя вообще не описано в программе (для второго прохода). Описанными считаются имена, указанные в левой части команд и директив, а также имена полей структур и записей, иыена регистров. Названия же команд, директив и операторов не относятся к описанныы именаь(.

Пример. По 1Е-блоку 1РОЕР М 8 Ов и ООР(т) ехае 8 ОВ 256 ООР(2] ЕМО1Р в окончательньш текст программы попалет описание 3 как массива из Х байтов, если в программе описано иьы Х, а иначе - кюс 25б-баГпового массива. 14.ЕЗ. Условная генерация ошибок При трансляции программы может возникнуть ситуация (например, в ыакрокоманле не указан обязательный параметр), когда с точки зрения правил языка в программе все в порядке, но вот с точки зрения логики програымы возникла ошибочная ситуация, которую может установить только автор программы.

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

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

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

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