русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Система команд МП.


Дата добавления: 2015-08-14; просмотров: 864; Нарушение авторских прав


МП имеет 244 команды. Отличных – 78.

По ф – циям:

1. Команды перемещения данных.

2. Команды арифметические.

3. Команды поразрядной обработки данных.

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

5. Команды управления МП.

 

Команды хранятся в памяти МП. Каждая команда – это комбинация двоичных данных. Но удобнее использовать 16 – ричный формат.

Операнды – это могут быть данные или адреса памяти и портов.

По фориату команды:

1 – байтные

2 – байтные

3 - байтные

 

 

 
 

 


 

 

 

 

Способы адресации – определяют методы операндов:

1. Непосред. адресация – данные указываются непосредственно в команде.

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

3. Регистровая прямая – в команде указываются название регистров, где нах. данные.

4. Косвенная регистровая – адрес яч. памяти нах. в регистровой паре ( чаще всего HL ).

5. Стековая – используется при работе со стеком – адресация ячеек стека идёт через указатель стека SP.

 

Команды перемещ. дан. хар – но, что дан. только перемещаются из одного объекта в др. ( дан. при перемещении копируются ).

А) Команды пересылки, загрузки, запоминания и обмена.

Б) Команды операций со стеком.

В) Команды ввода – вывода.

Если дан. перемещ. между регистр. – это пересылка; если из памяти в

регистр – это пересылка рег., перемещ. из рег. в память – это запоминание.

 

- перемещение данных

- « обмен данными

- R произвольный регистр

- ( R ) содержимое регистра

- RP регистровая пара

- ( RP) содержимое регистровой пары

- М ( Адрес ) содержимре ячейки памяти с адресом

- М ( HL ) содержимое ячейки памяти, адрес который нах. в рег. паре

- D8 или d8 8 – разр. данн. ( 1 – байт. )



- D16 или d8 16 – разр. дан. ( 2 – байт. )

- А16 или ADR 16 – разр. адрес

- PORT адрес порта

 

А) MOV, MVI, LXI, LDA, STA, LDAX, STAX, LHLG, SHLD

LHLG, SHLD

XCHG – ( HL ) « ( DE )

MOV R1, R2 ( R1 ) ( R2 )

R1, R2: A, B, C, D, E, H, L, M

D D D S S S
Код ком. Код прие-мника Код источ-ника

 

0111 1101 = 7DH

MOV A, L ( A ) ( L )

 

 

000 – В

001 - С

010 - D

011 - E

100 - H

101 - L

110 - M

111 – A

 

Ком пересылки не действуют на флаги МП.

Б) Стек – оюл. опер. памяти, адресация кот. осущ. с помощью рег. – указателя стека.

 
 

 


 

Для определения вершины стека надо загрузить указатель стека и указать адрес вершины стека: LXI SP, 100A H

 

Команды для раб. со стеком:

PUSH RP – занести в стек содержимое регистровой пары.

 

PUSH H ( HL )

PUSH B ( BE )

PUSH D ( DC )

PUSH PSW ( PSW ) = ( A ), ( F )

При занесении в стек:

1. Указатель стека декрементируется : ( SP ) ( SP ) – 1 : 1009H

2 . Старший регистр пары заносится в ячейку по новому адресу ( SP ) ( H ) ( 1009 H ) ( H )

3. Указатель стека вновь декрементируется: 1008H.

4. Заносится по этому адресу мл. регистр пары ( SP ) ( L ) ( 1008H ) ( L )

 

 

PUSH PSW

( A ) ( F ) = 33H, 02H

 

1. ( SP ) ( SP ) – 1 1007H

2. ( SP ) ( A ) ( 1007H ) ( A )

3. ( SP ) ( SP ) – 1 1006H

4. ( SP ) ( F ) ( 1006H) ( F )

 

 
 

 


 

 

POP RP – извлечь из вершины стека 16 – разр. данные и помещаем в рег. пару.

Извлечь надо в обратном порядке: PUSH H

PUSH PSW

…………..

POP PSW

POP H

POP PSW

1. МП перемещает из верш. стека содержимое в регистр пары ( F ) ( SP ):

( F ) (1006H)

2. Указатель стека инкреминтируется : ( SP) ( SP ) + 1: 1007H

3. Дан. из вершины стека пересыл. в старший рег. пары:

( А ) ( SP ) : ( A ) ( 1007H )

4. Указ. стека вновь инкреминтируется: 1008H

 

POP PSW – изменяет флаги МП

 

В) Команды ввода и вывода:

IN PORT – ( A ) ( PORT )

OUT PORT ( PORT ) ( A )

2. A ) команды сложения 8 разр. чисел ( ADD, ADC, ADI, ACI )

Б ) команды вычесления 8 – разр. чисел ( SUB, SBB, SBI )

