13182

Програмування МП КР580ВМ80

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

Коммуникация, связь, радиоэлектроника и цифровые приборы

Мікропроцесорні системи Лабораторна робота№4 ЛАБОРАТОРНА РОБОТА №4 Програмування МП КР580ВМ80 1. Мета роботи Вивчення команд Асемблера для мікропроцесора КР580ВМ80. Отримання пр...

Украинкский

2013-05-10

150 KB

10 чел.

Мікропроцесорні системи                    Лабораторна робота№4

ЛАБОРАТОРНА РОБОТА №4

Програмування  МП КР580ВМ80

___________________________________________________________________________

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

Вивчення команд Асемблера  для мікропроцесора   КР580ВМ80.  Отримання практичних навиків програмування  мікропроцесора  КР580ВМ80.

 

2. Короткі теоретичні відомості

2.1 Опис команд, їх класифікація. Склад команди: код операції і операндів.

     Мікропроцесор містить 8-ми розрядну шину даних і 16 - розрядну шина адреси. Шина даних зв'язана з шістьма 8-розрядними регістрами А (акумулятор), В, C, D, E, H, L і 16-розрядними регістрами вказівника стеку SP, регістра адреси ІР, 8-розрядними регістрами тимчасового зберігання W, Z  і регістром флагів F. З цієї шини дані можуть передаватись в 8-розрядний регістр коду операції і 16-розрядний програмний  лічильник PC.  На шину адреси можуть передаватись сигнали адреси з програмного  лічильника  і  регістрів  H,  L ( H-регістр старших розрядів адреси, L- регістр молодших розрядів адреси). Всі дані і команди, циркулюючі по шинах і поступаючі з  пристроїв оперативної пам'яті і вводу-виводу,  представлені в двійковій формі. Але для зручності будемо записувати їх в шістнадцятковій формі. Це відповідає і клавіатурі вводу. Тоді 8-розрядне двійкове число може бути представлене у вигляді 2-розрядного шістнадцяткового числа.

Наприклад, двійкове число 11000101 будемо записувати, як С5. Відповідність між 4-розрядними двійковими і шістнадцятковими числами  показана в табл. 2.1.

        Таблиця 2.1.

Двійкове  число

10-ве число

16-ве число

Двійкове число

10-ве число

16-ве число

0000

0

0

1000

8

8

0001

1

1

1001

9

9

0010

2

2

1010

10

А

0011

3

3

1011

11

В

0100

4

4

1100

12

С

0101

5

5

1101

13

D

0110

6

6

1110

14

E

0111

7

7

1111

15

F

     

У відповідності  до  табл. 2.1. шістнадцятковому    числу    С5   відповідає  десяткове число 12*16+5=197. Але  навіть в такому вигляді команди  запам'ятати  дуже важко,  тому частіше їх записують скороченими англійськими словами. Такий запис складає мову  низького  рівня  Асемблер. Переклад  з  Асемблера  в  двійкові  коди  може виконуватись вручну  (по таблиці)  або спеціальним  транслятором, який є в більшості ЕОМ. Використання мови Асемблер дозволяє значно зменшити залежність програми від  типу  мікропроцесора, так як при переході на інший мікропроцесор змінюється лише таблиця відповідності.

  Всі команди мікропроцесора КР 580 ВМ 80 діляться на 5 груп:

  1.  команди  пересилки даних.  Здійснюють  пересилання  даних  між   регістрами  або  між пам'яттю і регістрами;
  2.   арифметичні команди.  Призначені для додавання, віднімання збільшення або зменшення  вмісту регістрів;
  3.   логічні команди.  Виконують логічні операції І, АБО, виключаюче АБО, порівняння,  зсуву, доповнення даних в регістрах і комірках пам'яті;
  4.   команди переходів (умовних і безумовних),  виклику підпрограм і повернення з  підпрограм;
  5.  команди вводу-виводу,  управління і роботи зі СТЕКом. Призначені для виконання  операцій вводу-виводу, роботи зі СТЕКом, керування, дозволу і заборони переривань.

 Будь-яка команда  виконується за час,  який називається циклом  команди, що реалізується за 1-5 машинних циклів.  Під машинним циклом будемо розуміти час,  який потрібний для обміну одним словом по інформаційній шині або виконання команди,  яка  визначаться  одним машинним словом.  Машинний цикл може складатись з 3-5 машинних тактів в залежності від складності виконуваної команди.

  Код виконуваної команди надходить в регістр команди по інформаційній шині,  і пристрій управління у відповідності з записаним кодом формує керуючі сигнали на внутрішні і зовнішні  блоки МП.

   

