русс | укр

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

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

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

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


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

РЕГИСТРЫ ПРОЦЕССОРА


Дата добавления: 2014-11-28; просмотров: 968; Нарушение авторских прав


 

Распространение микропроцессоров послужило толчком для повышения интереса к языку ассемблера. Во-первых, программы, написанные на языке ассемблер, требуют значительно меньшего объема памяти и времени выполнения. Поэтому наиболее мощное и эффективное программное обеспечение полностью или частично написано на языке ассемблер. Во-вторых, знание языка ассемблер и машинного кода дает понимание архитектуры компьютера.

Микропроцессор 8086 имеет четырнадцать 16-разрядных регистров, каждый из которых имеет свои функции. Регистры общего назначения используются как рабочие регистры. Каждый регистр можно рассматривать и как пару самостоятельных 8-битовых регистров. Кроме функций общего назначения, каждый регистр может использоваться и для специальных целей.

Регистр АХ представляет собой накопитель (аккумулятор). Чаще всего он предназначен для выполнения арифметических, логических операций и операций пересылки. Операции, выполняемые с участием этого регистра, оптимизированы и, как правило, обладают более высоким быстродействием, чем операции, выполняемые с участием остальных регистров.

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

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

Регистр DX используется в операциях умножения и деления, а также является единственным регистром, в котором может быть представлен адрес порта в командах ввода-вывода.

Регистры SI и DI являются индексными регистрами. Они, как правило, содержат смещения относительно начала выбранных сегментов оперативной памяти и тем самым обеспечивают выполнение операций над цепочками данных, чаще всего символьных.



Регистр ВР является базовым регистром. Аналогично регистру ВХ он, как правило, содержит смещение относительно начала сегмента с тем лишь различием, что этот сегмент по умолчанию является сегментом стека, на который указывает содержимое регистра SS.

Регистр SP является указателем стека. В нем содержится смещение в сегменте, определяемом регистром SS, младшего значащего байта данных, который был послан последним в этот стек.

Регистр CS содержит номер сегмента, в котором из ячейки с адресом CS:IP будет выбрана и выполнена следующая команда. Начальные значения регистров CS и IP устанавливаются на основании номера сегмента и смещения соответственно, определенных для метки, которая упоминается в директиве END. Изменение содержимого регистра CS может произойти исключительно в результате выполнения таких, например, команд, как CALL (вызов процедуры), JMP (передача управления в другой сегмент), RET (возврат из процедуры) и INT (программное прерывание).

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

Регистр SS содержит номер стекового сегмента, который имеет отношение ко всем командам, взаимодействующим со стеком.

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

Регистр IP является счетчиком команд. Он содержит адрес команды, которая будет выполняться следующей. Каждое выполнение команды процессора вызывает неявное увеличение содержимого счетчика IP на число байтов, посредством которых представляется данная команда. Исключение из этого правила составляют команды переходов.

В регистре флагов хранятся данные о состоянии процессора, а также данные о результатах выполнения некоторых команд. Флаговый регистр содержит следующие девять используемых битов (неиспользуемые биты – 01, 03, 05, 12-15):

Таблица № 2.

Содержимое флагового регистра

 

  Номер бита
Флаг OF DF IF TF SF ZF AF PF CF  
                                         

 

OF - Overflow (разряд переполнения);

DF - Direction (разряд направления);

IF - Interrupt (разряд прерывания);

TF - Trap (разряд ловушки);

SF - Sign (знаковый разряд);

ZF - Zero (разряд нуля);

AF - Auxiliary (разряд переноса тетрады);

PF - Parity (разряд четности);

CF - Carry (разряд переноса).

В момент начала выполнения программы разряд IF имеет значение 1, а разряд TF - 0. Значения остальных разрядов не определены. Если соответствующие разряды установлены в1,то это означает:

ОF - результат операции не помещается в регистре;

DF - операции на цепочках символов будут выполняться в направлении уменьшения адресов;

IF - процессор реагирует на прерывания;

TF - после каждого выполнения команды происходит попадание в ловушку;

SF - старший разряд результата операции имеет значение 1;

ZF - результат выполнения операции имеет значение 0;

AF - выполнение операции привело к появлению переноса из младшей тетрады разрядов результата;

PF - восемь младших разрядов результата имеют четное число единичных разрядов;

CF - выполнение операции привело к появлению переноса.

 



<== предыдущая лекция | следующая лекция ==>
Никитин Ю.Р. | КОМАНДЫ АССЕМБЛЕРА


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


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

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

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


 


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

 
 

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

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