В ) команды сложения 16 – разр. данных DAD – данные складываются с регистровой парой овой парой .

DAD H – ( HL ) ( HL ) + ( HL )

DAD B – ( HL ) ( HL ) + ( BC )

DAD D – ( HL ) ( HL ) + ( DE )

DAD SP – ( HL ) ( HL ) + ( SP )

Г ) команды инкремента ( INTR, INX )

Д ) команды декремента ( DCR, DCX )

Е ) команды десятичной коррекции данных ( DAA )

 

3. A ) ком. Логические:

ANA ANI - лог. И

ORA, ORI – лог. искл. ИЛИ

CMA - лог. НЕ

Б ) ком. cдвига:

RLC, RRC, RAL, RAR

В ) ком. сравнения

CMP, CPI:

CMP R – сравнен. с рег.

CMP M – сравн. с ячейками памяти

CPI – сравн. с непоср. данными

0, то Z = 1

( А ) – ( R ) = < 0, то CY = 1

> 0, то Z = 0 , CY = 0

Г) команды операции с флагом переноса: STC: (CY) 1 и CMC: (CY) ( )

 

3 группы:

А) Ком. перехода

Б) Ком. вызова подпрограммы

В) Ком. возврата из подпрограмм

2 вида:

- безусловные команды – выполняются всегда

- условные ком. – выполняются при истинности усл – ия, указанного в ком.

 

Условие – это состояние флагов МП.

 

Условие выполнения команды Флаг ( признак ) Мнемоника
Равенство 0 Неравенство 0 Перенос Нет переноса Нечётность Чётность Положительность Отрицательность Z =1 Z = 0 CY = 1 CY = 0 P = 0 P = 1 S = 0 S = 1   Z NZ C NC PE PO P M

 

Команды перехода:

А ) безусловные: JMP ADR; в РС загружается адрес, указанный в команде:

( PC ) ADR

 
 

 

 


 

PCHL ; ( PC ) ( HL )

Б ) условные: Jcond ADR; (где cond – это мнемоника: JZ, JNZ, JC, JNC, JPE, JPO, JP, JM)

 

1. МП проверяет флаг, котор. указан в усл – е истинно, то ( PC ) ADR;

а если ложно, то команда игнорируется: ( PC ) ( PC ) + 3

Команды вызова подпрограмм:

А ) безусловные

Б ) условные

 

А. CALL ADR

 

1. МП заносит в стек содержимое РС – это будет адрес возврата из подпрограммы – PUSH PC

2. В PC заносится адрес, указанный в команде – JMP ADR

 

ADR – это первая команда подпрограммы – 0000Н….FFFFH

RST N N = 0, 1, 2, 3, 4, 5, 6, 7

ADR = N * 8 ( десятичное число )

Команда Адрес п .п.
RST 0 RST 1 RST 2 RST 3 RST 4 RST 5 RST 6 RST 7 0000H 0008H 0010H 0018H 0020H 0028H 0030H 0038H

 

Б. Ccond ADR (где cond – мнемоника условия)

 

1. проверяется флаг, указанный в команде: если усл – ие истинно, то выполняется вызов п. п. по адресу, указанному в команде ( в стек заносится содержимое РС и в ( РС ) ADR )

3. если усл –ие ложно, то команда вызова игнорируется:

( PC ) ( PC ) + 3

Команды возврата из п. п. :

А ) безусловные

Б ) условные

 

А. RET возврат

 

МП извлекает из вершины стека 16 – разр. число и помещает его в РС, при этом происходит возврат в основную программу:

1. ( РС ) ( SP )

2. ( SP ) ( SP ) + 1

3. ( PCH ) ( SP )

4. ( SP ) ( SP ) + 1

 

Б. Rcond (где –cond - мнемоника условий)

 

1. проверяется флаг МП – если усл – ие истинно, то выполняется команда возврата ( из стека загружается РС – адрес возврата )

2. если усл – ие ложно, то команда возврата игнорируется:

( PC ) ( PC ) + 1

 

5 EI – ком. разрешить прерыван. ( т. е. разрешает МП реагировать на сигналы по входу INT)

EI – вызывает установку внутр. триггера INTE ® 1 ( т. е. прерывание разрешены )

DI – запрещение прерываний ( т. е. МП не реагирует на запросы прерыв., поступающие на вход INT ), триггер INTE ® 0

NOP – пустая команда ( не производит никаких действий ) – использ. для выполнения задержек и для лотание дыр в программе.

HLT – останов МП – ША и ШД переходят в Z – сост., т. е. МП отключается от системной шины.

Выход:

– запрос прерывания

- сигнал нач. установки

 

 



<== предыдущая лекция | следующая лекция ==>
Построение модуля центрального процессора МП ВМ85. | Язык Ассемблера.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.337 сек.