8023

Команди пересилання даних восьмирозрядного мікропроцесора КР580ВМ80 (Intel 8080).

Лабораторная работа

Информатика, кибернетика и программирование

Команди пересилання даних восьмирозрядного мікропроцесора КР580ВМ80 (Intel 8080). Мета роботи Вивчити основні типи команд пересилання даних та послідовність їх виконання восьмирозрядним мікропроцесором, навчитися створювати програми з їх використ...

Украинкский

2013-02-01

265.5 KB

15 чел.

Команди пересилання даних восьмирозрядного мікропроцесора КР580ВМ80 (Intel 8080).

1. Мета роботи

Вивчити основні типи команд пересилання даних та послідовність їх виконання восьмирозрядним мікропроцесором, навчитися створювати програми з їх використанням.

2. Обладнання

Програма - емулятор мікропроцесорної системи на базі одно-кристального КР580ВМ80.

3. Короткі відомості з теорії

3.1. Команди пересилання даних та способи адресації, які вони використовують.

Команди пересилання даних використовуються мікропроцесором для передавання даних в різні пристрої зберігання інформації, які є в його розпорядженні, як в регістри, так і в комірки оперативної пам'яті. Розрізняють такі типи команд: завантаження, пересилання регістр - регістр, запис в пам'ять та зчитування з пам'яті (пересилання пам'ять - регістр).

Команди пересилання даних фактично є командами копіювання даних, оскільки під час виконання команди дані, які містить джерело, не руйнуються. Код операції в команді пересилання даних задає джерело даних S (Source), приймач даних D (Destination) і спосіб їхньої адресації (Коди джерел та приймачів даних наведено в Табл.1). Мікропроцесор КР580ВМ80, як відомо, використовує чотири види адресації: безпосередню, пряму, регістрову та непряму. Кожен із видів адресації може бути використаний як для джерела так і для приймача даних. З шістнадцяти можливих комбінацій в мікропроцесорі КР580ВМ80 для команд завантаження даних використовується сім:

безпосередня / регістрова

безпосередня / непряма

регістрова / регістрова

регістрова / пряма

регістрова / непряма

пряма / регістрова

непряма / регістрова

S/D

код

S/D

код

Регістр B

000b  /  0q

Регістр H

100b  /  4q

Регістр C

001b  /  1q

Регістр L

101b  /  5q

Регістр D

010b  /  2q

Память M

110b  /  6q

Регістр E

011b  /  3q

Регістр A

111b  /  7q

Таблиця 1. Коди джерел та приймачів даних.

Безпосередня адресація використовується в тому випадку, коли необхідно завантажити початкові дані в регістри або пам'ять, чи константи, які будуть використовуватися на протязі роботи програми. Безпосередня адресація є зручною, наочною і може використовуватись для початкової розробки програми. Недоліком є те, що програми, написані з її використанням не мають достатньо гнучкості, а саме: для того, щоби змінити значення констант або початкових даних, необхідно переписувати код програми. Також недоліком є те, що програмний код займає більше комірок пам'яті (2, або 3) та виконується за більше циклів (2 або 3), ніж в випадку регістрової адресації. Безпосередня адресація часто використовується для завантаження одного з регістрів початковим значенням кількості циклів, які необхідно виконати, та наступним зменшенням значення регістра на 1 після виконання тіла циклу.

Регістрова адресація використовується головним чином для пересилання проміжних даних які виникають в процесі роботи програми. Пересилання між регістрами займають найменше часу (1 цикл, 4 або 5 тактів), тому їх використовують для скорочення часу виконання програм. Програмний код займає найменше пам'яті, що теж є перевагою даного виду адресації. Недоліком регістрової адресації є те, що кількість регістрів для зберігання проміжних даних є обмежена (6 однобайтних B, C, D, E, H, L), що недостатньо для роботи навіть не дуже складних програм. Тому одним із принципів розробки перспективних процесорів RISC є вимога наявності великої кількості однотипних регістрів.

