Архитектура ЭВМ. Задания и примеры выполнения лабораторных работ. Докторов А.Е - 6 стр.

UptoLike

Рубрика: 

6
I (разрешения прерывания) – прерывания разрешены, если I=1. Если
I=0, то распознаются лишь немаскированные прерывания.
T (трассировки) – если T=1, то процессор переходит состояние преры-
вания INT 3 после выполнения каждой команды.
SF(знака) – S=1, когда старший бит результата равен 1. Иными слова-
ми, S=0 для положительных чисел, и S=1 для отрицательных чисел.
Z (нулевого результата) – Z=1, если результат равен нулю.
A (дополнительный флаг переноса) – этот флаг устанавливается в 1 во
время выполнения команд десятичного сложения и вычитания при необхо-
димости выполнения переноса или заема между полубайтами.
P (четности) – этот флаг устанавливается в 1, если результат имеет чет-
ное число единиц.
C (переноса) – этот флаг устанавливается в 1, если имеет место перенос
или заем из старшего бита результата; он полезен для произведения операций
над числами длиной в несколько слов, которые сопряжены с переносами и
заемами из слова в слово.
Сегменты
Данный параграф в полной мере справедлив только для процессоров с
шиной адреса менее 32 разрядов. У 32-х разрядного процессора нет необхо-
димости в формировании полного 32-х разрядного адреса ячейки памяти с
помощью каких либо дополнительных регистров.
Сегментом называется область памяти, которая начинается на границе
параграфа, то есть в любой точке, адрес которой кратен 16 (восемь младших
битов равны нулю). Существуют три основных типа сегментов:
сегмент кода (CS) – содержит машинные команды;
сегмент данных (DS) – содержит данные;
сегмент стека (SS) – содержит адреса возврата в точку вызова подпро-
грамм, локальные переменные и параметры значения.
Каждый из упомянутых регистров содержит адрес начала сегмента
(базовый адрес). Чтобы выполнить обращение к данным по любому адресу,
процессор выполняет суммирование адреса, записанного в регистре сегмента
DS, со смещением. При этом содержимое регистра DS сдвигается на четыре
двоичных разряда влево, чтобы результирующий адрес занимал 20 позиций
(для процессора 8086), что и позволяет адресовать 1 Мбайт памяти (2
20
=
1048586). Например, если в регистре DS было шестнадцатеричное число
045Fh, после сдвига влево на 4 двоичных разряда оно примет вид 045F0h. К
полученному числу прибавляется смещение (например, 0032h), и получается
исполнительный (или эффективный) адрес равный 04622h.