Студопедия — Методы адресации, команды пересылки и арифметических операций
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Методы адресации, команды пересылки и арифметических операций






 

1) Регистровый метод адресации используется для указания на операнды, расположенные в регистре. Если в команде содержится имя регистра (R0, R1, R2, …, R7,А,В), то такая команда принадлежит регистровому методу адресации.

Рассмотрим команды с этим методом адресации:

Команды пересылки:

Формат команд пересылки- MOV <приемник>, <источник>

MOV A, Rn;(Rn) → A

где Rn – регистры R0, R1, R2, …, R7.

MOV Rn, A;A → Rn

MOV Rn, A;A → Rn

ХСН А, Rn;А ↔ Rn

Примеры:

MOV R3, A;A → R3

ХСН А, R5;А ↔ R5

 

Команды сложения:

ADD A, Rn;A + Rn→ A,

где Rn – регистры R0, R1, R2, …, R7.

ADDC A, Rn;A + Rn +C→A,

Где C – бит заёма /переноса.

Примеры:

ADD A, R2;A + R2→ A;

Команды вычитания:

SUBB A, Rn; A - Rn - C →A

Примеры:

SUBB A, R5; A - R5 - C → A,

Команды умножения и деления:

MUL AB; A * B→ BA,

В – старший байт, А – младший байт результата

DIV AB; A / B→A.B,

В – остаток, который не делится нацело (не десятичная дробь), А – целая часть результата.

Отметьте, что эти команды в качестве операндов используют только регистры А и В

Команды инкремента и декремента:

INC Rn; Rn + 1 → Rn,

DEC Rn; Rn - 1→ Rn.

Примеры:

INC R1; R1 + 1→ R1,

DEC R0;R0 - 1 → R0.

 

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

Рассмотрим команды с этим методом адресации:

Команды пересылки:

MOV Rn, ad; (ad) → Rn

где (ad) – адрес ячейки (однобайтный).

MOV ad, Rn;Rn → (ad)

MOV A, ad;(ad)→ A

MOV ad, A;A → (ad)

MOV add, ads;(ads) → (add)

ХСН А, ad;А ↔ (ad)

Примеры:

MOV 2FH, R2;R2 → (2FH)

Команды сложения:

ADD A, ad; A + (ad) → A,

где (ad) – адрес ячейки (однобайтный).

ADDC A, ad;A + (ad)+C → A,

Пример:

ADD A, 20H;A + (20H) → A;

Команда вычитания:

SUBB A, ad;A - (ad) - C → A.

Команды инкремента и декремента:

INC ad;(ad) + 1→ (ad),

DEC ad;(ad) - 1→ (ad).

3) Прямая побитовая адресация используется для обращения к отдельно адресуемым 128 битам, расположенным в ячейках памяти с адресами от 20Н до 2FH и к отдельно адресуемым битам регистров специальных функций.

Рассмотрим команды с этим методом адресации:

CLR bit;bit = 0,

где bit – однобайтный адрес бита.

SETB bit;bit = 1

MOV C, bit;(bit) → (С)

MOV bit, C;(С) → (bit)

Примеры:

CLR 05H; (05H) = 0

SETB 10H; (10H) = 1.

4) Непосредственная адресация использует константы, которые явно указаны в команде. Признак константы в команде- значёк #.

Рассмотрим команды с этим методом адресации:

Команда пересылки однобайтного числа:

MOV A, #d8;d8 → A

где #d8- однобайтная константа,

MOV Rn, #d8; d8→ Rn

MOV ad, #d8;d8 → (ad)

Пример:

MOV A, #34H;34H → A

Команда пересылки двухбайтного числа:

MOV DPTR, #d16; d16 → (DPTR),

где #d16- двухбайтная константа, DPTR- 16-разрядный регистр – указатель данных.

Пример:

MOV DPTR, #2100H; 2100H →(DPTR)

Команды сложения:

ADD A, #d8; A + d8 →A,

# - признак константы; d8 – однобайтное число.

Пример:

ADD A, #15Н; A + 15Н → A

ADDC A, #d8;A + #d8 + (C) → A

Команда вычитания:

SUBB A, #d8; A – d8 - C → A

Пример:

SUBB A, #3DH; A - 3DH - C → A

