PDP-11 , Электроника-60, СМ-1420 и им подобные
Главная | Каталог статей | Регистрация | Вход
Приветствую Вас Гость | RSS

Дорогие посетители.Убедительно просим Вас Загружать имеющуюся у Вас информацию (Файлы образов дисков, Исходники, Книги и т.д.) касающуюся ПЭВМ с архитектурой PDP-11.

Меню сайта
  • Создание сайтов в Усть-каменогорске
  • Люди на сайте
    Друзья Нравится
    Google
    Форма входа
    Категории раздела
    Contrib [88]
    Статьи, взятые из разных источников.
    My atticle [2]
    Статьи,написаные лично мною
    Forex [22]
    Всё о заработке на рынке FOREX
    Поиск
    Облако тэгов
    RT-11 LSI-11 PDP-11 Последняя версия RT-11 БК ДВК бк-0010 приставка Бортника сопроцессор Кроскомпилятор схема ANDOS БК-0011 КНГМД RADIX-50 Rtty БК0010 радиосвязь Сеть УКНЦ 11/70 11/83 11/93 RSX-11
    Прогноз Forex
    Котировки от Forex4You
    Открыть реальный счет
    Статистика
    Счетчик тИЦ, PR и обратных ссылок Resurs.kz: сайты Казахстана и раскрутка сайта
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Поиск
    Главная » Статьи » Contrib

    Режимы адресации

    Режимы адресации

    Операнд SS или DD состоит из 6 бит mmmrrr - 3 бита на номер режима (mode), 3 бита на номер регистра.
    режим адресации # описание режима примеры
    регистровый Register 0 регистр содержит операнд CLR R1
    косвенно-регистровый Register deferred 1 регистр содержит адрес операнда CLR (R1)
    CLR @R1
    автоинкрементный Auto-increment 2 регистр содержит адрес операнда. Содержимое регистра после операции увеличивается на 2 или на 1 (байтовая операция на регистрах R0-R5) CLR (R2)+
    косвенно-автоинкрементный Auto-increment deferred 3 регистр содержит адрес адреса операнда. Содержимое регистра после его использования в качестве адреса увеличивается на 2 CLR @(R2)+
    автодекрементный Auto-decrement 4 Содержимое регистра до операции уменьшается на 2 или на 1 (байтовая операция на регистрах R0-R5) и используется как адрес операнда. CLR -(R2)
    косвенно-автодекрементный Auto-decrement deferred 5 Содержимое регистра уменьшается на 2 и используется как адрес адреса операнда. CLR @-(R2)
    индексный
    Index
    6 содержимое регистра складывается с числом, записанным после команды, и полученная сумма используется в качестве адреса операнда CLR 2(R5)
    косвенно-индексный
    Index deferred
    7 содержимое регистра складывается с числом, записанным после команды, и полученная сумма используется в качестве адреса операнда CLR @2(R5)
    Режимы адресации с регистром PC
    непосредсвенный
    Immediate
    2 операнд хранится в слове, следующем за командой MOV #21, R3
    абсолютный
    Absolute
    3 адрес операнда хранится в слове, следующем за командой CLR @#100
    относительный
    Relative
    6 содержимое РС складывается со словом, записанным в памяти за командой, и полученная сумма используется как адрес операнда. CLR 5554
    косвенно-относительный
    Relative deferred
    7 содержимое РС складывается со словом, записанным в памяти за командой, и полученная сумма используется как адрес адреса операнда. CLR @5554

    • r - регистр, например R0
    • nn - 16-битное число

    0: r : регистровый

    r
    регистр содержит операнд

    Пример:

    • CLR R3 - очистить содержимое регистра R3.

    1: @r или (r) : косвенно-регистровый

    @r или (r)
    регистр содержит адрес операнда

    Пример:

    • CLR @R3 - очистить содержимое ячейки, адрес которой находится в регистре R3.
    • CLR (R1) - очистить содержимое ячейки, адрес которой находится в регистре R1.

    2: (r)+ : автоинкрементный

    (r)+
    Регистр содержит адрес операнда. Содержимое регистра после его использования как адреса автоматически увеличивается на 1 или на 2 (если команда оперирует словами или вовлечены R6 или R7).

    Пример:

    • CLR (R3)+ - очистить содержимое ячейки, адрес которой находится в регистре R3. Содержимое регистра R3 увеличить на 2.
    • CLRB (R3)+ - очистить содержимое ячейки, адрес которой находится в регистре R3. Содержимое регистра R3 увеличить на 1.
    • CLRB (SP)+ - очистить содержимое ячейки, адрес которой находится в регистре SP. Содержимое регистра SP увеличить на 2.

    2, r=7: #nn : непосредственный

    #nn
    Число nn лежит в очередном слове команды. Так как вовлечен регистр PC, его значение всегда увеличивается на 2. Значение операнда - число nn.

    Пример:

    • MOV #12, R3 - поместить число 12 в регистр R3. Эта команда состоит из 2 слов: 012703 и 000012 (лежит в следующем слове)

    3: @(r)+ : косвенно-автоинкрементный

    @(r)+
    Регистр содержит адрес адреса операнда (т.е. указатель адреса операнда). Содержимое регистра после его использования как указателя адреса операнда автоматически увеличивается на 2.

    Пример:

    • CLR @(R3)+ - Регистр R3 содержит указатель адреса ячейки, которая очищается. Затем содержимое регистра R3 увеличивается на 2.

    3, r=7: @#nn : абсолютный

    @#nn
    Число nn лежит в очередном слове команды. nn - абсолютный адрес операнда. Так как вовлечен регистр PC, его значение всегда увеличивается на 2.

    Пример:

    • MOV @#12, R3 - запомнить содержимое ячейки 12 в регистре R3. Эта команда состоит из 2 слов: 012703 и 000012 (лежит в следующем слове)

    4: -(r) : автодекрементный

    -(r)
    Регистр содержит адрес операнда. Содержимое регистра автоматически увеличивается на 1 или на 2 (если команда оперирует словами или вовлечены R6 или R7), а затем используется как адрес операнда.

    Пример:

    • CLR -(R3) - Содержимое регистра R3 уменьшить на 2. Очистить содержимое ячейки, адрес которой находится в регистре R3.
    • CLRB -(R3) - Содержимое регистра R3 уменьшить на 1. Очистить содержимое ячейки, адрес которой находится в регистре R3.
    • CLRB -(SP) - Содержимое регистра SP уменьшить на 2. Очистить содержимое ячейки, адрес которой находится в регистре SP.

    5: @-(r) : косвенно-автодекрементный

    @-(r)
    Регистр содержит адрес адреса операнда (т.е. указатель адреса операнда). Содержимое регистра автоматически уменьшается на 2. Затем используется как указатель адреса операнда.

    Пример:

    • CLR @-(R3) - Содержимое регистра R3 уменьшается на 2. Регистр R3 содержит указатель адреса ячейки, которая очищается.

    6: nn(r) : индексный

    nn(r)
    Число nn лежит в очередном слове команды. Исполнительный адрес операнда вычисляется как сумма числа nn и содержимого регистра r.

    Пример:

    • CLR X+2(R1) - исполнительный адрес равен значению выражения X+2 плюс содержимому регистра R1 .
    • MOV R0, -2(R3) - исполнительный адрес равен -2 плюс содержимому регистра R3.

    6, r=7: nn : относительный

    nn
    индекс лежит в очередном слове команды. После считывания индекса содержимое PC увеличивается на 2. Исполнительный адрес операнда вычисляется как сумма этого индекса и содержимого регистра pc.
    Пример:
    • MOV 12, R3 - запомнить содержимое ячейки 12 в регистре R3. Эта команда состоит из 2 слов (см. подробнее ниже о позиционно-независимых программах).

    7: @nn(r) : косвенно-индексный

    @nn(r)
    Число nn лежит в очередном слове команды. Значение выражения nn и значение регистра r складывают и сумма используется как указатель на адрес операнда.

    Пример:

    • CLR @114(R4) - пусть регистр R4 содержит число 100, а ячейка 214 число 2000. Тогда
      • складываем 114 и содержимое регистра R4: 114+100=214
      • берем число из ячейки 214, получаем 2000 - это адрес операнда.
      • очищаем ячейку с адресом 2000.

    7, r=7: @nn : косвенно-относительный

    @nn
    индекс лежит в очередном слове команды. После считывания индекса содержимое PC увеличивается на 2. Сумма этого индекса и содержимого регистра pc указывает на ячейку, которая содержит адрес операнда.
    Пример:
    • MOV @12, R0 - запомнить в регистр R0 содержимое ячейки, адрес которой находится в ячейке 12. Эта команда состоит из 2 слов (см. подробнее ниже о позиционно-независимых программах).
    Категория: Contrib | Добавил: un7jks (07.08.2012)
    Просмотров: 801 | Рейтинг: 0.0/0 |

    Хостинг от uCoz