Алгоритм виконання команд


Групи команд

Тема 11. Система команд

 

Всi команди, якi можуть бути інтерпретовані МП створюють його систему команд. Вона характеризується функцiональною повнотою. Це означає, що за допомогою МП можна реалiзувати будь-який алгоритм обробки даних без яких-небудь обмежень.

 

 

1. Команди передачi даних

Розпiзнають такi пiдгрупи:

1.1 Однобайтне пересилання MOV R1,R2; MVI R,D8; STAX Rp; LDAX Rp; STA Addr; LDA Addr; SPHL.

1.2 Двохбайтне пересилання LXI Rp,D16; SHLD Addr; LHLD Addr; PUSH Rp; PUSH PSW; POP Rp; POP PSW.

1.3 Команди введення-виведення даних IN Port; OUT Port.

1.4 Обмiн байтами XCHG; XTHL.

2. Арифметичнi та логiчнi операцiї

2.1 Арифметичні та логічні операції з одним операндом CMC; STC; CMA; DAA; INR R; DCR R; INX Rp; DCX Rp.

2.2 Арифметичні та логічні операції з двома операндами ADD R; ADC R; SUB R; SBB R; ANA R; ORA R; XRA R; ADI D8; ACI D8; SUI D8; SBI D8; ANI D8; ORI D8; XRI D8; CPI D8; CMP R; DAD Rp.

2.3 Команди зсуву змісту акумулятора RLC; RAL; RRC; RAR.

3. Команди передачі управління

3.1 Команди безумовної передачі управління PCHL; JMP Addr

3.2 Команди умовної передачі управління

JZ Addr JNZ Addr JC Addr JNC Addr JPE Addr JPO Addr JM Addr

JP Addr

3.3 Команди звернення до підпрограм та повернення з підпрограм

CALL Addr CZ Addr CNZ Addr CC Addr CNC Addr CPE Addr CPO Addr CM Addr CP Addr

RST N

RET RZ RNZ RC RNC RPE RPO RM RP

4. Спеціальні команди

4.1 Дозвіл на переривання EI

4.2 Заборона переривання DI

4.3 Зупинка HLT

4.4 Пуста операція NOP

 

 

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

Мова опису деякої мови називається метамовою (штучна мова), яку ми і будемо використовувати для опису алгоритмів.

Елементи цiєї мови (штучної):

R-позначення pегiстpу, що викоpистовується R1,R2

Rp-паpа допустимих pегiстpiв B,C;D,E;H,L

à напpямок пеpедачi iнфоpмацiї

(..)-змiст (B)-змiст pегiстpа B

M - комірка пам'ятi, адpеса якої доpiвнює змiсту pегiстpової паpи H,L

{(..)}-комірка пам'ятi, адpеса якої вказана в дужках

BC~ B

DE ~D

HL ~H

Для пpикладу pозглянемо команди пеpесилання даних :

MOV(move)- пеpеслати

MVI(move immeadiate)- пеpеслати безпосеpеднiй опеpанд (число)

MOV A,B (B)à(A) В загальному виглядi MOV R2,R1; (R1)à(R2)

MVI C,85H; 85 à(C) MVI R;D8; D8à(R)

D8-восьмибітний опеpанд (число, константа)

 

 

На рис.11.1 зображено бланк для пpогpамування на мовi асемблеpа.

 

 

Об’єктна програма Вхідний текст

 

Адреса Об’єктний код Мітка Мнемокод Операнди Коментарі
          ;це коментар
    ; це також коментар    
      ORG 2100H ;початкова ;адреса
3A0921 START: LDA MEM1 ;(A)ß(MEM1)
320A21   STA MEM2 ;(A)à (MEM2)
C30021   JMP START ;(PC)ßSTART
F7 MEM1: DB 0F7H ;вх.число
210A MEM2: DB ;результат
      END    

 

Рис.11.1 Програма зациклювання