Пряма адресація використовується тоді, коли кількість проміжних даних перевищує кількість наявних внутрішніх регістрів. Як правило, програміст виділяє під зберігання вхідних, проміжних та вихідних даних програми деяку область оперативної пам'яті, яка не повинна перекриватись з областю програмного коду та областю стека. Якщо таке перекриття відбувається, то результат дії програми неможливо передбачити. Область даних оперативної пам'яті в такому випадку чітко визначається кількістю змінних програми, тому мови високого рівня, які написані, в основному, на мові асемблера чи машинному коді, вимагають попереднього оголошення змінних на початку роботи програми. Область даних програми зручно розміщувати в тілі програми, для того щоби завантаження підпрограм зі зміщеним кодом не перекривалось з цією областю. Незважаючи на те, що пряма адресація вимагає трибайтних команд, та додаткових двох циклів для завантаження адреси комірки пам'яті + 1 цикл завантаження даних з комірки пам'яті, використання її є більш ефективним, ніж використання непрямої адресації, для якої спочатку слід забезпечити занесення адреси комірки пам'яті в відповідну пару регістрів.

Непряма адресація використовується в основному для роботи з областю стеку, а також для зберігання та завантаження даних в/з суміжних комірок пам'яті, які використовуються для організації масивів. За допомогою непрямої адресації також можна організовувати масиви змінної довжини типу вказівник або список. Програмний код з командами, які використовують непряму адресацію займає менше місця, є достатньо гнучким та зручним для перенесення на інші процесори. В випадку організації списків чи вказівників, необхідно чітко слідкувати за тим, щоби кількість байтів, занесених в пам'ять, завжди рівнялась кількості вибраних, в іншому випадку результат дії програми буде непередбачуваним.

В таблиці 1. лабораторної роботи №1 всі команди пересилання даних відмічені оранжевим (однобайтові пересилання) та жовтим (двобайтові пересилання) кольорами.

3.2. Машинні цикли мікропроцесора КР580ВМ80.

Команди в КР580ВМ80 виконуються як послідовність внутрішніх мікрокоманд. Кожна з мікрокоманд виконується на протязі одного циклу, тривалість якого складає 3-5 тактів. Кількість машинних циклів та загальна кількість тактів визначається типом команди. Всього є 10 типів машинних циклів:

вибірка команди;

зчитування слова з запам'ятовуючого пристрою

запис слова в запам'ятовуючий пристрій

зчитування слова зі стеку

запис слова в стек

зчитування слова з пристрою введення/виведення

запис слова в пристрій введення/виведення

підтвердження переривання

підтвердження зупинки

підтвердження переривання під час зупинки.

Перший цикл завжди є цикл вибірки команди і займає 4 або 5 тактів. Три наступних цикли завжди виконуються за три такти, а п'ятий за три або п'ять тактів. З огляду на це завжди можна розрахувати кількість циклів і тактів команди, якщо відомо способи адресації, які вона використовує.

Наприклад: команда MVI М, B2 двобайтова, використовує безпосередню/непряму адресацію. Під час виконання команди дані, які містяться в другому байті програми, завантажуються в комірку пам'яті, адреса якої знаходиться в регістровій парі HL. Перший цикл - вибірка першого байта з пам'яті (4 або 5 тактів), наступний - вибірка другого байта (3 такти). Ще один цикл - запис даних в комірку пам'яті (3 такти). Отже команда виконується за 3 цикли 10 або 11 тактів. (насправді 10 тактів).

3.3.Команди пересилання мікропроцесора КР580ВМ80.

Команди мікропроцесора КР580ВМ80 зручно вивчати згідно такої схеми:

1

Назва

2

Способи адресації, які використовує команда

3

Мнемонічна форма запису

4

Дії, які виконує команда в формі логічних символів

5

Машинний код команди в

шістнадцятковій системі

вісімковій системі

6

Довжина команди, кількість циклів, кількість тактів

7

Опис дій команди

8

Дія результату виконання команди на регістр станів мікропроцесора

Увага! Наведена схема відноситься не тільки до даної лабораторної роботи, але і до наступних робіт з вивчення системи команд мікропроцесора КР580ВМ80.

3.3.1. Команди завантаження.

1

Завантаження регістра

2

безпосередня / регістрова

3

MVI r, B2

4

B2r

5

06h, 16h, 26h, 0Eh, 1Eh, 2Eh, 3Eh

0D6q (D ≠ 6)

6

Команда займає 2 байта пам'яті, виконується за 2 цикли, 7 тактів.

7

Під час виконання команди дані, які знаходяться в другому байті програми, завантажуються в регістр за номером D.

