Главная » Просмотр файлов » Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987)

Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084), страница 30

Файл №1092084 Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987)) 30 страницаЙ.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084) страница 302018-02-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Здесь будут рассмотрены две программы: программа пересылки данных и программа заполнения ячеек ЗУ единицами. Программа пересылки может понадобиться в том случае, когда требуется, например, перенести набор команд из одного участка ЗУ в другой. Объем передаваемых данных определяется начальным и конечным адресами, записанными в определенных ячейках оперативного ЗУ (ЗУПВ).

Сначала поясним работу этой программы с помощью блок-схемы. После этого рассмотрим несколько подробнее отдельные операции и обсудим, какие команды необходимо использовать для решения данной задачи и почему. Из рис. 3.40 видно, что начальные адреса пересылаемого участка ЗУ (х) и участка, куда необходимо переслать данные (у), передаются в две другие ячейки ЗУПВ. Это делается для того, чтобы можно было производить затем с содержимым этих адресов различныеоперации (напрнмер, увеличивать их на 1).

Далее адрес х загружается в регистр НЕ и выбирается первый байт из «старого» участка ЗУ. Здесь производится косвенная адресация, так как для определения адреса ячейки, из которой необходимо произвести выборку данных, считывается содержимое регистра НЕ. Ес- Рнс. 3.40. Структурная схема програм- мы пересылка. Г Источнон адреса Зуг Хн Иочальнид адрес Х и опе Отивное Зу Приемнин адреса ЗУ: У, шв Глава 3 ли соответствующий байт уже введен в аккумулятор А, то в НЕ пересылается адрес у, т. е.

первый адрес «нового» участка ЗУ. После этого записывается содержимое А (первый байт из «старого» участка ЗУ) в первый адрес «нового» участка ЗУ. В результате происходит пересылка первого байта данных. Содержимое регистра НЕ, в котором еще находится адрес у„ затем увеличивается на 1 и записывается снова в ЗУПВ. Адрес х после этой операции увеличится на 1 и также переписывается в ЗУПВ; при этом проверяется, не достигнут ли конечный адрес. Этот вопрос задается дважды: один раз для младшего байта (1) адреса и один раз для старшего байта (Н) адреса.

Только в том случае, когда оба байта НЕ и конечного адреса оказываются одинаковыми (два ответа Да), пересылка считается завершенной. До тех пор пока содержимое регистра Н1 не достигнет двоичной величины конечного адреса, в программе происходят обратные переходы и повторяется соответствующая подпрограмма пересылки, причем каждый раз из «старого» участка ЗУ в «новый» передается один байт. При каждом повторении подпрограммы оба адреса увеличиваются на 1. Если проанализировать теперь более подробно программу, приведенную в табл.

3.1, то по адресу 014100в обнаружим команду перехода ()МР), которая передает управление программе пересылки, первая команда которой находится по адресу 011 000». Как известно, МП 8085А начинает работу со сброса в нуль по адресу 000 000». Так как после этого рестарта планируется начать выполнение нескольких программ, то в ячейку с адресом 000 000» помещается команда ЛМР, которая передает управление по адресу 014100,.

После этого адреса в дальнейшем нужно выполнить еще один переход в начальный адрес выполняемой программы, так и как адрес ЗУ 014 100» является адресом ячейки ЗУПВ, в которую записывается требуемый переход ()МР). В системе, для которой составлена данная программа, адрес 000000» определяет ячейку СППЗУ, что н объясняет происхождение двойного перехода. Переход в ЗУПВ осуществляется прямо по адресу 100, так как адреса с 77 до 0 зарезервированы для хранения стековых адресов.

Подобная последовательность операций является необязательной и обусловлена распределением адресного пространства между СППЗУ и ЗУПВ. В ЗУПВ можно изменять содержимое адресов, в СППЗУ вЂ” нет. Ячейки с адресами 014 150в — 014 161в используются для хранения пересылаемых данных, а несколько ячеек из указанного диапазона образуют оперативное ЗУ переменного объема, т. е. используются для обеспечения адресации переменной длины. !67 Набор команд микроЭВМ Таблица ЗН. Программа: пересылка данных '(с загрузкой начальных условий) л ше зх Объектный кол Опнсанне операцнн!ном- ментарнй Исходный лад Метка шеста. весам. СЗ 00 303 000 40 18 ЗМР 014 100 101 Переход в начало программы! Ввести начальный адрес программы! 014 18 Ввести конечный адрес программы! Адрес оперативного ЗУ Загрузить начальный адрес пересылаемой программы в Н1. 052 2А 12 О!! ЕН1!а 000 68 ОС Переписать в оперативное ЗУ 5Н1!а Загрузить начальный адрес нового файла в НЕ ЕНЕП 12 01! Переписать в оперативное ЗУ ЗНЕП 102 150 151 !52 153 154 155 156 157 !60 161 7 010 1 2 3 42 68 69 6А ОВ 6С 60 6Е 6Г 70 71 01! ХХХ ХХХ ХХХ ХХХ ХХХ ХХХ ХХХ ХХХ ХХХ ХХХ 150 014 042 156 014 052 154 014 042 160 014 09 ХХ ХХ ХХ ХХ ХХ ХХ ХХ ХХ ХХ ХХ 22 6Е ОС 2А ОС ОС 22 70 ОС Ввести начальный адрес того участка ЗУ, где необходимо взять программу! Адрес оперативного ЗУ Глава 3 168 Адрес ЗУ Объектимй код Исходнмй код Метка носим.