2.2 Класифікація та призначення регістрів  загального  призначення.

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

МП КР 580 ВМ 80   містить шість 8-розрядних регістрів  загального призначення (B,  C, D, E, H, L) які можуть використовуватись і як три 16-розрядні регістри  (BC, DE,  HL). Регістри B,  C, D, E, H, L використовуються для  зберігання  даних.  регістри H, L  можуть використовуватись також як адресний регістр. 

2.3 Способи адресації.

В МП використовують три способи адресації:

  1.  пряма  -  адреса операнду (операндів) міститься в самій команді;
  2.  безпосередня - операнди задаються в другому або в третьому  байтах команди  (LDA 8052, CALL 3050, JMP 8001);
  3.  непряма - адреса операнду зберігається в парі регістрів загального призначення (РЗП) H,  L,  які ще називаються регістром непрямої адресації (SUBM, ADDM).

Завантаження регістрів H, L здійснюється  за допомогою безпосередньої адресації (LХІ H, 8102). Адреса даних  формується  в  регістрі адреси (ІP) і видається на  адресну магістраль (ША)  через 16-розрядний буферний регістр адреси (БА)

 Адреса в ІP формується:

-коли ІP під'єднується до лічильника команд (РС),  вміст якого збільшується на 1 після зчитування кожного байта команди;

-коли адреса  вводиться  послідовно по одному байту і спочатку розміщується в програмно недоступних регістрах  тимчасового  зберігання (W,Z), а потім передається в РА;

-при прямій та безпосередній адресації адреса  розміщується  в W, Z, а при непрямій - в регістрах загального призначення H, L.

Команди пересилки даних здійснюють обмін даними між регістрами чи між регістрами і пам'яттю. Основні команди цієї групи мають позначення MOV чи MVІ. По команді MOV проходить пересилання вмісту одного регістру в пам'ять, чи вмісту пам'яті в регістр. Наприклад, по команді MOV B, H проходить передача числа з регістру H в регістр В.

По команді  MVІ здійснюється запис числа в акумулятор,  регістр чи пам'ять. Наприклад, команда MVІ B, 35 дозволяє записати число 35 (в шістнадцятковому коді) в регістр В.

 При записі на Асемблері акумулятор позначається буквою  А, оперативно запам'ятовуючий  пристрій  - М.  Шістнадцяткові коди деяких команд пересилки даних приведені в табл.2.2

       Таблиця 2.2

Асемблер  

  16-ковий код

Асемблер

16-ковий код

MOV A,A

7F

MOV M,A

78

MOV M,B

77

MOV A,B

70

MOV A,C

79

MOV M,C

71

MOV A,D

7A

MOV A,M

7E

MOV B,A

47

MOV B,M

46

MOV B,B

40

MOV C,M

4E

MOV B,C

41

MVІ A, число

3E+число

MOV C,A

4F

MVІ B, число

06+число

MOV C,B

48

MVІ C, число

OE+число

MOV C,C

49

MOVD,A

57

 