8

Виконання команди не впливає на регістр стану.

Номер D береться з Табл.1. Наприклад для регістра Е код 011b, або 3q. Тому команда завантаження регістра Е числом, наприклад 3Ah, виглядає таким чином: MVI Е, 3A = 1Е, 3А, або в вісімковій системі числення

чи в шістнадцятковій системі числення

1

Завантаження регістрової пари BC (DE, HL)

2

безпосередня / регістрова

3

LXI B, B2, B3 (LXI D, B2, B3;    LXI H, B2, B3) 

4

B3B, B2C   (B3D, B2E;     B3H, B2L)

5

01h (11h; 21h)

001q (021q; 041q)

6

Команда займає 3 байти пам'яті, виконується за 3 цикли, 10 тактів.

7

Під час виконання команди третій байт команди записується в регістр B (D, H), другий байт команди записується в регістр C (E, L).

8

Виконання команди не впливає на регістр стану.

1

Завантаження регістра SP - вказівника стеку

2

безпосередня / регістрова

3

LXI SP, B2, B3

4

B3, B2SP

5

31h

061q

6

Команда займає 3 байти пам'яті, виконується за 3 цикли, 10 тактів.

7

Під час виконання команди другий (молодший) та третій (старший) байти команди записується в регістр SP.

8

Виконання команди не впливає на регістр стану.

Команда LXI SP буде детально розглядатись в лабораторній роботі по вивченню стеку і команд роботи з ним.

1

Завантаження комірки пам'яті

2

безпосередня / непряма

3

MVI М, B2

4

B2 → М(H, L)

5

36h

066q

6

Команда займає 2 байта пам'яті, виконується за 3 цикли, 10 тактів.

7

Під час виконання команди дані, які містяться в другому байті програми, завантажуються в комірку пам'яті, адреса якої знаходиться в регістровій парі HL.

8

Виконання команди не впливає на регістр стану.

Перед завантаженням комірки пам'яті командою MVI М, B2 необхідно завантажити пару HL адресою комірки.

3.3.2. Команди пересилання регістр-регістр

1

Пересилання з регістра в регістр

2

регістрова / регістрова

3

MОV r1, r2

4

r2 → r1

5

40h-45h,  47h-4Dh,  4Fh

50h-55h,  57h-5Dh,  5Fh

60h-65h,  67h-6Dh,  6Fh

               78h-7Dh,  7Fh

1DSq (D ≠ 6, S ≠ 6)

6

Команда займає 1 байт пам'яті, виконується за 1 цикл, 5 тактів.

7

Під час виконання команди дані, які містяться в регістрі за номером S пересилаються в регістр за номером D.

8

Виконання команди не впливає на регістр стану.

Номери D та S беруться з Табл.1. аналогічно, як і для команди MVI r, B2.

1

Обмін даними між регістрами HL та DE

2

регістрова / регістрова

3

XCHG

4

H ↔ D,  L ↔ E

5

EBh

353q

6

Команда займає 1 байт пам'яті, виконується за 1 цикл, 4 такти.

7

Під час виконання команди регістри H, L обмінюються даними з регістрами D, E.

8

Виконання команди не впливає на регістр стану.

1

Завантаження регістра SP - вказівника стеку

2

регістрова / регістрова

3

SPHL

4

HL → SP

5

F9h

371q

6

Команда займає 1 байт пам'яті, виконується за 1 цикл, 5 тактів.

7

Під час виконання команди дані, які містяться регістрі HL завантажуються у вказівник стеку SP.

8

Виконання команди не впливає на регістр стану.

Команда SPHL буде детально розглядатись в лабораторній роботі по вивченню стеку і команд роботи з ним.

1

Завантаження лічильника команд PC (непрямий перехід)

2

регістрова / регістрова

3

PCHL

4

HL → PC

5

E9h

351q

6

Команда займає 1 байт пам'яті, виконується за 1 цикл, 5 тактів.

7

Під час виконання команди дані, які містяться в регістрі L пересилаються в молодший байт лічильника команд РС, а дані, які містяться в регістрі H - в старший байт. Керування передається команді, яка буде занесена в PC.

8

Виконання команди не впливає на регістр стану.

Команда PCHL фактично є командою безумовного переходу і до команд пересилання даних віднесена завдяки подібності порядку виконання.