не естн. 052 2А 1.Н1 Р 011 1.00Р 052 2Л ОП 020 1О 012 МОЧ 167 77 М,А 043 23 042 22 П4Х Н БАНЕР 011 12 18 ЬНЬР 1НХ Н 042 22 ЗНЬР 005 6 7 6 7 030 МОН А, М ЬН1.Р 156 014 17Ь 160 014 160 014 052 156 014 043 156 014 6Е ОС 7Е 70 ОС 70 ОС 2А 6Е ОС 23 6Е ОС Продолжение Описание операцин1ком- ментарий Загрузить начальный ад. рес нового файла в Н1. Переслать содержимое адреса в А Загрузить началытый ад- рес нового участка ЗУ Переписать содержимое А в оперативное ЗУ Адрес нового участка ЗУ Увеличить содержимое Н1. на 1 Переписать увеличенный адрес в оперативное ЗУ Загрузить начальный адрес пересылаемой про. граммы в НЬ Увеличить содержимое Н1. на 1 Переписать увеличенный адрес в оперативное ЗУ 169 Набор команд микроЭВМ Продолжение пирес зр Объект н ып коа Описание онераиик'ко»- ментарнб Икокньви кок Метка шести.

восьм. Загрузить конечный адрес в А (младший байт) О?2 ЗА СНА 152 6А 014 ОС 275 60 12 20 040 1 2 011 Сравнить содержимое А с содержимым 1. Если АФ1, переход по метке 1.00Р СМР Е 302 С2 017 011 072 ОГ 09 ЗА Загрузить конечный адрес в А (старший байт) 1.0А 153 6В 014 ОС 274 6С 050 12 28 011 Сравнить содержимое А с содержимым Н Если АФН, переход по метке 1.00Р СМР Н 302 С2 017 ОР 011 09 166 75 Конец НА1.Т Указанные адреса входят в состав операндов команд, приведенных в программе. Программа выполняется, начиная с адреса 011 000а. Сначала осуществляются выборка начального адреса в регистр Н(. и последующая его запись в оперативное ЗУ переменной длины. То же самое производится и с начальным адресом «нового» участка ЗУ, куда планируется переместить пересылаемую программу. Адреса в оперативном ЗУ переменной длины изменяются при каждом прохождении цикла, что и определяет название этого ЗУ.

17О Глава 8 Выборку и перезапись адреса можно выполнить по командам (.Н1.0 и ЗН(.Р. Эти команды пересылают за один прием два байта. Настоящая пересылка начинается с адреса 011 014м когда начальный адрес х («старый» участок ЗУ) снова загружается в регистр Н1., и затем по команде МО'Ч,АМ содержимое этой ячейки ЗУ пересылается в регистр А. После этого в регистр Н1. загружается начальный адрес у (пункт назначения) и снова выполняется пересылка, однако теперь уже по команде МОЧ,МА. Содержимое А (т. е.

содержимое х) при этом переносится в первую ячейку участка ЗУ (адрес пункта назначения). В регистре НЕ находится также начальный адрес у, который увеличивается на 1 по команде 11чХ,Н (см. адрес 011 024з). Увеличенный адрес снова переписывается в оперативное ЗУ переменной длины. То же самое производится и с начальным адресом х, как это следует из команд, находящихся по адресам 011 030з — 011 036а. Теперь требуется выяснить, когда адрес х, станет равным конечному адресу х,. Для этого конечный адрес (младший байт) загружается в А и сравнивается с помощью команды СМР с содержимым Е.

Если эти байты оказываются неравными, то разрешается условный переход 35)Х (если флажок нуля сброшен); при этом происходит возврат назад по метке 1.ООР, расположенной по адресу 011 017м Если указанные выше байты оказываются равными, то программа продолжается и проводится сравнение старших байтов х„и х,. Если достигается конечный адрес х„то программа по команде )НХ (адрес 011 052) переходит по адресу 011 055„где находится команда НАЕТ. Как видно из табл.

3.2, программа записи единиц почти идентична программе пересылки. В этой программе начальным адресом является 000000в, а конечным адресом — 004000з (десятичное число 1024). Программа предназначена для заполнения единицами определенного участка ЗУ, содержимое которого затем передается в СППЗУ, причем единицами заполняются только те участки, которые не используются при программировании. В следующей главе мы еще вернемся к причинам, обусловливающим такой режим заполнения, при обсуждении программного обеспечения для процедуры загрузки СППЗУ. Программа записи единиц отличается от предыдущей и методом загрузки данных. Здесь по адресу О11 116з вместо данных производится запись единиц. Единицы загружаются в аккумулятор А по команде МУ1 с операндом (байт 2) в виде 377м что соответствует единицам во всех разрядах ячейки. Конечный адрес х.

равен 1024кь так как запись единиц начинается с ячейки с адресом 000000м В рассмотренных программах 171 Вабор команд микроЭВМ (с загрузкой начальных условий) Адрес Зу Объектный код Исходный код Метка шести. 18 303 СЗ 40 014 !00 ЯМР 40 09 00 00 41 42 68 69 100 011 000 000 !О! 102 150 151 18 014 00 04 6А 6В 000 002 152 153 6С 6П ХХХ ХХХ ХХ ХХ 154 155 ХХ ХХ ХХ ХХ бЕ бр 70 7! 156 157 !60 161 ХХХ ХХХ ХХХ ХХХ 12 40 052 (,Н(.П 011 100 150 014 042 68 ОС 22 ЗНЕП 156 О!4 052 6Е ОС 2А (.Н10 154 014 6С ОС 7 110 12 48 Таодииа З.у. Программа: запись единиц Описание операпиитком- ментарий Переход в начало программы! Ввести начальный адрес (ввести 000 000а= =00 ООИ)! Ввести конечный адрес (ввести число адресных ячеек, заполняемых единицами) (1024=004 000а= =04 00м)1 Начальный адрес участка ЗУ, который необходимо заполнить единицами! Адрес оперативного ЗУ Адрес оперативного ЗУ Загрузить начальный ад.

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

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

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