Команди пересилки даних регістр-регістр займають в оперативній     пам'яті одну комірку  (1 байт, одне двохрозрядне шістнадцяткове число). Команди для роботи з пам'яттю MOV M, A,  MOV A,М і інші е командами з  другорядною адресацією.  В оперативній пам'яті буде вибиратись комірка,  адреса якої знаходиться в регістрах Н-старші розряди і L-молодші розряди.

 Так, якщо в регістрі Н знаходиться число 82,  а в регістрі  L число 16,  то  по команді MOV A,M в регістр А буде записано число з адресою 8216.  Такі команди також е однобайтними.  Але для точності адресації комірки  пам'яті  8216  може бути використана команда LDA 8216, яка займає три послідовних байти пам'яті,  в  яких  розміщені числа 3А,  16, 82. 3А- код команди, 16 - молодші розряди адреси, 82 - старші розряди адреси. Аналогічна команда STA 8216, по якій вміст акумулятора передається в комірку з адресою 8216. і, на кінець, команда MVІ A 27 дозволяє точно записати число 27  в  акумулятор.  Ця команда займає 2 байти пам'яті , в яких розміщені числа 3Е, 27. Але потрібно пам'ятати, що число 27 записане в шістнадцятковій системі. В десятковій системі це буде число 2*16+7=39.  Виконання кожної команди (командний цикл) займає від одного до п'яти  машинних  циклів тривалістю 2 мкс кожний. Машинний цикл потрібен кожен раз, коли мікропроцесор звертається до пам'яті, пристроям вводу-виводу (портів).

Якщо команда  займає  декілька байтів,  то для вибору кожного байту  потрібно по одному   машинному циклу.

Так, команда MOV C,A займає один машинний цикл і виконується в такій послідовності:

 1). Нехай ця команда записана в комірці пам'яті 8200,  тоді в цій комірці буде  зберігатись код  4F.  Виконання команди починається,  якщо до початку командного циклу на програмному лічильнику е число 8200. Вміст програмного лічильника по  шині   адреси передасть адресу  8200 в блок    пам'яті,  а по шині управління передається сигнал читання.

Вміст комірки  з адресою 8200 (4F) передається по шині даних в регістр   коду операції, після чого виконується дешифрація коду операції і        виконується операція з шістнадцятковим кодом 4F. По цій команді вміст        акумулятора передається на шину даних і з неї в регістр С.

На  цьому  виконання команди закінчується і до вмісту командного          лічильника додається одиниця.

 2). Виконання команди  LDA  8216,  яка займає три комірки пам'яті, наприклад   8201, 8202,  8202,  в яких зберігаються коди 4F, 16, 82, починається, коли на програмному лічильнику е число 8201. На адресі  8201 вибирається команда 4F.  В другому машинному циклі з наступної комірки 8202  вибирається  число  16  і записується в регістр L.  В третьому машинному циклі з комірки 8203 вибирається число 82 і  записується в регістр Н. В четвертому машинному циклі вміст регістрів H, L передається в шину адреси і формується сигнал зчитування. Число з комірки 8216 в четвертому машинному циклі передається в акумулятор. На програмному лічильнику встановлюється число 8204, інші команди виконуються аналогічно.

Пам'ять завжди можна подати у вигляді стовпця комірок пам'яті, комірки яких  зростають  зверху вниз.  Вибираються адреси в порядку зростання (зверху вниз).

 Стек (область ОЗП) організований таким чином:

- заповнення стеку відбувається знизу вверх;

- вибирається стек в зворотньому напрямку (рис.1);

Вказівник стеку (SP) зберігає адресу останньої  зайнятої комірки ("вершини") стеку.  Команди,  що використовують стек, переносять два байти (наприклад,  вміст пари регістрів H,L)  таким  чином, що вміст старшого регістру Н (hіgh) розміщується за адресою AS-1 (AS початковий код адреси,  що міститься в SP до моменту пересилання), а молодшого L (low) - за адресою AS-2 (рис.3).Під час вибірки двох байтів спочатку вибирається молодший байт (AS-2), а потім за адресою на одиницю більшу (AS-1) старший.  Вміст SР при цьому збільшується на  два.  В  момент  переривання  основної програми після завершення виконання мікропроцесором поточної команди в стек автоматично завантажується вміст лічильника команд,  а  в лічильник команд  завантажується адреса першої команди підпрограми. Після закінчення наступної переривання в лічильник команд  повертаються із  стеку  значення наступної до переривання команди основної програми (адреса повертання). Арифметичні команди призначені для виконання додавання, віднімання, збільшення або зменшення вмісту регістрів чи комірок пам'яті на одиницю.

 Команди додавання  і  віднімання завжди виконуються між першим числом, яке знаходиться в акумуляторі,  і другим числом, яке знаходиться в регістрі чи в пам'яті. Результат розміщується в акумуляторі. Команди ADDR ( де R- будь-який регістр) додають вміст  акумулятора і  регістра,  команди  SUBR  віднімають від вмісту акумулятора вміст регістра,  команди ІNR R збільшують вміст регістра на одиницю, команди DCR  R зменшують вміст регістра на одиницю.  Всі ці команди команди допускають адресацію, як і команди пересилки.

Шістнадцяткові коди  деяких  арифметичних  команд  приведені в   табл 2.3.

 

       Таблиця 2.3.

Асемблер

16-овий код

Асемблер

16-овий код

ADD A

87

ІNR A

3C

ADD B

80

ІNR B

04

ADD C

81

ІNR M

0C

ADD M

86

ІNR C

34

SUB A

97

DCR A

3D

SUB B

90

DCR B

05

SUB C

91

DCR C

0D

SUB M

96

DCR M

35

При виконанні всіх вказаних команд,  якщо результат рівний нулю, тригер флага нуля (флаг Z) встановлюється в стан "1",результат не рівний нулю - в стан "0".

  При виконанні операції ADD R і ІNR R,  якщо відбувається переповнення, встановлюється флаг переносу (флаг С),  при відніманні, якщо вміст акумулятора менший вмісту регістра - флаг S. Використання флагів відбувається звичайно при виконанні операції умовного переходу.

  2.4. Логічні команди.

  Виконують логічні операції над даними, які зберігаються в регістрах і комірках пам'яті. Основними логічними операціями e І, АБО, виключаючи АБО, порівняння CMR R робить порівняння вмісту акумулятора з вмістом регістра, комірки пам'яті (непряма адресація) і самим числом. Деякі команди порівняння приведені в табл. 2.4.

   Таблиця 2.4.

  Асемблер

16-ковий код

Примітка

CMP A

BF

При рівності чисел

які порівнюються,

встановлюється флаг Z

CMP B

B8

CMP C

B9

CMP M

BE

CPІ, число

FE + число

2.5. Команди безумовного переходу.

Змінюють нормальну послідовність виконання команд. Команда безумовного переходу JМP, "адреса" завжди встановлюється в програмний лічильник число, записане в позиці "адреса". Наступною виконується команда, адреса якої в блоці пам'яті відповідає числу в позиції "адреса". Команда умовного переходу передає управління команді, вказаної в позиції "адреса", тільки при одиничному значенні флага Z. Послідовність команд не змінюється, якщо флаг Z рівний нулю. До цієї ж групи команд відносяться команди виклику підпрограми CALL, "адреса". По цій команді управління передається по вмісту комірки "адреса", адреса останньої виконаної перед нею команди запам’ятовується в стоці і після виконання підпрограми по команді RET виконується повернення до виконання основної програми, наступної за командою CALL.

Регістри H, L можуть використовуватись, як адресний регістр. Деякі команди переходу і їх шістнадцяткові коди приведені в табл. 2. 5.

 Існують слідуючі умови переходу:

   Умова  Код

 NZ - не нуль (Z=0)  000

 Z - ноль (Z=1)  001

 NC - нема переносу

   (CY=0)  010

 C - e перенос

   (CY=1)  011

           PO - непарний результат

    (P=0)  100

 PE - парний результат

    (P=1)  101

 P - плюс (S=0)  110

 M - мінус (S=1)  111

JMP [адр.] 

 PC -(байт 3) (байт 2)

 Керування передається команді, адреса якої вказана на другому і третьому байтах команди переходу.

          Таблиця 2.5.

  1  1  0  0  0  0  1  1

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

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