3.3.3. Команди запису в пам'ять

1

Пересилання з регістра в пам'ять

2

регістрова / непряма

3

MОV М, r

4

r → М(H, L)

5

70h - 75h, 77h

16Sq (S ≠ 6)

6

Команда займає 1 байт пам'яті, виконується за 2 цикли, 7 тактів.

7

Під час виконання команди дані, які містяться в регістрі за номером S пересилаються в комірку пам'яті, адреса якої знаходиться в регістровій парі HL.

8

Виконання команди не впливає на регістр стану.

Перед пересиланням в комірку пам'яті командою MОV М, r необхідно завантажити пару HL адресою комірки.

1

Збереження акумулятора

2

регістрова / пряма

3

STA, B2, B3

4

A → М(B3, B2)

5

32h

062q

6

Команда займає 3 байта пам'яті, виконується за 4 цикли, 13 тактів.

7

Під час виконання команди дані, які містяться в акумуляторі А, пересилаються в комірку пам'яті, адреса якої знаходиться в другому та третьому байтах команди. (B2 - молодший байт адреси, B3 - старший байт адреси)

8

Виконання команди не впливає на регістр стану.

1

Збереження акумулятора

2

регістрова / непряма

3

STAX B (STAX D)

4

A → М(B, C)   (A → М(D, E))

5

02h (12h)

002q (022q)

6

Команда займає 1 байт пам'яті, виконується за 2 цикли, 7 тактів.

7

Під час виконання команди дані, які містяться в акумуляторі А, пересилаються в комірку пам'яті, адреса якої знаходиться в регістровій парі BC (DE). (B (D) - старший байт адреси, C (E) - молодший байт адреси)

8

Виконання команди не впливає на регістр стану.

Перед збереженням в комірку пам'яті командою STAX B (STAX D) необхідно завантажити відповідну регістрову пару адресою комірки.

1

Збереження регістрової пари HL

2

регістрова / пряма

3

SHLD, B2, B3

4

L M(B3, B2),  H M(B3, B2+1)

5

22h

042q

6

Команда займає 3 байти пам'яті, виконується за 5 цикли, 16 тактів.

7

Під час виконання команди дані, які містяться в регістрі L пересилаються в комірку пам'яті, адреса якої знаходиться в другому та третьому байтах команди. Дані, які містяться в регістрі H пересилаються в наступну комірку пам'яті. (B2 - молодший байт адреси, B3 - старший байт адреси)

8

Виконання команди не впливає на регістр стану.

3.3.4. Команди зчитування з пам'яті

1

Пересилання з пам'яті в регістр

2

непряма / регістрова

3

MОV r, М

4

М (H, L)r

5

46h, 56h, 66h, 4Еh, 5Еh, 6Еh, 7Еh

1D6q (D ≠ 6)

6

Команда займає 1 байт пам'яті, виконується за 2 цикли, 7 тактів.

7

Під час виконання команди дані, які містяться в комірці пам'яті, адреса якої знаходиться в регістровій парі HL, пересилаються в регістр за номером D.

8

Виконання команди не впливає на регістр стану.

1

Завантаження акумулятора

2

пряма / регістрова

3

LDA, B2,B3

4

М(B3, B2)A

5

3Ah

072q

6

Команда займає 3 байта пам'яті, виконується за 4 цикли, 13 тактів.

7

Під час виконання команди дані, які містяться в комірці пам'яті, адреса якої знаходиться в другому та третьому байтах команди, пересилаються в акумулятор А.. (B2 - молодший байт адреси, B3 - старший байт адреси)

8

Виконання команди не впливає на регістр стану.

1

Завантаження акумулятора

2

непряма / регістрова

3

LDAX B (LDAX D)

4

М(B, C)A   (М(C, E)A)

5

0Ah (1Ah)

012q (032q)

6

Команда займає 1 байт пам'яті, виконується за 2 цикли, 7 тактів.

7

Під час виконання команди дані, які містяться в комірці пам'яті, адреса якої знаходиться в регістровій парі BC (DE), пересилаються в акумулятор А.. (B (D) - старший байт адреси, C (E) - молодший байт адреси)

8

Виконання команди не впливає на регістр стану.

1

Завантаження регістрової пари HL

2

