Практическая работа ОПРЕДЕЛЕНИЕ ФИЗИЧЕСКОГО АДРЕСА ПЕРЕХОДА И ЗНАЧЕНИЙ ФЛАГОВ ПРИ ВЫПОЛНЕНИИ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ.
учебно-методический материал на тему

Родионов Владимир Иванович

Научиться определять физический адрес перехода и значения флагов при выполнении арифметических операций.

Скачать:

ВложениеРазмер
Microsoft Office document icon pr_rab_fizadr.doc114.5 КБ

Предварительный просмотр:

Практическая работа № 4

ОПРЕДЕЛЕНИЕ ФИЗИЧЕСКОГО АДРЕСА ПЕРЕХОДА И ЗНАЧЕНИЙ ФЛАГОВ ПРИ ВЫПОЛНЕНИИ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ.

1. Цель работы: Научиться определять физический адрес перехода и значения флагов при выполнении арифметических операций.

2. Порядок выполнения работы :

2.1. Повторить теоретический материал. 

Организация оперативной памяти

ОП является основной памятью для хранения информации. Она организована как одномерный массив ячеек памяти размером в 1 байт. Каждый из байтов имеет уникальный 20 битный физический адрес в диапазоне от 00000 до FFFFFh (здесь и далее для записи адресов используется шестнадцатеричная система счисления, признаком которой является символ h в конце кода). Таким образом, размер адресного пространства ОП составляет 2 20 = 1Мбайт . Любые два смежных байта в памяти могут рассматриваться как 16-битовое слово. Младший байт слова имеет меньший адрес, а старший - больший. Так шестнадцатеричное число 1F8Ah , занимающее слово, в памяти будет расположено в последовательности 8Ah , 1Fh . Адресом слова считается адрес его младшего байта. Поэтому 20 битовый адрес памяти может рассматриваться и как адрес байта, и как адрес слова.

Команды, байты и слова данных можно размещать по любому адресу, что позволяет экономить память вследствие ее более полного заполнения. Однако для экономии времени выполнения программ целесообразно размещать слова данных в памяти, начиная с четного адреса, так как микропроцессор передает такие слова за один цикл работы шины. Слово с четным адресом называется выровненным по границе слов. Невыровненные слова данных с нечетным адресом допустимы, но для их передачи требуется два цикла шины, что снижает производительность ЭВМ. Заметим, что необходимое количество циклов считывания слова данных инициируется микропроцессором автоматически. Следует иметь в виду, что при операциях со стеком слова данных должны быть выровнены, а указатель стека инициирован на четный адрес, так как в таких операциях участвуют только слова данных.

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

Адресное пространство ОП делится на сегменты . Сегмент состоит из смежных ячеек ОП и является независимой и отдельно адресуемой единицей памяти, которая в базовой архитектуре персональной ЭВМ имеет фиксированную емкость 2 16 = 64К байт. Каждому сегменту назначается начальный (базовый) адрес, являющийся адресом первого байта сегмента в адресном поле ОП. Значение физического адреса ячейки складывается из адреса сегмента и смещения ячейки памяти относительно начала сегмента (внутрисегментное смещение). Для хранения значений адреса сегмента и смещения используются 16-битовые слова.

Чтобы получить 20-битовый физический адрес , микропроцессор автоматически осуществляет следующие операции. Значение базового адреса сегмента умножается на 16 (сдвиг на 4 разряда влево) и суммируется со значением смещения в сегменте ( рис. 1 ). В результате получается 20-битовое значение физического адреса . При суммировании может возникнуть перенос из старшего бита, который игнорируется. Это приводит к тому, что ОП оказывается как бы организованной по кольцевому принципу. За ячейкой с максимальным адресом FFFFFh следует ячейка с адресом 00000h .

Сегменты физически не привязаны к конкретному адресу ОП, и каждая ячейка памяти может принадлежать одновременно нескольким сегментам , так как базовый адрес сегмента может определяться любым 16-битовым значением. Сегменты могут быть смежными, неперекрывающимися, частично или полностью перекрывающимися. Вместе с тем, в соответствии с алгоритмом вычисления физического адреса , начальные адреса сегментов всегда кратны 16.

