Главная » Просмотр файлов » Дж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979)

Дж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979) (1092080), страница 23

Файл №1092080 Дж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979) (Дж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979)) 23 страницаДж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979) (1092080) страница 232018-02-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Для хранения программы требуются девятнадцать слов, Программное обеспечение 147 Таблица 5.2 Программа примера 5А на машинном языке Ащмо (аестеадцатернчвма1 Операция Команда (деоечная1 Е» — О 0 е — 1 Е» — 08 Н» — 01 С» — 08 0001 0010 0010 0011 0001 0011 0000 1101 1100 0010 0000 1001 0000 0101 50С 5011 50Е 50Е 510 511 512 и программисту необходимо каждую команду записать в двоичном коде. Кроме того, требуется определить конкретные адреса всех команд в самой программе, чтобы можно было использовать команду перехода Л)МР. Например, второй и третий байты этой команды, расположенной по адресу 510, должны задавать адрес условного перехода на опчу из предыдущих команд.

В случае добавления новой команды до адреса 500 происходит смещение всех команд данной программы на один адрес. Поэтому, чтобы учесть новое положение команды 1ОА[) АСС[.)М[Л.АТОГч (ЗАГРУЗИТЬ В АККУМУЛЯТОР), следует скорректировать второй байт команды,[()МР. Таким образом, при написании программы на машинном языке программист должен постоянно помнить адреса всех команд и данных программы. Это очень утомительное занятие, при котором легко допустить ошибку. Однако поскольку микропроцессоры стоят недорого и часто используются для выполнения очень коротких !О* 500 501 502 503 504 505 506 507 508 509 50А 50В 0001 0001 оооо оооо ((В,)) 0000 0001 ( ( Ва ) ) 001'0 0001 0000 1000 0000 0001 0000 1110 0000 1000 1010 1111 0001 1010 1000 1110 0010 0111 Флажок перенос໠— 0 А» — [(0)(Щ А» — А+ [(Н) (Ц) + Перенос Произвести десятичную коррек- цию аккумулятора [((У) (ЕЦ вЂ” А Н,Ь вЂ” Н,Е+! !1, Е» — ат, Е+1 С» — С вЂ” 1 Если (НУЛЬ) СК» — 0509 148 Глава Б программ, то в ряде случаев можно программировать на машинном языке.

При этом программист должен представлять ожидающие его трудности. А вообще, как правило, рекомендуется программировать на символическом языке, за исключением, может быть, случаев простейших применений микропроцессоров. 5.5. СИМВОЛИЧЕСКИИ ЯЗЫК В символическом языке все операции и адреса обычно имеют символические обозначения. Это освобождает программиста от необходимости запоминать машинные коды команд и следить за абсолютной адресацией команд и данных. Символическое обозначение,может содержать любую комбинацию символов длиной до шести знаков (в зависимости от конкретного ассемблера), первым символом которой должна быть буква. В качестве примера в табл.

5.1 приведена мнемоника команд микропроцессора 1п1е! 8080. Символические обозначения команд отражают сущность выполняемых операций. Представление адресов при помощи их символических обозначений является важным свойством символического программирования, позволяющим производить обращения к командам и данным на уровне символических адресов. Типичный оператор на языке ассемблера записывается в виде строки, содержащей четыре поля: названия, операции, операнда и комментария. Эти поля отделяются разделителями, такими, как пробел, запятая, двоеточие, точка с запятой, косая черта, тире.

В поле названия записывается символический адрес (метка) команды. После трансляции программы метка заменяется конкретным адресом памяти, по которому хранится данная команда. Метка команды позволяет обращаться к ней из любой точки программы. Вполне понятно, что команды, к которым нет обращения, не требуют меток. В рассмотренном выше примере 5.1 необходима лишь одна метка для реализации оператора условного перехода. Если эту метку обозначить сокращенно как МООР, то на символическом языке 1п!е1 8080 соответствующая команда запишется следующим образом: 1.00Р : 1Л)АХ Р ; 8(аг! о1 !оор (начало цикла) Поле Поле Поле Поле названия операции операнда комментария В программе табл.

5.2 метке 1.00Р соответствует адрес 509. Поле операции содержит символическое обозначение команды, а поле операнда — символический адрес операнда. Содержимое Программное обеспечение 149 Таблица 5.3 Программа примера б.! ма символическом языке [51 0 М 0 Н 0 С 1.00Р поля комментария используется лишь для документирования символической программы и на программу в машинных кодах не влияет. В рассмотренном примере числа й!А и А!В могут быть символически адресованы как ЖА и А!В без указания их истинного адреса. В этом случае й!А примет значение 100га (адрес первого байта ЖА), а А! — значение 108,е, С использованием символического языка программа, приведенная в табл.

5.2, может быть записана так, как это показано в табл. 5.3. ПСЕВДОКОМАНДЫо Поскольку после трансляции командам и данным должны быть . присвоены истинные адреса, ассемблер должен располагать их начальным адресом. Эта информация, а также другие данные, необходимые для работы ассемблера, задаются при помощи псевдо- команд, Последние записываются так же, как и машинные команды, но используются лишь в процессе трансляции программы как команды ассемблера; Основные псевдокоманды относятся к одному из следующих типов: 1.

ОИЙ1[ч[ (АР[утсЕЯВ). Этот оператор всегда помещается в начале программы на языке ассемблера и определяет адрес, начиная с которого размещаются последующие команды. Ассемблер осуществляет последовательную адресацию команд до тех пор, пока не встретится другой оператор Отс1О[Ы. Наиболее часто ис- о В отечественной литературе более употребительным является термин: «команды ассвмблераж — Прим. перев. 1.Х1 1.Х! М"ч'! ХКА ЕООР: 10АХ АРС РАА БТАХ 1[ЧХ ПЧХ РСй г!чс Р, !ЧА ; Загрузить адрес АгА в регистры 0 и Е.

Н, [ЧВ; Загрузить адрес А!В в регистры Н и Е. С, В ; Очистить разряд переноса. ; Загрузить байт УА в аккумулятор. ; Прибавить байт !УВ к содержимому аккумуля-- тора. 159 Глава б пользуемые для данного оператора обозначения — ОКО, ВЕО, ' и др. 2. ЕЯ1)АТЕ. Данный оператор присваивает числовое значение символу. Например, оператор Х=40 или Х ЕЯ 40 означает, что в транслированной программе по адресу, соответствующему метке Х, будет помещено число 40. При помощи этого оператора двум различным меткам может быть назначен один и тот же физический адрес, например равенство Х=КО определяет взаимозамеияемость Х и КО. Подобная операция используется при составлении программ с целью экономии памяти.

3. В1ОСК. Определяет последовательность чисел — массив, таблица и т. п. Например, в результате выполнения оператора Е!ЗТ: ВЕК 26, 3, 76, 44 в последовательных ячейках памяти, начиная с адреса, определяемого меткой ПЯТ, будут записаны четыре числа — 26, 3, 76, 44. При обращении по метке ЫЗТ получаем доступ к первому слову данных блока. Для большинства ассемблеров допускается относительная адресация при работе с другими словами блока. В этом случае, например, символический адрес ЫЯТ+2 относится к числу 76 — третьему слову блока.

Для обозначения рассматриваемого оператора используются символы В1К, ВВ и др. Таблица 5.4 Псевдокоманды учебной программы (1п)е1 8980) ОйО РВ РВ ОйО !ООНО 73, 01, 01, 90, 38, 00, 01, 60 02, 00, 34, 10, 32, 96, 00, 00 300Н Снмволнческан программа табл. 3.3 )р 1т, )тВ: Е!ЧР Ч Н обозначает меотнадаатеричное числе. 4. ЕИО. Определяет конец исходной программы. Трансляция прекращается, как только ассемблер встречает эту команду. Предположим, мы хотим написагь на языке ассемблера программу примера 5.1 для микро-ЭВМ МСЗ-80 на базе процессора !п1е! 8080. Команды этой программы приведены в табл.

5.3. Для того чтобы числа АгА и А!В разместились, начиная с адреса 100ы, необходимо .выполнить ряд операторов, которые представлены в табл. 5.4. Программное обеоаееенае 153. ЛИТЕРАЛЫ Предположим, что в некоторой точке программы к содержимо му аккумулятора добавляется число 3. Тогда оператор ТНКЕЕ ЕЯ 3 назначит некоторый адрес, метке ТНКЕЕ и по этому адресу запишет число 3.

А по команде АР ТНКЕЕ содержимое памяти по адресу ТНКЕЕ добавляется к содержимому аккумулятора. При подобном подходе программист должен, помнить символические обозначения всех констант. Этот же результат можно получить, если использовать команду сложения с непосредственными данными, например АР1 3. В данном случае число 3 будет храниться в памяти непосредственно после команды. При необходимости повторного использования этой константы ее необходимо снова занести в память, если программист ие помнит абсолютный адрес числа 3. Литералом называют псевдокоманду, непосредственно определяющую значение числа, над которым производится операция.

Если ассемблер допускает работу с литералами, то сложение можно выполнить при помощи только одной команды: АР=3 Для того чтобы показать ассемблеру, что используется литерал, обычно применяют знак равенства. В этом случае символическому обозначению числа 3 присваивается адрес, по которому в. памяти хранится это число. Если тот же литерал встречается в программе опять, ассемблер распознает его и использует ранее. определенный адрес числа 3.

Применение литералов сокращает количество необходимых определений символических обозначений и является более эффективным с точки зрения экономии памяти,. чем использование команд с непосредственными данными. МАКРОКОМАНДЫ Трансляция операторов символического языка на машинный язык обычно выполняется по принципу один-в-один. Однако в ряде случаев удобно один символ использовать для обозначения целой группы команд. Такая возможность реализуется при помощи псевдокоманды, называемой макрокомандой.

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

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

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

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