Главная страница
Навигация по странице:

  • Прямая регистровая адресация (№0).

  • Прямая автоинкрементная адресация (№2)

  • Прямая автодекрементная адресация (№4)

  • Прямая индексная адресация (№6)

  • Косвенные методы адресации

  • Косвенно - регистровая адресация (№1)

  • Косвенно - автоинкрементная адресация (№3)

  • Косвенно - автодекрементная адресация (№5)

  • Косвенно - индексная адресация (№7)

  • Методы адресации, использующие в качестве РОН R7

  • Непосредственный метод адресации (№ 2)

  • Абсолютный метод адресации (№ 3)

  • Относительный метод адресации (№ 6)

  • Косвенно-относительный метод адресации (№ 7)

  • 0_МПиИСТС_Все главы. Микропроцессоры и интерфейсные средства транспортных средств


    Скачать 10.01 Mb.
    НазваниеМикропроцессоры и интерфейсные средства транспортных средств
    Анкор0_МПиИСТС_Все главы.doc
    Дата18.12.2017
    Размер10.01 Mb.
    Формат файлаdoc
    Имя файла0_МПиИСТС_Все главы.doc
    ТипУчебное пособие
    #11960
    страница33 из 47
    1   ...   29   30   31   32   33   34   35   36   ...   47

    6.11 Контрольные вопросы и задания


    1. Перечислите отличия между микропроцессорами 8086/8088 и 80186/80188.

    2. Какие аппаратные усовершенствования имеются в микропроцессорах 80186/80188, которых нет в микропроцессорах 8086/8088?

    3. К какому типу интегральных схем можно отнести микропроцессоры 80186/80188?

    4. В чем заключается важность параметра времени доступа к памяти?

    5. К какому количеству байтов физической памяти может обращаться микропроцессор 80286?

    6. При использовании блока управления памятью к какому количеству байтов виртуальной памяти способен обращаться микропроцессор 80286?

    7. Набор команд микропроцессора 80286 идентичен с набором команд какого микропроцессора, за исключением команд управления работой блока управления памятью.

    8. Сколько байт физической памяти может адресовать микропроцессор 80386 при работе в защищенном режиме?

    9. Сколько байт виртуальной памяти может адресовать микропроцессор 80386 посредством блока управления памятью MMU?

    10. Опишите различия между микропроцессорами 80386DX и 80386SX.

    11. Изобразите карту памяти микропроцессора 80386 при работе в:

    а) защищенном режиме,

    б) реальном режиме.

    1. Опишите систему памяти микропроцессора 80386 и объясните назначение и функционирование сигналов для выбора банков памяти.

    2. Объясните принцип действия аппаратного сброса микропроцессора 80386 и значение на его линиях адреса при этом.

    3. Объясните, каким образом конвейерная адресация продлевает время доступа к памяти для многих обращений к памяти в микропроцессорной системе 80386.

    4. Кратко опишите действие системы кэш-памяти.

    Глава 7. Микропроцессор К1801ВМ1, магистраль Q-bus




    7.1 Микропроцессор К1801ВМ1


    Микропроцессор К1801ВМ1 - универсальный микропроцессор. Он предназначен для работы в микропроцессорных системах, использующих системную магистраль “ Q-bus “ или “ МПИ “ - магистраль передачи информации. Эта магистраль является мультиплексированной и содержит 2 основные шины : 16-ти разрядную шину “ адрес-данные “ и “ шину управления “.

    Микропроцессор является оригинальной отечественной разработкой, хотя прототипом для него послужил модуль центрального процессора миниЭВМ PDP-11 и аналогичный ему модуль центрального процессора микроЭВМ LSI-11 (отечественный аналог – микроЭВМ «Электроника-60М).

    7.1.1 Структурная схема микропроцессора К1801ВМ1




    Рис. 7.1 Структурная схема микропроцессора К1801ВМ1



    INIT - инициализация ВУ, СБРОС (триггер запросов прерываний)

    ACLQ - авария сетевого питания

    DCLQ - авария источника питания

    VIRQ - запрос прерывания от ВУ

    IRQ 1 - сигнал перехода в пультовый режим

    IRQ 2 - сигнал прерывания с вектором 1008

    IRQ 3 - сигнал прерывания с вектором 2708

    IAKO - предоставление прерываний

    SP - резерв

    RPLY - ответ ведомого устройства

    SYNC - синхронизация обмена (подтверждение выдачи адреса)

    DOUT - вывод (запись)

    DIN - ввод (чтение)

    WTBT - вывод; вывод байта

    DMR - запрос прямого доступа к памяти

    SACK - подтверждение предоставления прямого доступа к памяти

    DMQO - предоставление прямого доступа к памяти

    SEL 1, SEL 2 - выборка регистров ввода-вывода

    BSY - сигнал занятости системного интерфейса

    7.1.2 Основные технические характеристики


    Разрядность - 16 бит (шина адрес/данные);

    Представление чисел - дополнительный код с фиксированной запятой;

    Дополнительная форма представления чисел – код с плавающей запятой;

    Система счисления, используемая для записи адресов, операндов, кодов команд – 8-ричная;

    Количество РОН - восемь;

    Наличие особого регистра типа аккумулятора – нет;

    Адресное пространство - 64 КБайта или 32 Килослова;

    Минимально-адресуемая единица информации - 1 байт;

    Адресные пространства ячеек памяти и внешних устройств – объединены;

    Область адресов внешних устройств – с 177600 по 177777;

    Количество линий запросов на прерывание - четыре;

    Тактовая частота - от 100 КГц до 5 МГц;

    Количество методов адресации - 8 ( 16 );

    Максимальное быстродействие выполнения команд сложения при регистровом методе адресации - до 500 тыс. операций/сек.;

    Мощность - 1,2 Вт;

    Напряжение питания - +5 В;

    Технология изготовления - n-МОП;

    Планарный корпус с 42 выводами.

    7.1.3 Регистровая модель микропроцессора





    Рис. 7.2 Регистровая модель микропроцессора


    DPU - устройство обработки информации

    R0 - R7 - регистры общего назначения

    R6 - указатель стека (SP)

    R7 - счетчик команд (PC)

    RS - регистр состояния, включающий 6 триггеров

    В числе РОН нет регистра типа “ аккумулятор “, но определенная специализация в использовании РОН есть, а именно R6 всегда используется как указатель стека, а R7 - как счетчик команд.

    ССП (слово состояния процессора) - содержит 6 бит, включая 4 флага.

    Слово состояния процессора содержит информацию о текущем состоянии процессора. Это информация о текущем приоритете процессора, значении кодов условий ветвления, зависящем от результата выполнения команды, и состоянии Т-разряда, используемого при отладке программы и вызывающего прерывание программы. На рис.7.3 показан формат ССП. Разряд приоритета процессора (7-разряд ССП) может находиться в состоянии "0" или "1". В последнем случае внешние устройства не могут вызывать прерывание текущей программы. Для удовлетворения требований прерывания программы разряд 7 ССП должен быть равен 0.

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

    Z=1, если результат равен 0;

    N=1, если результат отрицателен;

    С=1, если в результате выполнения команды произошел перенос из самого старшего разряда, или, если при сдвиге вправо или влево из самого младшего или самого старшего разряда была выдвинута единица;

    V=1, если в результате выполнения команды произошло арифметическое переполнение.

    При выборке из стека нового слова состояния процессора и занесении его в регистр состояния процессора (РСП) может устанавливаться или очищаться Т-разряд ССП. Если он установлен, то по завершении выполнения текущей команды будет вызвано прерывание программы с вектором 14 и из ячейки 16 будет занесено в регистр состояния новое слово состояния процессора. Использование Т-разряда особенно эффективно в отладочных программах для организации такого режима выполнения отлаживаемой программы, когда исполнение интересующих пользователя команд вызывает прерывание программы и переход на программу работы с оператором. Это дает возможность пользователю предпринять необходимые действия.




    Рис.7.3 Слово состояния процессора ССП




    7.1.4 Адресное пространство


    Шестнадцатиразрядный код адреса позволяет обращаться к 32К 16-разрядных ячеек. Нижние 4К адресов (1600008÷1777778) отведены под регистры внешних устройств. Однако пользователь не обязан использовать все адреса этого пространства исключительно для этой цели и может руководствоваться соображениями необходимости.

    Как показано на рис.7.4, слово делится на старший и младший байты. Ячейки, содержащие полные слова, всегда имеют четные адреса. Адреса байтов могут быть как четными, так и нечетными. Адрес младшего байта слова является четным и совпадет с адресом самого слова, адрес старшего байта слова является нечетным и на 1 больше адреса соответствующего слова (рис. 7.4). Адреса и данные принято записывать в 8-ричной системе исчисления (от 000000 до 177777). Организация памяти микропроцессора по словам и байтам для первых 4К адресов приведена на рис. 7.5.





    15




    8

    7




    0

    Старший байт

    Младший байт




    Рис.7.4 Формат слова микропроцессора




    Слово







    Байты

    байт

    байт













    Старший

    Младший

    000000




    Младший

    000000

    Старший

    Младший

    000002




    Старший

    000001

    Старший

    Младший

    000004




    Младший

    000002

    Старший

    Младший

    000006




    Старший

    000003

    Старший

    Младший

    000010




    Младший

    000004



















    Старший

    Младший

    017772




    Старший

    017775

    Старший

    Младший

    017774




    Младший

    017776

    Старший

    Младший

    017776




    Старший

    017777

    Рис.7.5 Организация памяти микропроцессора по словам и байтам для первых 4К адресов
    Часть адресов зарезервирована для использования при обработке внутренних и внешних прерываний программы (адреса 0÷3768)

    Пример:



    7.1.5 Формат команд


    В микропроцессоре используются три типа команд: безадресные, одноадресные и двухадресные. В безадресных командах код команды содержит только код операции. В кодах одноадресных и двухадресных команд обычно содержится информация, которая определяет:

    - выполняемую функцию (код операции);

    - регистры общего назначения, используемые при выборке операндов;

    - метод адресации (способ использования выбранного РОН).

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

    Регистры общего назначения могут быть использованы:

    - как накопители (обрабатываемые данные хранятся в регистрах);

    - как указатели адреса (регистр общего назначения содержит адрес операнда, а не сам операнд);

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

    - как индексные регистры, содержимое которых прибавляется к индексному слову для вычисления адреса операнда. Это позволяет легко обращаться к различным элементам списка.

    Использование автоинкрементного и автодекрементного методов адресации дает возможность организации стековой памяти. В качестве указателя стека программно может быть выбран любой РОН, однако определенные команды (используемые при обслуживании прерываний, обращении и возврате из подпрограмм) автоматически используют РОН R6 как аппаратный указатель стека.
    Формат одноадресных команд (таких как очистка, инкрементирование) имеет следующий вид:

    КОП

    Метод

    РОН

    15

    6

    5

    3

    2

    0

    Рис. 7.6 Формат одноадресных команд
    Разряды 15÷06 содержат код операции, который определяет выполняемую команду. Разряды 05÷00 образуют шестиразрядное поле, именуемое полем адресации операнда приемника, которое в свою очередь состоит из двух подполей:

    а) разряды 02÷00 определяют один из восьми РОН, который использует данная команда;

    б) разряды 05÷03 определяют способ использования выбранного регистра (метод адресации). Причем разряд 03 определяет прямую или косвенную адресации.
    Операции над двумя операндами (такие, как сложение, пересылка, сравнение) выполняются с помощью команд, в которых имеются два адреса. Задание разрядов в поле адресации первого и второго операндов определяет различные методы и различные регистры общего назначения. Формат двухадресной команды имеет следующий вид:


    КОП

    Метод

    РОН

    Метод

    РОН

    15

    12

    11

    09

    08

    06

    05

    03

    02

    00




    Поле адресации операнда источника

    Поле адресации операнда приемника

    Рис. 7.7 Формат двухадресной команды
    Поле адресации операнда источника используется для выборки операнда источника. Поле адресации операнда приемника используется для выборки операнда приемника и занесения результата. Например, по команде АDD А,В складывается содержимое ячейки А (операнд источника) с содержимым ячейки В (операнд приемника). После выполнения операции сложения в ячейке В будет находится результат операции, а содержимое ячейки А не изменится.

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

    7.1.6 Методы адресации


    В микропроцессоре 1801 ВМ1 используется 4 метода прямой адресации, номера которых четные, и 4 метода косвенной адресации с нечетными номерами.

    Дополнительно, в качестве регистра общего назначения можно использовать регистр R7, но эффективно он работает лишь с 4-мя методами. Здесь каждый метод имеет особое название и собственную мнемонику.

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

    Здесь S - источник ; D – приемник.

    Таблица 7.1

    Примеры команд

    Мнемоника

    Описание

    8-ричный код команды

    CLR... (CLR R0)

    Очистка указанной ячейки или регистра

    0050DD (005000)

    CLR B...

    Очистка байта (обнуляется старший и младший байт указанной ячейки)

    1050DD

    INC...

    Увеличение на единицу указанной ячейки

    0052DD

    INC B...

    Прибавление единицы к байту

    1052DD

    COM...

    Инвертирование (всех битов операнда)

    0051DD

    COM B...

    Инвертирование байта

    1051DD

    ADD...

    Сложение операндов. Результат - по адресу 2-го операнда

    06SSDD



    Как видно из табл. 7.1, команды могут оперировать как словами, так и байтами, что находит отражение в мнемонике и в крайнем левом бите кода операции.

    На рис.7.6 показаны последовательности операций выполнения команды с каждым из четырех методов прямой адресации. При регистровом методе адресации любой из восьми регистров общего назначения может быть использован как накопитель. Следовательно, операнд будет находиться в выбранном регистре. Так как РОНы аппаратно реализованы в БИС МП, они обладают более высоким быстродействием, чем любая память, работающая под управлением процессора. Это преимущество особенно проявляется при операциях с переменными, к которым необходимо обращаться.





    Рис.7.6 Методы прямой адресации




    № метода адресации

    Метод адресации

    0

    Регистровый

    2

    Автоинкрементный

    4

    Автодекрементный

    6

    Индексный


    Прямая регистровая адресация (№0).

    Правило: содержимое регистра, указанного в команде, используется как операнд. Байтовые команды всегда оперируют содержимым младшего байта регистра. При пересылке байта в регистр происходит расширение знака, при котором старший бит пересылаемого байта восемь раз копируется в старшем байте регистра-приемника.

    Примеры регистровой адресации:


    Символическое обозначение

    Восьмеричный код команды

    Наименование команды

    1. INC R3

    005203

    Прибавление единицы

    Действие: Прибавляет единицу к содержимому третьего РОН.







    2. ADD R2, R4

    060204

    Сложение

    Действие: Складывается содержимое R2 с содержимым R4.

    До выполнения операции

    После выполнения операции

    R2) 000002

    R2) 000002

    R4) 000004

    R4) 000006



    3. COM B R4

    105104

    Инвертирование байта

    Действие: Заменяется содержимое разрядов 07÷00 в R4 их обратным кодом. (Байтовые команды, использующие регистры общего назначения, оперируют только с младшим байтом информации, содержащейся в РОН).

    До выполнения операции:

    После выполнения операции:

    R4) 022222

    R4) 022155


    Прямая автоинкрементная адресация (№2)

    Правило: содержимое регистра, указанного в команде, используется как адрес операнда. Операнд извлекается, обрабатывается и возвращается по старому адресу. После извлечения операнда содержимое регистра увеличивается на 2 для словных команд и на 1 для байтных команд. Но если байтовая команда работает с R6 или с R7, то их содержимое всегда увеличивается на 2.

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

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

    Символическое обозначение

    Восьмеричный код

    Наименование команды

    1. CLR (R5)+

    005025

    Очистка

    Действие: Содержимое ячейки, адрес которой содержится в R5, очищается, после чего адрес (содержимое R5) увеличивается на 2.

    До выполнения операции

    После выполнения операции

    20000) 005025

    20000) 005025

    R5) 030000

    R5) 030002

    30000) 111116

    30000) 000000




    2. CLR B (R5)+

    105025

    Очистка байта

    Действие: Очищается выбранный байт, адрес которого содержится в R5, после чего адрес (содержимое R5) увеличивается на единицу.

    До выполнения операции

    После выполнения операции:

    20000) 105025

    R5) 030000

    20000) 105025

    R5) 030001

    30000) 111616

    30000) 111400




    3. ADD (R2)+,R4

    062204

    Сложение

    Действие: Операнд, адрес которого содержится в R2, складывается с содержимым R4. Результат заносится в R4, а содержимое R2 (адрес операнда источника) увеличивается на 2.

    До выполнения операции:

    После выполнения операции:

    100) 062204

    R2) 000204

    100) 062204

    R2) 000206

    R4) 001000

    R4) 003000

    204) 002000

    204) 002000


    Прямая автодекрементная адресация (№4)

    Правило: содержимое регистра, указанного в команде, вначале уменьшается на 2 для словных команд и на 1 для байтных команд и затем используется как адрес операнда. Операнд извлекается, обрабатывается и возвращается по старому адресу. Но если байтовая (байтная) команда работает с R6 или с R7, то их содержимое всегда уменьшается на 2.

    Автодекрементный метод адресации также используется для обработки табулированных данных. Однако, в отличие от автоинкрементного метода, адресация к ячейкам массива идет в противоположном направлении. При этом методе адресации содержимое выбранного РОН уменьшается (для байтовых команд на единицу, для команд с полными словами на 2), а затем используется как исполнительный адрес.

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

    Примеры автодекрементной адресации:

    Символическое обозначение

    Восьмеричный код

    Наименование команды

    1. INC -(R0)

    005240

    Прибавление единицы

    Действие: Содержимое R0 уменьшается на два и используется как исполнительный адрес. К содержимому, выбранному из ячейки по этому адресу, прибавляется единица.

    До выполнения операции

    После выполнения операции:

    100) 005240

    R0) 017776

    100) 005240

    R0) 017774

    17774) 000000

    17774) 000001




    2. INC В -(R0)

    105240

    Прибавление единицы к байту

    Действие: Содержимое R0 уменьшается на единицу и используется как адрес операнда. К выбранному байту прибавляется единица.

    До выполнения операции

    После выполнения операции:

    100) 105240

    R0) 017776

    100) 105240

    R0) 017775

    17774) 000000

    17774) 000400



    3. ADD -(R3), R0

    064300

    Сложение

    Действие: Содержимое R3 уменьшается на два и используется как адрес операнда источника, который складывается с содержимым R0 (операнд приемника). Результат записывается в R0.

    До выполнения операции:

    После выполнения операции:

    120) 064300

    R0) 000020

    120) 064300

    R0) 000070

    R3) 001776

    R3) 001774

    1774) 000050

    1774) 000050


    Прямая индексная адресация (№6)

    Правило: содержимое регистра, указанного в команде, вначале складывается с индексным словом, которое, как правило, записывается в ячейке памяти, непосредственно следующей за командным словом, и полученная сумма используется как адрес операнда (исполнительный адрес).

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

    Примеры индексной адресации:

    Символическое обозначение

    Восьмеричный код

    Наименование команды

    I. CLR 200(R4)

    005064

    Очистка




    000200

    Действие: Адрес операнда определяется прибавлением к содержимому R4 кода 200, после чего ячейка с вычисленным адресом очищается.

    До выполнения операции:

    После выполнения операции:

    1020) 005064

    R4) 001000

    1022) 000200

    1200) 177777

    1020) 005064

    R4) 001000

    1022) 000200

    1200) 000000



    2. COM B 200 (R1)

    105161

    000200

    Инвертирование

    байта

    Действие: Адрес операнда определяется прибавлением к содержимому R1 кода 200. После этого содержимое ячейки с вычисленным адресом заменяется его обратным кодом

    До выполнения операции:

    После выполнения операции:

    1020) 105161

    R1) 017777

    1020) 105161

    R1) 017777

    1022) 000200

    1022) 000200

    20176) 011000

    20176) 166400

    Адрес операнда был вычислен прибавлением к содержимому R1 кода 200, в результате чего команда COMB произвела свое действие над старшим байтом ячейки с адресом 20176.


    3. ADD 30(R2), 20(R5)

    066265

    Сложение




    000030







    000020




    Действие: Содержимое ячейки, адрес которой вычисляется сложением кода 30 с содержимым R2 (операнд источника), складывается с содержимым ячейки, адрес которой вычисляется сложением кода 20 с содержимым R5 (операнд приемника). Результат записывается по адресу операнда приемника.


    До выполнения операции:

    После выполнения операции:

    1020) 066265

    1020) 066265

    1022) 000030

    1022) 000030

    1024) 000020

    R2) 001100

    R5) 002000

    1024) 000020

    R2) 001100

    R5) 002000

    1130) 000001

    1130) 000001

    2020) 000001

    2020) 000002


    Косвенные методы адресации
    Четыре основных метода могут быть использованы с косвенной адресацией. Если в регистровом методе операндом является содержимое выбранного регистра, в косвенно-регистровом методе содержимое выбранного регистра является адресом операнда. В трех других косвенных методах содержимое регистра позволяет выбрать адрес операнда, а не сам операнд. Эти методы используются, когда таблица состоит из адресов, а не из операндов. На рис. 7.7 показаны последовательности операции выполнения команды с каждым из четырех методов косвенной адресации.




    Рис.7.7 Методы косвенной адресации




    № метода адресации

    Метод адресации

    1

    Косвенно-регистровый

    3

    Косвенно-автоинкрементный

    5

    Косвенно-автодекрементный

    7

    Косвенно-индексный



    Косвенно - регистровая адресация (№1)

    Правило: содержимое регистра, указанного в команде, используется как адрес операнда.
    Пример косвенно-регистрового метода адресации:


    Символическое обозначение

    Восьмеричный код

    Наименование команды

    CLR @R5

    005015

    Очистка

    Действие: Содержимое ячейки, адрес которой содержится в R5, очищается.

    До выполнения операции:

    После выполнения операции:

    1020) 005015

    R5) 001700

    1020) 005015

    R5) 001700

    1700) 177777

    1700) 000000


    Косвенно - автоинкрементная адресация (№3)

    Правило: содержимое регистра, указанного в команде, используется как адрес адреса операнда. Операнд извлекается, обрабатывается и возвращается по старому адресу. После извлечения операнда содержимое регистра всегда увеличивается на 2. Исходное содержимое регистра обязательно должно быть четным.
    Пример косвенно-автоинкрементного метода адресации:


    Символическое обозначение

    Восьмеричный код

    Наименование команды

    INC @(R2)+

    005232

    Прибавление единицы

    Действие: Содержимое ячейки, адрес которой содержится в R2, используется как адрес операнда. Операнд увеличивается на единицу, а содержимое R2 на два.

    До выполнения операции:

    После выполнения операции:

    1000) 005232

    R2) 010300

    1000) 0005232

    R2) 010302

    10300) 001010

    1010) 000000

    10300) 001010

    1010) 000001


    Косвенно - автодекрементная адресация (№5)

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

    Символическое обозначение

    Восьмеричный код

    Наименование команды

    COM @-(R0)

    005150

    Инвертирование

    Действие: Содержимое R0 уменьшается на два и используется как адрес ячейки, в которой находится адрес операнда. Операнд заменяется его обратным кодом.

    До выполнения операции:

    После выполнения операции:

    1000) 005150

    R0) 010776

    1000) 005150

    R0) 010774

    10774) 010100

    10100) 012345

    10774) 010100

    10100) 165432


    Косвенно - индексная адресация (№7)

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

    Символическое обозначение

    Восьмеричный код

    Наименование команды

    ADD @1000 (R2), R1

    067201

    Сложение




    001000




    Действие: Содержимое ячейки, адрес адреса которой определяется сложением кода 1000 с содержимым R2, складывается с операндом, хранящимся в R1. Результат записывается в R1.

    До выполнения операции:

    После выполнения операции:

    1020) 067201

    1020) 067201

    1022) 001000

    R1) 001234

    R2) 000100

    1022) 001000

    RI) 001236

    R2) 000100

    1050) 000002

    1050) 000002

    1100) 001050

    1100) 001050


    Методы адресации, использующие в качестве РОН R7

    R7 можно использовать в любом методе адресации из рассмотренных 8, но эффективно это только в 4 из них.

    Непосредственный метод адресации (№ 2)

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

    Пример:

    100) INC (R7)+ = INC #0.

    До выполнения операции:

    После выполнения операции:

    100) 005227

    100) 005227

    Как только “прочитали” 100), то сразу в R7 получится 102) и далее выполняется сама команда.

    R7) 100

    R7) (102) 104

    102) 000000

    102) 000001

    Абсолютный метод адресации (№ 3)

    Частный случай косвенно – автоинкрементной адресации с R7, когда в самой команде содержится адрес операнда.

    Пример:

    100) CLR @ (R7)+ = CLR @ #700

    до после

    100) 005037 005037

    102) 700 700

    700) 16 0

    R7) 100 104

    В ячейке, следующей за командным словом, находится адрес операнда.
    Относительный метод адресации (№ 6)

    Частный случай прямой индексной адресации с R7, когда в мнемонике команды сразу указывается исполнительный адрес.

    Пример:

    100) COM 600(R7) = COM 704

    до после ( разновидность индексного метода )

    100) 005167 005167

    102) 600 600

    R7) 100 104

    704) 120603 057174
    206) COM 1000

    до после

    206) 005167 005167

    210) 566 566 ( 566 + 212 = 1000 )

    R7) 206 212 ( 206 + 4 = 212 )

    1000) 16 177761
    206) COM 100

    до после ( 100 - 212 = -112 )

    206) 005167 005167 0 0 0 1 1 2

    210) 177666 177666 0.000.000.001.001.010

    R7) 206 212 1.111. 111.110 .110.101

    100) 16 177761 + 1

    1.111.111.110.110.110

    1 7 7 6 6 6

    Косвенно-относительный метод адресации (№ 7)

    Частный случай косвенно – индексной адресации с R7, когда в мнемонике команды вслед за знаком «@» указывается исполнительный адрес, например, 2100) COM @600(R7) = COM @2704.

    Сумма содержимого ячейки, следующей за командным словом (индексное слово), и содержимого R7 после извлечения индексного слова является адресом адреса операнда.
    1   ...   29   30   31   32   33   34   35   36   ...   47


    написать администратору сайта