Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Служебные регистры





Регистр (Е)IР - счетчик команд. Он содержит адрес (смещение) следующей выполняемой команды в сегменте кода, определяемом регистром (E)CS. Каждое выполнение команды процессора вызывает увеличение содержимого счетчика (E)IP на длину текущей команды в байтах. Исключение составляют команды передачи управления, для которых (E)IP=<адрес>. Значение (E)IP трактуется как знаковое число, представимое в Д.К.

В регистре флагов хранятся данные о состоянии процессора, а также о результатах выполнения некоторых команд. Из 16 разрядов этого регистра только девять имеют фиксированную интерпретацию:

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

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

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

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

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

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

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

РF – Parity (разряд четности);

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

Сегментные регистры

Суть сегментной адресации ячеек памяти “восходит” к модели МП 8086 и заключается в следующем. В реальном режиме МП доступен 1М памяти, для адресации которого необходимы 20-разрядные регистры. Фактическая разрядность регистров МП 8086 – 16 разрядов, что позволяло адресовать участок памяти только в 64К, получивший название сегмент.

Полный 20-разрядный адрес формируется из двух 16-разрядных значений seg:off, где seg – адрес сегмента (базовый адрес), а off – смещение в нем, по следующей формуле:

16´seg+off

Например, логический адрес 1234:0001 преобразуется в полный физический

  увеличенный на 16 seg
+0001 16-битное off
  20-битный физ. адрес

Пример использования сегментного регистра CS для адресации двух сегментов кодов: Code1 и Code2.

ASSUME CS:Code1

Code1 SEGMENT

Star:;здесь CS=SEG Code1, IP=OFFSET Start

jmp far ptr Lab;дальняя передача управления в Lab

Code1 ENDS

ASSUME CS:Code2

Code2 SEGMENT

Lab;здесь CS=SEG Code2, IP=OFFSET Lab

mov ax,4c00h;код возврата 0

int 21h

Code2 ENDS

Stack_ SEGMENT STACK

DB 100h DUP(?)

Stack_ ENDS

END Start

 

Date: 2015-05-22; view: 633; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию