Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Коммуникации и связь->Лабораторная работа
2.1 Расчет и построение таблицы зависимости затухания из-за поглощения энергии в материале от длинны волны.2.2 Моделирование и построение графика зави...полностью>>
Коммуникации и связь->Практическая работа
В случае с уменьшением утилизации на k = 10%, получим (Ts / (1 – 0.8ρ)) ∙ 1.38 3 = Tq Отсюда новое значение времени ответа сервера Tq = (1....полностью>>
Коммуникации и связь->Конспект
Все взаимодействия в системе можно разделить на внешние и внутренние; внешние взаимодействия - не зависят от упругих деформаций в системе, внутренние ...полностью>>
Коммуникации и связь->Курсовая работа
Целью курсовой работы является приобретение и закрепление знаний по теме фотодатчики, их классификации, режимы работы и применение в биоинженерной тех...полностью>>

Главная > Лабораторная работа >Коммуникации и связь

Сохрани ссылку в одной из сетей:

Режимы адресации и система команд микропроцессора

Цель работы: Изучить систему команд микропроцессора и закрепить навыки отладки программ.

1.1.1Программа работы

  1. Изучить систему команд и способы адресации микропроцессора

  2. Разработать программу в соответствии с вариантом задания

  3. Произвести отладку программы

  4. Составить отчет по лабораторной работе.

1.1.2Пояснения к работе

Для обеспечения гибкости обращения к данным используется 16 режимов адресации. Режимы адресации определяют способ, каким CPU отыскивает данные, необходимые для выполняемой команды. К этим 16 способам адресации относятся:

  • Неявная;

  • Непосредственная;

  • Прямая;

  • Расширенная;

  • Индексная без смещения;

  • Индексная с 8-разрядным смещением;

  • Индексная с 16-разрядным смещением;

  • По указателю стека с 8-разрядным смещением;

  • По указателю стека с 16-разрядным смещением;

  • Относительная;

  • Память - память (4 режима);

  • Индексная с постинкрементом;

  • Индексная с 8-разрядным смещением и постинкрементом.

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

Команды неявной адресации, такие как: десятичной коррекции аккумулятора (DAA), очистки старшего байта индексного регистра (CLRH) и деления (DIV), не выбирают операндов. Ряд команд неявной адресации работают с данными, находящимися в регистрах CPU, такие как: команда очистки аккумулятора (CLRA) и команда пересылки в аккумулятор содержимого регистра кодов признаков (TPA). Команды неявной адресации не обращаются к памяти и в большинстве случаев длина их равна одному байту. Написанный на языке ассемблера пример иллюстрирует использование режима неявной адресации. В примерах кодов, приведенных ниже и далее, по всему разделу, команды, напечатанные полужирным шрифтом, представляют примеры рассматриваемого режима адресации; значок (#) перед числом указывает на непосредственный операнд. По умолчанию база исчисления десятичная. Шестнадцатеричным числам предшествует значок ($).

Машинный код

Метка

Операция

Операнд

Комментарий

A657

EX_1

LDA

#$57

; A=$57

AB45

ADD

#$45

; A=$57+$45=$9C

72

DAA

; A=$02 c установкой бита переноса

A614

EX_2

LDA

#20

; Загрузка делимого LS в А

8C

CLRH

; Очистка MS делимого

AE03

LDX

#3

; Загрузка делителя в X

52

DIV

; (H:A)/X: A=06; H=02;

A630

EX_3

LDA

#$30

; A=$30

87

PSHA

;Занесение $30 в стек и

;декрементирование указателя

;стека на1

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

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

Команды непосредственной адресации, связанные с использованием индексного регистра (H:X), являются трехбайтовыми: один байт - операционный код, два байта содержат непосредственные данные. Нижеследующий пример содержит две непосредственные команды: AIX (сложить непосредственное значение с H:X) и CPHX (сравнить H:X с непосредственным значением). H:X вначале очищается и затем последовательно инкрементируется на 1 до значения $FFFF. По достижении состояния, определяемого CPHX, программа переходит к START и процесс неограниченно повторяется.

Машинный код

Метка

Операция

Операнд

Комментарий

5F

START

CLRX

; X = 0

8C

CLRH

; H = 0

AF01

TAG

AIX

#1

;(H:X) = (H:X)+1

65FFFF

CPHX

#$FFFF

; Сравнение (H:X) c $FFFF

26F9

BNE

TAG

Цикл выполняется до совпадения значений

20F5

BRA

START

Начать сначала

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

Большинство команд прямой адресации всего двумя байтами способны обращаться к любым первым 256 адресам памяти. Первый байт является операционным кодом и второй байт является младшим байтом адреса операнда. Значение старшего байта действительного адреса принимается равным $00 и не включается в байты команды, что сокращает пространство памяти программ и время выполнения команды. Таким образом прямая адресация ограничивается использованием области памяти с адресами $0000 - $00FF, называемой прямой страницей, или страницей 0.

Команды прямой адресации занимают в пространстве памяти программ на один байт меньше, чем эквивалентные команды расширенной адресации. За счет исключения дополнительного обращения к памяти время выполнения команды сокращается на один цикл - что дает существенную экономию в случае длинных программ. Большинство микроконтроллеров занимают под RAM не всю область $0000 - $00FF, что позволяет разработчикам использовать свободные ячейки этой области для размещения наиболее часто используемых переменных, что также сокращает время выполнения команд.

Команды BRSET и BRCLR являются трехбайтовыми командами, использующими прямую адресацию для обращения к операндам и относительную адресацию для определения пункта назначения перехода.

Команды CPHX, STHX и LDHX являются двухбайтовыми командами, выбирающими 16-разрядные операнды. Старшие байты выбираются прямой адресацией; младшие байты выбираются прямой адресацией + 1.

Нижеследующий пример кодов содержит две команды прямой адресации: STHX (сохранить H:X в памяти) и CPHX (сравнить H:X с памятью). Первая команда (STHX) инициализирует установку TEMP ячейки RAM в нулевое состояние и вторая команда (STHX) загружает в ячейку TEMP состояние $5555. Команда CPHX сравнивает содержимое H:X с значением RAM:(RAM + 1). В данном примере RAM:(RAM + 1) = TEMP = $50:$51 = $5555.

Машинный код

Метка

Операция

Операнд

Комментарий

RAM

EQU

$50

; Соответствие RAM

ROM

EQU

$6E00

; Соответствие ROM

ORG

$RAM

Начало RAM

TEMP

RMB

2

; Резервированные 2 байта

ORG $ROM

; Начало ROM

5F

START

CLRX

; X = 0

8C

CLRH

; H = 0

3550

STHX

TEMP

; H:X = 0 > temp

455555

LDHX

#$5555

; Загрузка H:X содержимым $5555

3550

STHX

TEMP

; TEMP = $5555

7550

BAD_PART

CPHX

RAM

; RAM = TEMP

26FC

BNE

BAD_PART

RAM = TEMP ,будет оставаться неизменным пока не произойдет ошибка!

20F1

BRA

START

Снова выполнить то же

1.1.2.4Расширенная адресация

Команды расширенной адресации могут обращаться к любому адресу 64-килобайтовой карты памяти. Все команды расширенной адресации имеют длину в три байта - первый байт является операционным кодом; второй и третий байты, соответственно, старший и младший байты адреса операнда. Этот режим адресации используется в том случае, когда необходимо обращаться к памяти за пределами прямой, или нулевой, страницы ($0000 - $00FF).

Большинство ассемблеров позволяют разработчику не определять тип команды - с прямой адресацией или с расширенной. Ассемблер автоматически выбирает кратчайшую форму команды.

Машинный код

Метка

Операция

Операнд

Комментарий

ORG

$50

; Старт при $50

FCB

$FF

; $50 = $FF

5F

CLRX

BE50

LDX

$0050

Прямая загрузка Х

ORG

$6E00

Старт при $6E00

FCB

$FF

; $6E00 = $FF

5F

CLRX

CE6E00

LDX

$6E00

Расширенная загрузка X



Загрузить файл

Похожие страницы:

  1. Описание системы команд микропроцессоров Intel

    Контрольная работа >> Информатика, программирование
    ... деления. Так как в системе команд микропроцессора нет команды деления для BCD-чисел, ... : в зависимости от установленного режима адресации use16 или use32 выполнить вычитание ... работы: Алгоритм работы команды зависит от действующего режима адресации (use16 или ...
  2. Команды пересылки данных на языке ассемблер

    Лекция >> Информатика, программирование
    ... Размер стека зависит от режима работы микропроцессора и ограничивается 64 Кбайт ... и ebp/bp для адресации памяти ассемблер автоматически считает, ... , что перечисленные ниже команды — единственные в системе команд микропроцессора, которые позволяют получить доступ ...
  3. Команды передачи управления на языке ассемблера

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

    Реферат >> Коммуникации и связь
    ... , уменьшенное количество команд и режимов адресации. Здесь прежде всего следует выделить такие микропроцессоры, как Alpha ... по системе команд и режимам адресации, так и по форматам данных. Одним из первых комплектов секционированных микропроцессоров ...
  5. Системы адресации в Мини- и МикpоЭВМ (2)

    Реферат >> Информатика
    ... Бродин, Г.П. Мозговой. Описание и система команд. МП "Малип" 1992. Дата ... по производительности. 2. СИСТЕМЫ АДРЕСАЦИИ ИСПОЛЬЗУЕМЫЕ В МИНИ-ЭВМ ... системой и компилятором. Система команд СМ1700 в настоящее время включает 304 инструкции и более 20 режимов адресации ...

Хочу больше похожих работ...

Generated in 0.0016169548034668