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

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

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






 

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; просмотров: 1408. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

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

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