Сегментную группу образуют регистры CS, SS, DS и ES. Как говорилось ранее, участвующие в формировании адреса регистры ВХ, IP, SP, ВР, SI и DI имеют длину всего 16 бит, поэтому эффективный адрес имеет такую же длину. Но, с другой стороны, выдаваемый на шину адреса физический адрес должен содержать 20 бит. Дополнительные 4 бита образуются при сложении эффективного адреса с содержимым одного из сегментных регистров, как показано на рис. Перед сложением к содержимому сегментного регистра справа добавляются четыре нуля, что дает 20-битный результат. Если, например, (CS) = 123А и (IP) =341В, следующая команда будет выбираться по адресу 157ВВ

341В эффективный адрес

+

123А0 начальный адрес сегмента

----------

157ВВ физический адрес команды


Слово состояния процессора PSW микропроцессора 8086 содержит 16 бит, но семь из них не используются.
Флажки микропроцессора  8086 разделяются на условные (или флажки условий) , отражающие результат предыдущей операции АЛУ, и управляющие (или флажки управления), от которых зависит выполнение специальных функций.
Флажками условий являются:

Флажок знака SF. Равен старшему биту результата. Так как в дополнительном коде старший бит отрицательных чисел содержит 1, а у положительных чисел он равен 0, флажок SF показывает знак предыдущего результата.

Флажок нуля ZF. Устанавливается в 1 при получении нулевого результата и сбрасывается в 0, если результат отличается от нуля.

Флажок паритета PF. Устанавливается в 1, если младшие 8 бит результата содержат четное число единиц; в противном случае он сбрасывается в 0.

Флажок переноса CF. При сложении (вычитании) устанавливается в 1, если возникает перенос (заем) ид старшего бита. Другие команды также воздействуют на этот флажок, что будет отмечено при их обсуждении.

Флажок вспомогательного переноса AF. Устанавливается в 1 если при сложении (вычитании) возникает перенос (заем) из бита 3. Флажок предназначен только для двоично-десятичной арифметики.

Флажок переполнения OF. Устанавливается в 1, если возникает переполнение, т. е получение результата вне допустимого диапазона. При сложении этот флажок устанавливается, если имеется перенос в старший бит и нет переноса из старшего бита или наоборот. При вычитании он устанавливается, когда возникает заем из старшего бита, но заем в старший бит отсутствует, или наоборот.

Пусть, например, предыдущая команда производила следующее сложение:

0010 0011 0100 0101

+

0011 0010 0001 1001

---------------------------

0101 0101 0101 1110

Тогда после ее выполнения получаются такие состояния флажков

SF=0, ZF=0, PF=0, CF=0, AF=0, OF = 0.

Если в предыдущей команде выполнялось сложение

0101 0100 0011 1001

+

0101 0101 0110 1010

---------------------------

1001 1001 1010 0011

Флажки принимают следующие состояния:

SF=1, ZF=0, PF=1, CF=0, AF=1, OF = 1.

Флажки управления микропроцессора 8086:

Флажок направления DF. Применяется в командах манипуляций цепочками. Если он сброшен, цепочка обрабатывается с первого элемента, имеющего наименьший адрес. В противном случае цепочка обрабатывается от наибольшего адреса к наименьшему.

Флажок разрешения прерываний IF. Когда установлен этот флажок, ЦП распознает маскируемые прерывания; в противном случае эти прерывания игнорируются .

Флажок прослеживания (трассировки) TF. Когда этот флажок установлен, после выполнения каждой команды генерируется внутреннее прерывание .

2.2. Решить примеры согласно номеру - варианту.

2.3. В соответствии со своим вариантом выполнить демонстрацию работы регистра флагов в отладчике debug. (см. Пример - Протокол 2 ).
       В задании использовать числа: 62А0 и число В своего варианта.

Пример:

Найти сумму и состояние флажков AF, SF, ZF, CF, OF, PF  после прибавления 62А0 к 4C75

Протокол 2

protokol2.JPG

Уметь пояснить состояние флагов AF, SF, ZF, CF, OF, PF ( Обозначение флагов в отладчике debug ). 

Обозначение флагов

Флаг

Установлен

Сбpошен

Описание

CF

CY

NC

Флаг пеpеноса. Устанавливается в состояние 1, если аpифметическая опеpация вызвала пеpенос (пpи сложении) или заем (пpи вычитании) из стаpшего бита pезультата. В пpотивном случае флаг CF сбpасывается

PF

PO

PE

Флаг четности. Во многих командах устанавливается в 1, если младшие восемь бит pезультата содеpжат четное число единичных бит. В пpотивном случае флаг PF сбpасывается в 0.

AF

AC

NA