JMP [адр.] C3

 Цикли: 3

 Стан: 10

 Адресація: безпосередня

 J (умова) [адр.] (умовний перехід)

 Якщо (ССС), то (РС) -  (байт 3)  (байт 2)

 Якщо вказана умова істинна, то управління передається команді, адреса якої вказана на другому і третьому байтах команди переходу.

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

1  1  С  С  С  0  1  0

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

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

 JNZ [ адр.] C2

 JZ    [ адр.] CA

 JNC [ адр.] D2

 JC    [ адр.] DA

 JPO [ адр.] E2

 JPE [ адр.] EA

 JP    [ адр.] F2

 JM   [ адр.] FA

Цикли: 3

Стан: 10

Флаги: нема

CALL [ адр.] (ВИКЛИК) ((SP) - 1) -(PCH) ((SP) - 2) - (PCL) (SP) - (SP) - 2

 (PC) - (байт 3) (байт 2)

 Старші 8 біт адреси наступної команди пересилаються в комірку пам'яті, адреса якої на 1 менша вмісту вказівника СТЕКУ SP. Молодші 8 біт адреси наступної команди пересилаються в комірку пам'яті адреса якої на 2 менша величини вказівника СТЕКУ SP. Вміст вказівника СТЕКУ зменшується на 2. Керування передається команді, адреса якої вказана на другому і третьому байтах команди виклику.

-

1  1  0  0  1  1  0  1

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

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

CALL [адр.] CD

 Цикли: 5

 Стан: 18

Адресація: безпосередня/ непряма регістрова Флаги: нема

 С (УМОВА) (адр.) (УМОВНИЙ ВИКЛИК)

     

Якщо (ССС), то ((SP) - 1) - (PCH)

((SP) - 2) - (PCL), (SP) - (SP) - 2 (PC) -  (байт 3) (байт 2)

Якщо вказана умова істинна, то виконуються дії, які описані в команді CALL, в противному випадку послідовність виконання команд не змінються.

-

1  1  С  С  С  1  0  0

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

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

 

 CNZ (адр.) C4

 CZ  (адр.) CC

 CNC (адр.) D4

 CC  (адр.) DC

 CPO (адр.) E4

 CPE (адр.) EC

 CP  (адр.) F4

 CM (адр.) FC

Цикли: 5

Стан: 18

Адресація: безпосередня/ непряма регістрова Флаги: нема

 

              RET (ПОВЕРНЕННЯ)

 (PCL) - ((SP))

(PCH) - ((SP) + 1) (SP) - (SP) + 2

Вміст комірки пам'яті, адреса якої міститься у вказівнику СТЕКУSP, пересилається у 8 молодших біт  програмного  лічильника.

Вміст вказівника СТЕКУ збільшується на 2.

           1100100

        RET   C9              

  Цикли: 3

  Стан: 10

  Адресація: безпосередня регістрова

Флаги: нема

 

  1  С  С  С  0  0  0  

        RNZ          CO

  RZ             C8

  RNC         DO

  RC            D8

  RPO          EO

  RPE           E8

  RP             FO

  RM            F8

  Цикли: 3

  Стан: 12

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

  Флаги: нема

  

                  RST n (РЕСТАРТ)

  ((SP) - 1) - (PCH)

