Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Регистр флагов

Регистры смещений

Регистры смещений (внутрисегментной адресации) IP, SP, BP, SI, DI предна­значены для хранения относительных адресов ячеек памяти внутри сегментов (смещений относительно начала сегментов):

□ регистр IP (Instruction Pointer) хранит смещение адреса текущей команды программы;

□ регистр SP (Stack Pointer) — смещение вершины стека (текущего адреса стека);

□ регистр BP (Base Pointer) — смещение начального адреса поля памяти, непо­средственно отведенного под стек;

□ регистры SI, DI (Source Index и Destination Index соответственно) предназначены для хранения адресов индекса источника и приемника данных при операциях над строками и им подобных.

Регистр флагов FL содержит условные одноразрядные признаки-маски, или фла­ги, управляющие прохождением программы в ПК; флаги работают независимо друг от друга, и лишь для удобства они помещены в единый регистр. Всего в реги­стре содержится 9 флагов: 6 из них статусные, отражают результаты операций, выполненных в компьютере (их значения используются, например, при выпол­нении команд условной передачи управления — команд ветвления программы), а 3 других — управляющие, непосредственно определяют режим исполнения программы.

Статусные флаги:

□ CF (Carry Flag) — флаг переноса. Содержит значение «переносов» (0 или 1) из старшего разряда при арифметических операциях и некоторых операциях сдвига и циклического сдвига;

□ PF (Parity Flag) — флаг четности. Проверяет младшие восемь битов резуль­татов операций над данными. Нечетное число единичных битов приводит к установке этого флага в 0, а четное — в 1;

□ AF (Auxiliary Carry Flag) — флаг логического переноса в двоично-десятич­ной арифметике. Вспомогательный флаг переноса устанавливается в 1, если арифметическая операция приводит к переносу или заему четвертого справа бита однобайтового операнда. Этот флаг используется при арифметических операциях над двоично-десятичными кодами и кодами ASCII;

□ ZF (Zero Flag) — флаг нуля. Устанавливается в 1, если результат операции равен нулю; если результат не равен нулю, ZF обнуляется;

□ SF (Sign Flag) — флаг знака. Устанавливается в соответствии со знаком ре­зультата после арифметических операций: положительный результат устанав­ливает флаг в 0, отрицательный — в 1;

□ OF (Overflow Flag) — флаг переполнения. Устанавливается в 1 при арифме­тическом переполнении: если возник перенос в знаковый разряд при выпол­нении знаковых арифметических операций, если частное от деления слишком велико и переполняет регистр результата и т. д.

Управляющие флаги:

□ TF (Trap Flag) — флаг системного прерывания (трассировки). Единичное со­стояние этого флага переводит процессор в режим пошагового выполнения программы (режим трассировки);

□ IF (Interrupt Flag) — флаг прерываний. При нулевом состоянии этого флага прерывания запрещены, при единичном — разрешены;

DF (Direction Flag) — флаг направления. Используется в строковых операци­ях для задания направления обработки данных. При нулевом состоянии фла­га команда увеличивает содержимое регистров SI и DI на единицу, обуслов­ливая обработку строки «слева направо»; при единичном — «справа налево»

<== предыдущая лекция | следующая лекция ==>
Сегментные регистры | 
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 801; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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