Флаг вспомогательного пеpеноса.Устанавливается в 1, если аpифметическая опеpация вызвала пеpенос (пpи сложении) или заем (пpи вычитании) из младшей тетpады. В пpотивном случае флаг CF сбpасывается в 0. Пpогpаммно этот флаг недоступен.

ZF

ZR

NZ

Флаг нуля. Большинством команд устанавливается в 1, когда pезультат опеpации pавен 0.

SF

NG

PL

Флаг знака. Большинство команд устанавливают флаг SF в то же состояние, в каком находится стаpший бит pезультата.

IF

EI

DI

Флаг пpеpывания. Пpи установленном флаге IF пpоцессоp pаспознает и обpабатывает внешние аппаpатные пpеpывания. Пpи IF=0 пpоцессоp игноpиpует аппаpатные пpеpывания.

DF

UP

DN

Флаг напpавления обpаботки цепочек.Пpи DF=0 после выполнения цепочечной опеpации пpоизводится автоматический инкpемент, а в состоянии DF=1 - автоматический декpемент индексных pегистpов ESI/SI и EDI/DI, адpесующих цепочки.

OF

NV

OV

Флаг пеpеполнения. Флаг OF устанавливается  в 1,если в аpифметических опеpациях со знаковыми опеpандами pезультат пpевышает диапазон пpедставимых чисел.В пpотивном случае  OF сбpасывается в 0.

2.4 Подготовить отчет.

3. Содержание отчета :

3.1. Название работы.

3.2. Цель работы.

3.3. Примеры.

Условие задания

1

2

3

4

Если физичес-кий адрес перехода
 равен А, когда (CS)=В, каким он будет при изменении (CS) на С.

Пусть ЕА данного равен C; и (DS)=В.

Чему равен физический адрес данного?

Найти сумму и состояние
флажков AF, SF, ZF, CF, OF,PF 
после прибавления 62А0 к числам В, С.

Найти разность и состояние флажков
AF, SF, ZF, CF, OF,PF после вычитания 4АЕ0 из чисел В, С.

Вариант 

1

2

3

4

5

6

7

8

9

10

А=5А230

В=8700

С=5200

A=5А230

В=5600

С=7800

A=5А230

В=6700

С=6600

А=5А230

В=5500

С=6600

А=5А230

В=4FFF

С=5500

А=6F740

B=7800

C=8800

A=6F740

B=9800

C=6600

A=6F740

B=9600

C=7800

A=6F740

B=9100

C=7100

A=6F740

B=A200

C=9800

11

12

13

14

15

16

17

18

19

20

A=6F740

B=F400

C=7400

A=6F740

B=F400

C=7400

A=7C42D

B=B456

C=6EE5

A=7C42D

B=C567

C=6DD5

A=7C42D

B=D678

C=6CC5

A=8E052

B=E789

C=7BB4

A=8E052

B=F123

C=7AA4

A=8E052

B=A234

C=7FF4

A=8E052

B=B345

C=7EE4

A=8E052

B=C456

C=7DD4

21

22

23

24

25

26

27

28

29

30

А=5C230

В=8710

С=5200

A=5B230

В=5620

С=7800

A=5C230

В=6730

С=6600

А=5B230

В=5540

С=6600

А=5D230

В=4FEF

С=5500

А=6E740

B=7850

C=8800

A=6C740

B=9860

C=6600

A=6E740

B=9670

C=7800

A=6D740

B=9180

C=7100

A=6D740

B=A290

C=9800

31

32

33

34

A=6FA40

B=F4A0

C=7400

A=6FB40

B=F4B0

C=7400

A=7CA2D

B=B476

C=6EE5

A=7CB2D

B=C5A7

C=6DD5


По теме: методические разработки, презентации и конспекты

Комплексная работа "Подготовка и выполнение токарной операции"

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

" Многочлены. Арифметические операции над многочленами"- теоретический тест.

Тест состоит из вопросов теории на тему: "Многочлены. Операции над многочленами". Имеются ответы....

План урока учебной практики Тема урока: "Выполнение технологических операций по сортированию рыбы, морепродуктов по видам, размерам, и качеству в соответствии с требованиями ГОСТ, ОСТ, ТУ. Изучение изменения рыбы-сырца"

План урока учебной практикив группе № ОР 1720 по профессии «Обработчик рыбы и морепродуктов»ПК 01 « Производство охлажденной и мороженой  продукции»МДК 01.01   Т...

Практическое занятие 1. Выполнение арифметических действий над числами.

Практическое занятие 1. Выполнение арифметических действий над числами....