пряма / регістрова

3

LHLD, B2, B3

4

M(B3, B2) L,   M(B3, B2+1) H

5

2Ah

051q

6

Команда займає 3 байти пам'яті, виконується за 5 циклів, 16 тактів.

7

Під час виконання команди дані, які містяться в комірці пам'яті, адреса якої знаходиться в другому та третьому байтах команди, пересилаються в регістр L. В регістр H пересилаються дані наступної комірки пам'яті. (B2 - молодший байт адреси, B3 - старший байт адреси)

8

Виконання команди не впливає на регістр стану.

До наведеного списку команд не ввійшли команди роботи зі стеком, які будуть вивчатися в одній із наступних лабораторних робіт.

4. Порядок виконання експериментів.

Запустіть емулятор.

Експеримент 1. Виконання простих команд завантаження та пересилання даних.

Виконайте наведені нижче приклади програм в потактовому режимі. Зафіксуйте, скільки циклів та тактів займає виконання кожної із програм.

1. Завантаження регістра В числом 3Fh за допомогою команди MVI В, 3Fh

Введіть таку програму:

Адреса комірки ОЗП

код команди

Мнемонічний запис команди

Команда мікропроцесора

0000

06

MVI B, d8

дані наступної комірки ОЗП → регістр B

0001

3F

CMC

дані 3Fh → регістр В

-

-

-

-

2. Завантаження регістрової пари DE двобайтним числом 3А76h за допомогою команди LXI D, 76h, 3Аh

Введіть таку програму:

Адреса комірки ОЗП

код команди

Мнемонічний запис команди

Команда мікропроцесора

0000

11

MVI B, d8

дані наступних двох комірок ОЗП → регістр DE 

0001

76

HLT

дані 76h → регістр E

0002

LDA adr

дані 3Ah → регістр D

-

-

-

-

3. Завантаження комірки пам'яті за адресою 000Bh числом A6h за допомогою команди MVI М, А6h

Задайте початкові значення регістрів H=00; L=0В.

Введіть таку програму:

Адреса комірки ОЗП

код команди

Мнемонічний запис команди

Команда мікропроцесора

0000

36

MVI М, d8

дані наступної комірки ОЗП → комірка ОЗП за адресою 000Bh

0001

A6

АНА М

дані A6h → регістр E

-

-

-

-

4. Пересилання даних з одного регістра в інший (наприклад з В в Е) за допомогою команди MОV Е, В

Задайте початкові значення регістра В=55

Введіть таку програму:

Адреса комірки ОЗП

код команди

Мнемонічний запис команди

Команда мікропроцесора

0000

58

MОV Е, В

дані регістру В → регістр Е

-

-

-

-

5. Обмін даними між регістрами HL та DE за допомогою команди XCHG. Задайте початкові значення регістрів D=55; E=66; H=07; L=0E.

Введіть таку програму:

Адреса комірки ОЗП

код команди

Мнемонічний запис команди

Команда мікропроцесора

0000

EB

XCHG

регістр H ↔ регістр D

регістр L ↔ регістр Е

-

-

-

-

Зробіть висновки.

Експеримент 2. Створення масиву даних в пам'яті за допомогою команд пересилання даних.

Завдання: Створити в пам'яті масив даних згідно таблиці 2.:

Таблиця 2.

Адреса

Значення

Адреса

Значення

Адреса

Значення

1020h

ААh

1024h

А2h

1028h

h

1021h

А8h

1025h

А0h

1029h

98h

1022h

А6h

1026h

h

1023h

А4h

1027h

h

Звісно, можна створити програму, яка буде записувати дані в комірку пам'яті:

Адреса комірки ОЗП

код команди

Мнемонічний запис команди

Команда мікропроцесора

0000

3E

MVI A, d8

дані наступної комірки ОЗП → регістр А

0001

AA

дані АА

0002

32

STA

регістр А → комірка ОЗП за адресою 1020

0003

10

20

молодший байт адреси

0004

2E

10

старший байт адреси

цей фрагмент програми необхідно повторити для всіх значень таблиці

-

-

-

-

Така програма має той недолік, що фрагмент запису числа в регістр А та перезапису його в пам'ять буде повторюватись стільки разів, скільки даних містить масив.

Неважко замітити, що послідовність значень являє собою арифметичну прогресію з показником -2. Тому необхідно виконати такі пересилання:

АА-2×іM(HL+i)  для всіх  і = 0...10.

Для написання програми нам потрібні деякі команди, які детальніше будуть розглядатися в наступних лабораторних роботах. Це арифметичні команди:

DCR A (DCR B) - зменшення значення регістру A (B) на одиницю;

INX H - збільшення значення регістрової пари HL на одиницю;

та команди передачі керування:

JZ adr - перехід на команду програми за адресою adr в випадку, якщо в результаті арифметичних дій встановлено прапорець стану Z=1 (був нульовий результат попередніх математичних чи логічних операцій);

JMP adr - безумовний перехід на команду програми за адресою adr.

Команди DCR A, DCR B, INX H - однобайтові, результат їхнього виконання впливає на значення прапорців стану. Команди JZ adr, JMP adr - трибайтові, в другому і третьому байтах записана адреса комірки пам'яті, в якій міститься команда, що буде виконуватись наступною. Якщо Z=1 не виконана, то виконується команда, що записана наступною. Умова Z=1 може бути виконана, якщо в результаті арифметичних дій над вмістом регістрів загального призначення чи комірки пам'яті було отримано нульовий результат.

Алгоритм програми можна представити в вигляді:

Спочатку в регістри заносяться початкові дані: в А - значення АА, в В значення і - індексу масиву та в HL - адреса першої комірки масиву. Далі перевіряється значення прапорця Z. Якщо Z=0 тоді програма припиняє роботу, якщо ні - тоді значення регістру А записується в комірку пам'яті М (HL) значення регістру А зменшується на дві одиниці, значення регістрової пари HL збільшується на одиницю, значення індексу в регістрі В зменшується на одиницю. Здійснюється перехід програми на команду перевірки значення прапорця Z і т.д.

Занесіть програму в пам'ять та виконайте її.

код команди

Мнемонічний запис команди

Команда мікропроцесора

0000h

06h

MVI B, d8

дані наступної комірки ОЗП → регістр B

0001h

h

LDAX B

дані 0А

0002h

h

MVI A, d8

дані наступної комірки ОЗП → регістр А

0003h

ААh

XRA d

дані АА

0004h

21h

LXI H, d16

adrрегістрова пара HL

0005h

20h

-

молодший байт адреси adr

0006h

10h

-

старший байт адреси adr

0007h

САh

JZ adr

якщо Z=1 , то перейти на адресу adr (adr  РС)

0008h

12h

STAX D

0009h

00h

NOP

команда відсутня

000Ah

77h

MOV M, A

A M(HL)

000Bh

3Dh

DCR A

A -1 → A

000Ch

3Dh

DCR A

A -1 → A

000Dh

23h

INX H

HL + 1 → HL

000Eh

O5h

DCR B

B -1 → B

000Fh

C3h

JMP adr

перейти на адресу adr (adr  РС)

0010h

07h

RLC

молодший байт адреси adr

0011h

00h

NOP

старший байт адреси adr

0012h

76h

HLT

Зупинка програми

-

-

-

-

Перевірте значення комірок пам'яті починаючи з адреси 1020h.

Запишіть значення комірок. Зробіть висновки.

5. Контрольні запитання.

1. Призначення команд пересилання даних та їх основні типи.

2. Які із видів адресації використовують команди пересилання даних?

3. В яких випадках використовується безпосередня адресація? Її основні переваги та недоліки.

4. В яких випадках використовується регістрова адресація? Її основні переваги та недоліки

5. В яких випадках використовується пряма адресація? Її основні переваги та недоліки

6. Опишіть основні типи машинних циклів.

7. Команда LXI D, B2, B3 займає 3 байти пам'яті, виконується за 3 цикли, 10 тактів. Опишіть, які дії виконуються в кожному із машинних циклів цієї команди.

8. За допомогою яких команд пересилання можна завантажити дані в регістр А?

9. Перечисліть основні команди збереження даних в пам'ять.

10. Чому команди мікропроцесора інколи зручніше записувати в вісімковій системі числення?

11. Чи міняються значення прапорців стану, якщо пересилається число 00h?

12. Команди якого типу використовуються при створенні масивів даних та роботи з ними?

13. Яким чином можна значення комірки пам'яті переписати в іншу комірку пам'яті? Які команди для цього використовуються?

14. Чому, на Вашу думку, відсутні команди пересилання даних, які використовують такі види адресації: пряму/пряму, непряму/непряму, пряму/непряму та непряму/пряму? Відповідь обґрунтуйте.


0А →
В

АА → А

1020 → HL

М (HL)

A - 2 → A

HL + 1 → HL

B - 1 B

B = 0?

(Z = 1?)

Кінець

так

ні


 

А также другие работы, которые могут Вас заинтересовать

42946. Розрахунок витрат води 39.27 KB
  Визначення розрахункових добових витрат води Розрахункову добову витрату води на господарськопитні потреби населення обчислюємо за формулою: Qдоб.1 Розрахункові витрати води на господарськопитні потреби населення за добу найбільшого і найменьшого водоспоживання визначаються: Qдоб. Витрати води на виробничі потреби підприємст визначаємо виходячи з кількості продукції що випускається на кожну зміну роботи та питомої витрати води на технологічні потреби згідно завдання. зміну Qв м3 зміну Хлібозавод...
42947. Экономическое обоснование освоения выпуска новой продукции 87.82 KB
  Необходимо определить экономическую целесообразность перехода на выпуск нового вида продукции, ориентируясь на показатели рентабельности продукции и производства. Для этого необходимо разработать план работы предприятия на ближайшие 3 года, определить инвестиционные потребности, доходы и расходы, связанные с выпуском и реализацией новой продукции, выявить потребность в заемных источниках финансирования (кредитах), определить чистую прибыль предприятия и показатели эффективности.
42948. Расчет выпуска новой продукции 85.91 KB
  Дополнительным преимуществом для предприятия является возможность при изготовлении нового изделия максимально полно использовать имеющийся парк оборудования станков который использовался для выпуска продукции.
42949. Расчет коленчатого вала двигателя ЗМЗ - 53 376.33 KB
  ПЗ РАЗРАБОТКА МАРШРУТНОГО ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА Коленчатый вал двигателя ЗМЗ 53 рисунок 1 поступающие в ремонт может иметь следующие дефекты: обломы и трещины любого характера и расположения 1 изгиб вала 2 увеличение длины передней коренной шейки 3 износ шатунных шеек по длине 4 износ шатунных 5 и коренных 6 шеек износ шпоночной канавки под шпонки шестерни 7 и ступицы шкива коленчатого вала 8 биение шейки под шестерню коленчатого вала 9 износ шейки по шестерню коленчатого вала 10 износ шейки под ступицу шкива...
42950. Исследование QR метода на основе преобразований вращения и отражения 194.67 KB
  Рассмотрим два метода исключение обладающих в отличие от метода Гаусса гарантированной хорошей обусловленностью метод вращений и метод отражений. Оба эти метода позволяют получить представление исходной матрицы в вид произведения ортогональной матрицы Q на верхнюю треугольную матрицу R: =QR. 1 Теория метода вращения Пусть дана система линейных алгебраических уравнений содержащая n уравнений с n неизвестными. Идея метода заключается в том что матрицу А приводим к верхней треугольной умножая ее на коэффициенты c и s а потом с помощью...
42952. Організації передачі повідомлень на базі нових мережевих технологій 54.45 KB
  Завантаження однієї абонентської лінії телефонною розмовою складає в середньому 002 Ерланга в годину у годину пік – у 5 разів більше. Для спрощення розрахунків думаємо що динаміка росту кількості абонентів описується лінійним законом; завантаження однієї абонентської лінії телефонною розмовою складає в середньому 002 Ерланга в годину у годину пік – у 5 разів більше; середній трафик мови визначаємо по формулі: Тм сер = 002 Nб Тм сер = 002 13=026 Тм сер = 002 15=030 Тм сер = 002 16=032 Тм сер = 002 17=034 Тм сер = 002...
42953. Физические основы рентгеноспектрального и рентгенофлуоресцентного методов анализа 1.05 MB
  Свойства тонкоплёночных твёрдотельных объектов (электрические, магнитные, оптические и др.) зависят от их химического состава и толщины. Поэтому определение химического состава, толщины и других физико-химических характеристик твёрдотельных плёнок и покрытий для получения материалов с уникальными физическими свойствами является важной задачей