Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Любая задача на C/C++
Одно любое задание в mYsql
Сделаю ваше задание: Лабораторная работа на Pascal / Lazarus
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си

Способы адресации

2021-03-09СтудИзба

4.3 Способы   адресации

       Чтобы   МП  оказался   в  состоянии   выполнить   команду, ему  необходимо сообщить  месторасположение  данных, которые   обрабатывает  команда.

       Тип   обращения  к  данным  называют  способом  адресации.  Способ   адресации -  способ  определения   места   операнда  команды.

       Хотя  МП  располагают  разными  наборами  команд, принципы   адресации  в них   одни  и  те  же.  Число   команд значительно   больше, чем  число  различных  кодов  операций, поскольку  при  формировании  команды  один  и  тот  же  код  операции  может   использоваться   при   различных   способах  адресации.

       Рассмотрим  пять основных  способов адресации: неявная, регистровая, непосредственная, прямая  и  косвенная.

       Два первых способа адресации (регистровый  и  неявный) касаются  операндов,  расположенных  в самом  МП. Три  последних способа адресации  (непосредственный, прямой  и  косвенный)  относятся  к операндам, расположенным  вне  МП, т.е. в   ячейках  памяти  или  портах ВВ.

       Разные  ЭВМ  имеют  различные   способы  адресации. Набор   способов  адресации   зависит   от  специализации  ЭВМ. Кроме   пяти   основных  в ЭВМ  применяют   и  другие   способы  адресации. Например: страничная  адресация, индексная  адресация, относительная адресация.

Регистровая   адресация.

       Команды   с  регистровой  адресацией  занимают  1  байт  потому  что   они  не   требуют    данных  и адресов  вне  МП. Адреса  данных   подразумеваются  самой   командой.  Однобайтовые   команды   адресуются  к   данным,  расположенным  только внутри МП. Они   оперируют  данными, загруженными в регистр  или  регистровую  пару.

Рекомендуемые материалы

Пример.   На  рисунке команда  пересылки данных  из  регистра А  в регистр В  состоит  из  кода  операции, адреса  источника  данных (регистр А)  и  адресат  приемника   данных ( регистр В).

   0

    1

        0

     0

       0

        1

    1

      1   

                                                    4                                               7

           КОП                             адрес  регистра В                    адрес  регистра А

Это   команда  MOV B,A  её  код 47.

Команда   пересылки  содержимого  регистра А  в   регистр В, в   которой  использована  регистровая   адресация.

       Адрес  регистра А – 111, адрес   регистра В – 000. Адреса   источника  и  приемника   данных   встроены  в   команду  и таким  образом   указаны   неявно. Команды    с  регистровой адресацией  отличаются   наибольшей  величиной   быстродействия.

       Под  номера   регистров  в  поле  команды  отводятся  определенные   разряды:  три  младших (В 2 – В 0 )  кодируют  номер регистра – источника, содержащего  операнд,  а  три  средних (В  - В 3 )  -  номер  регистра – приемника, в  который  засылается  результат  операции.

Принято   следующее  кодирование  регистров:

000 – регистр В                         100  - регистр Н

001 – регистр С                         101  - регистр L

010 – регистр D                         110 – ячейка  памяти

011 -  регистр Е                          111 - аккумулятор

 

Неявная  адресация.

       Примерами  команд  с неявной   адресацией   могут    служить   следующие   команды: STC, CMA, NOP.

STC –  установить  индикатор  переноса.

CMA – инвертировать  содержимое  аккумулятора.

NOP -  нет операций.

       При   выполнении   команд   с неявной  адресацией  не требуется  искать  данные  или  адреса в других   регистрах МП, в  памяти  или   портах УВВ.

Например, команда    STC  устанавливает   индикатор   переноса ( CY)     1 без   воздействия   на   другие   регистры  или   индикаторы. Таким образом,  команда  STC  относится    только  к   индикатору   переноса  и  никакому  другому  регистру  или  памяти.

       Команды  с  неявной   адресацией  занимают  1 байт  памяти.

Непосредственная   адресация.

       Код   операции  команды  с  непосредственной  адресацией   размещается в  первом  байте. Сразу   же  за КОП  следуют  данные, занимающие  1  или  2  байт. Эти  данные   берутся   не  из   памяти.  Их  предоставляет    программист  при  записи   команды.  Следовательно,  при   использовании  данного способа  адресации  не  требуется   указание  адреса  памяти, необходим  только   код  операции,  после  которого   записываются  данные.  Таким  образом, операнд  следует  в    команде  непосредственно  за КОП. Рассмотрим   пример   этого   типа   команд. Команда  загрузить  данные   в SP -  это   трехбайтовая   команда.

2000

КОП  31 Н

2001

0111  0000

2002

000   0010

   младший  байт       загрузить              SP

000 0010

01110000

LXI SP                                                       

старший байт

                                                        после  операции

      

       В рассматриваемом  случае  2 байт  данных  берутся  в памяти  программы  и помещаются  в   указатель  стека. Младший   байт  01110000  загружен  первым, затем старший   байт  000 0010.

       Операции,  задаваемые   первым   байтом   команды   (кодом  операции), МП  выполняет  над   данными, представленными  её  вторым  байтом.

Прямая    адресация.

       Команды    с  прямой   адресацией  имеют   длину,  равную  2  или 3  байт. Первый  байт  предназначен  для  КОП, второй  и третий -  для   адреса.

       Адрес   указывает   область  памяти, в  которой    находятся  подлежащие  обработке  данные. Совместное   использование   2 и 3  байтов  команды  позволяет адресоваться  к  любой  из  65536  областей   памяти.

       При  этом  способе адресации  адрес операнда  содержится в самой команде  и  для его   формирования  не   используется   никаких   дополнительных  источников  или   регистров.

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

       Примером   использования  такой   адресации   может служить   команда  записи  содержимого   аккумулятора   в память    по   адресу  000ЕН.  Этот   адрес    занимает  второй   и третий   байты   команды. Байты   команды  показаны  на рисунке.

КОП   М               А

                0ЕН

                00Н

2 – й  байт

 3 – й  байт

Косвенная    адресация.

       Этот    тип   адресации    реализуется  командами    длиной  в  один  байт. Помимо   кода  операции   в такой   команде   указывается   номер  регистра, содержимое  которого -  адрес местоположения  данных  в  памяти.

Указанная адресация называется  косвенной.  При  косвенной адресации  соответствующая команда указывает, в какой регистровой паре размещаетсяадрес местоположения  данных  в памяти.

      Рассмотрим  пример:  загрузить в аккумулятор  данные из ячейки  памяти, адрес которой находится  в  регистровой  паре  НL. Обратимся к следующему  рисунку.

До  операции                 После операции              

Память   данных                             передать аккумулятор           

MOV A,M


2080H

11110000

В лекции "1.3. Классификация компьютерных сетей" также много полезной информации.

1111 0000                                                         

2080 H


                                    Адрес

  Пара  НL

       На рисунке  содержимое  памяти   по  адресу 2080Н загружается в аккумулятор. Адрес   ячейки  памяти  2080Н  указан  содержимым  пары НL, которая  здесь  играет  роль  адресного  регистра.

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