((SP) - 2) - ((PCL) (SP) - ((SP) - 2) (PC) - 8 (NNN)

Старші 8 біт адреси наступної команди пересилаються в комірку пам’яті, адреса якої на 1 менше вмістимого вказівника СТЕКУ. Молодші 8 біт адреси наступної команди пересилаються в комірку пам'яті, адреса якої на 2 менша вмісту вказівника СТЕКУ. Вміст вказівника СТЕКУ зменшується на 2. Керування передається по команді, адреса якої рівна коду NNN, помноженого на 8.

1  N  N  N  1  1  1

RST 0   C7

RST 1   CF

RST 2   D7

RST 3   DF

RST 4   E7

RST 5   EF

RST 6   F7

RST 7   FF

Цикли: 3 Стан: 12

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

15 14 13 12 10 9 8 7 6 5  4  3  2  1 0

                  0  0  0   0   0  0 0 0 0 N N N 0 0 0   - Програмний лічильник після рестарту.

   

3. Завдання

1.Виконується на самостійній підготовці перед  виконанням  дослідної роботи.

1.1.Скласти програму для виконання за прикладом 1  таких тотожностей:

 1.Y=X1+35-2*X2

2.Y=2*X2+4*X1+7

3.Y=X2+3*X1-15

4.Y=X1-X2-40

5.Y=4*X1-3*X2+16

Значення чисел  Х1,Х2  подані  в  таблиці 1 для вказаного викладачем  варіанту (числа десяткові).

     Таблиця 1

Числа

ВАРІАНТИ

1

2

3

4

5

Х1

15;9

41;26

99;80

65;30

50;2

X2

21;11

39;14

66;75

45;15

29;2

 

4.Виконується в лабораторії

    Приклад 1

    Вирахувати Y=3*(X1-4+X2).Результат  записати в комірку пам’яті за адресою 8052. Число Х2 зберігається в комірці 8051 , число Х1 - в комірці 8052.

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

     Асемблер     Машинний код

        LDA  80  52         3А     52    80

    1 байт  2 байт  3 байт                                   1 байт  2 байт 3 байт

 де 52-молодший байт

   80-старший байт

Приклад 2

Адреса

Машинний код

Асемблер

Коментатор

8080

3А 51 80

LDA 8051

Завантаження в А числа Х1 з   комірки 8051

8003

D6  04

SUІ 04

Віднімання від вмісту А константи  4 (10)=4(16)

8005   

21 52 80

LXІ H,8052

Завантаження в регістри H,L адреси 8052

8008

86

ADD M

Додавання до вмісту А вмісту комірки пам’яті, адреса якої зберігається в регістрах H,L

8009

86

ADD M

Те  саме

800A

86

ADD M

Те саме

800В

32 50 80

STA 8050

Завантаження вмісту А в комір ку 8050

800Е

76

HLT

Зупинка

    

 4.2. Скласти програму за прикладом 2, яка б демонструвала команди зсуву з використанням команд безумовного і умовного переходів. Скласти розгалужену програму контролю вмісту комірок пам'яті ОЗП за адресами Адр1=8030, Адр2=8031.

Якщо число Х1, яке зберігається за адресою Адр1, менше числа Х2 ( адреса Адр2 ) - зсунути вміст акумулятора вліво на одну позицію, Х1>Х2 - вправо на одну позицію, Х1=Х2 зсув вправо через перенос.

       Приклад 2

Адреса

Машинний код

Асемблер

Коментар

8000

3A 30 80

LDA 8030

Завантаження в А числа Х1, з комірки Адр1

8003

21 31 80

LHІ,H8031

Завантаження в регістри H,L

8006

BE

CMPM

Порівняння вмісту А з вмістом комірки пам'яті, адрес якої зберігається в регістрах H,L адреси Адр2

8007

DA 11 80

JC LAB

Якщо вміст А менший вмісту комірки пам'яті за адресою Адр2, то перехід до виконання команди з мітками LAB RLG інакше виконується наступна команда.

800А

СА 15 80

JZ LAB1

Якщо вміст Х1=Х2, то перехід до виконання команди LAB1 RAR, інакше виконується наступна команда

800D

07

RLG

Зсув вліво

800Е

C3 16 80

JMP END

Перехід до команди HLT

8011

OF

LAB RRC

Зсув вправо

8012

C3 16 80

JMP END

Перехід до команди HLT

8015  

1F

LAB1 RAR

Зсув вправо через перенос

8016

32 50 80

STA 8050

Запис вмісту А в пам’ять за адресою 8050

8019

76

END HLT

Зупинка

          

   4.3 Скласти програму для запису даних в регістри загального призначення B,C,D з записом вмісту відповідного регістру в акумулятор. Просумувати вміст А з регістром і виконати логічну  операцію над регістром суми, результат занести в пам'ять.

   Завдання виконувати  за варіантом вказаним викладачем,  за прикладом 3.

               Таблиця  3

Варіант

Регістри

Число

Логічна операція

1

В , С

17;99

Операція  " 1 "

2

D , B

68;45

Операція  " Виключне АБО "

3

C , D

10;4

Операція  " АБО "

4

D , C

54;86

Порівняння регістру С з вмістом акумулятора

                                                             Приклад 3.

Адреса

Машинний код

Асемблер

Коментар

8000

0604

MVІB,04

Записати число в регістр В 4(10)=4(16)

8002

0Е06

MVІC,06

Записати число в регістр С

С 6(10)=6(16)

8004

78

MOV A,B

Занести вміст регістру В в А

8005

81

ADDC

Сумування вмісту А і регістру С

8006

2F

СМА

Інвертування суми (доповнення)

8007

32 50 80

STA 8050

Записати результат в пам'ять

800С

76

HLT

Зупинка

  

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

  1.Призначення , структура та функції мікропроцесора.

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

  3.Регістри загального  призначення.  Класифікація  та призначення.

  4.Способи адресації в МП.

  5.Логічні команди в МП.

  6.Команди безумовного переходу.


6. Література

    1. Р.  Токхайм.  Микропроцессоры.  Курс  и   упражнения.-М: Энергоатомиздат, 1988.

    2. В.И.Васильев,   Ю.М.Гусев,   В.Н.Миронов.    Электронные промышленные  устройства.-М.: Высш.шк.,1988.

    3. В.С.Медведев, Г.А.Орлов, Ю.И.Рассадкин и др. Управляющие и  вычислительные устройства роботизированных комплексов на базе микро-ЭВМ.-М.: Высш.шк.,1990.

    4. В.И.Зубчук,   В.П.Сигорский,  А.Н.Шкуро.  Справочник  по цифровой схемотехнике.-К.:Техника,1990.

PAGE  12


 

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

70164. Организация и оплата труда на предприятиях 158 KB
  Организация труда – составная часть экономики труда – это организация труда людей в процессе производства. Она способствует рациональному соединению техники и персонала, оптимизирует эффективное использование живого труда, обеспечивает сохранение здоровья работников и повышения...
70165. Анализ ценообразующих факторов 193.5 KB
  Перед всеми коммерческими и многими некоммерческими организациями встает задача назначения цены на свои товары и услуги. В условиях рыночной экономики успех любого предприятия или предпринимателя во многом зависит от того как правильно они будут устанавливать цены на свои товары и услуги.
70166. Службы управления персоналом на предприятии 245.5 KB
  Процесс формирования рыночных отношений требует изменения форм и методов хозяйствования основных звеньев экономики - предприятий. Новые общественно-экономические условия ставят производство перед необходимостью решения новых задач.
70168. Проект подстанции для ткацкого цеха №3 предприятия «ОАО ХБК Шуйские ситцы» 3.12 MB
  Производим расчет подстанции, которая получает питание от ЦРП расположенного на расстоянии 1,2 км. Подстанция питает ткацкий цех №3 предприятия «ОАО ХБК Шуйские ситцы», в котором установлено: 315 ткацких станков СТБ-1-180, освещение и вентиляция мощностью 150 кВт.
70169. Вспомогательное производство, его роль в обеспечении работы предприятия 200.5 KB
  Уровень технической оснащенности предприятия определяет эффективность изготовления продукции основным производством обуславливает возможность ритмичности ее выпуска с заданными потребительскими свойствами. Техническую оснащенность предприятия можно рассматривать с точки зрения производства...
70171. Анализ станков используемых для изготовления детали Переходник 815 KB
  Стандартный ряд частот вращения шпинделя: Общее уравнение кинематического баланса привода главного движения: Число групп передач:4 Анализ структуры привода главного движения 8. Конструктивный порядок группы передач число передач в группе.
70172. Visual Basic 92.5 KB
  Целью данной работы является ознакомление с программой Visual Basic и написание в ней программы для решения степенных уравнений методом деления отрезка пополам и методом хорд, а так же с программой, позволяющей решить почти любой пример, Maple.