5) Косвенно – регистровая адресация используется для обращения к ячейкам памяти ОЗУ, адрес которых указан в регистре – указателе. Как правило, этими регистрами – указателями являются R0 и R1.

Рассмотрим команды с этим методом адресации:

Команда пересылки:

MOV A, @Ri;((Ri)) → A,

где @Ri- это содержимое ячейки памяти, адрес которой находится в регистре Ri(R0 или R1)

MOV ad, @Ri;((Ri)) → (ad)

MOV @Ri, A;А → ((Ri))

MOV @Ri, ad;(ad) → ((Ri))

MOV @Ri, #d8;d8 → ((Ri))

ХСН А, @Ri;А ↔ ((Ri))

ХСНD А, @Ri;(А 0-3) ↔ ((Ri)0-3)

Обмен младшей тетроды аккумулятора с младшей тетрадой байта косвенно адресуемой ячейки.

Пример:

MOV A, @R1;((R1)) → A,

Команда пересылки с участием внешних ячеек памяти:

Для обращения ко внешним ячейкам памяти используется 16-разрядный регистр – указатель данных DPTR.Этот регистр может быть использован для обращения к любой ячейке памяти в адресном пространстве до 64 килобайт.

MOVX A, @DPTR; ((DPTR)) →A

MOVX @DPTR, A; A → ((DPTR))

 

Команды сложения:

ADD A, @Ri; A +((Ri)) →A,

где @Ri- это содержимое ячейки памяти, адрес которой находится в регистре Ri(R0 или R1)

ADDC A, @Ri; A + ((Ri)) + C→ A

Пример:

ADD A, @R1; A + ((R1)) → A

Команда вычитания:

SUBB A, @Ri; A –((Ri)) - C→ A

Пример:

SUBB A, @R1; A – ((R1)) - C →A

Команды инкремента и декремента:

INC @Ri;(Ri) + 1 → (Ri)

DEC @Ri;Ri – 1 → (Ri)

 

6) Косвенная адресация по сумме базового и индексного регистров очень похожа на косвенно – регистровую адресацию. При этом адрес получается по сумме базового и индексного регистров. Любой байт памяти может быть выбран по сумме содержимого DPTR или счётчика команд PC + содержимое аккумулятора.

MOVC A, @A + DPTR;((A)+ (DPTR)) → A

MOVC A, @A + PC;((A)+ (PC)) → A

 

Рассмотрим пример решения задания с применением команд с различыми методами адресации:

Задание1: Решить математическое выражение без использования косвенно-регистровой адресации(Листинг решения приведён ниже)

[(20H)*10H – (21H)/07H] → (22H)

 

ORG 0

MOV A, 20H; (20H) → A

MOV B,#10H; 10H→ B

MUL AB; AB→ BA

MOV R0, A; A→ R0

MOV A, 21H; (21H) →A

MOV B, #07H; 07H→ B

DIV AB; A / B→A.B

MOV R1, A; A→R1

MOV A, R0; R0 → A

CLR C; C = 0

SUBB A, R1; A – R1 - C→ A

MOV 22H, A; A→(22H)

L1: JMP L1;переход на метку L1(зацикливание на этом месте)

END

Порядок отладки программ рассмотрен в п.п. 6 этих методических указаний.

Задание2: Решть математическое выражение с использования косвенно-регистровой адресации.(Листинг решения приведён ниже)

[(20H)*10H – (21H)/07H] → (22H)

 

ORG 0

MOV R0, #20H; 20H→ R0

MOV A, @ R0; ((R0)) → A

MOV B,#10H; 10H→ B

MUL AB; A*B→ BA

MOV R1, A; A → R1

INC R0; R0 + 1→ R0

MOV A, @R0; ((R0)) →A

MOV B, #07H; 07H→ B

DIV AB; A / B→ A.B

MOV R2, A; A→ R2

MOV A, R1; R1→A

CLR C; C = 0

SUBB A, R2; A – R2 - C→ A

INC R0; R0 + 1 →R0

MOV @R0, A; A→ ((R0))

L1: JMP L1;переход на метку L1(зацикливание на этом месте)

END

 







Дата добавления: 2015-10-15; просмотров: 1417. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

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

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

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

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия