русс | укр

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

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

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

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


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

Двухбитовое поле mod определяет, сколько байтов в команде занимает операнд-адрес


Дата добавления: 2013-12-23; просмотров: 1175; Нарушение авторских прав


Reg := reg * adr

D=0 → reg2 := reg2 * regl

D=1 → reg1:= reg1 * reg2

Представление команд

А А+1 А+2

код(а) код(b) код(с)

 

 

Машинные команды ПК занимают от 1 до 6 байтов.

 

Код операции (КОП) занимает один или два первых байта команды.

В ПК много различных операций, что для них нехватает 256 различных кодов, которые можно представить в одном байте.

Поэтому некоторые операции объединяются в группу и им дается один и тот же КОП,

- во втором же байте этот код уточняется.

 

Кроме того, во втором байте указываются типыоперандов и способы адресации.

В остальных байтах команды указываются ее операнды.

 

Команды ПК могут иметь от 0 до 2 операндов.

Размер операндов - байтили слово (редко - двойное слово).

 

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

 

Некоторые команды требуют, чтобыих операнднаходился в фиксированном месте (например, в регистре АХ), и тогда операнд явно не указывается в команде.

Результат выполнения команды помещается в регистр или ячейку памяти, откуда беретсяодин из операндов.

 

Например,

большинство команд с двумя операндами реализуют действие

ор1 := ор1 * ор2,

 

где ор1 - регистр или ячейка памяти,

а ор2 - непосредственный операнд, регистр или ячейка памяти, а

* - операция, заданная КОПом.

 

Форматы машинных команд в ПК достаточно разнообразны и "затейливы".

Для примера рассмотрим лишь основные форматы команд с двумя операндами.



 

1)Формат "регистр - регистр" (2 байта):

1-ый байт: КОП | d | w |

2-ой байт: | 11 | reg1 | reg2 |

 

Команды этого формата описывают обычно действие

reg1 := reg1 * reg2

илиreg2 := reg2 * reg1,

 

гдеreg1 и reg2 - регистры общего назначения.

Поле КОП первого байта указывает на операцию (*), которую надо выполнить.

 

Бит wопределяет раз­мероперандов,

а бит d указывает, в какой из двух регистров записывается результат:

w=1 - слова

w=0 -байты

 

Во второмбайте два левых бита фиксированы (для данного формата),

а трех­битовые поля reg1 и reg2 указывают на регистры, участвующие в операции, со­гласно следующей таблице:

 

reg w=1 w=1   w=0       reg   w=1 w=0  
000 001 010   АХ CX DX ВХ   AL CL DL BL   100 101 110   SP ВР SI DI   АН СН DH ВН  
             


 

2) Формат "регистр - память" (2-4 байта):

КОП | d | w | | mod | reg | mem | adr (0-2 байт)

Эти команды описывают операции

или adr := adr * reg

, где reg - ре­гистр,

а adr- адрес ячейки.памяти.

 

 

Бит wпервого байта определяет размер операндов (см. выше),

 

а бит d указывает, кудазаписываетсярезультат:

в регистр (d = l)

или в ячейку памяти (d=0).

 

Трехбитовое поле reg второго байта указывает операнд-ре­гистр (см. выше),

(00 - 0 байтов, 01- 1 байт, 10 -2 байта),

 

а трехбитовое поле mem указывает способ модификации этого адреса.

 

В следующей таблице указаны правила вычисления исполнительного адреса в зависимости от значений полей mod и mem

( a8- адрес размером в байт,

а16- размером в слово,

[r] - содержимое регистра r):

 



<== предыдущая лекция | следующая лекция ==>
Представление символьных данных | Например,


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


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

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

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


 


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

 
 

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

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