December 12 2017 08:20:05
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Указатель команд EIP
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ

Указатель команд EIP представляет собой 32-разрядный регистр, содержимое которого используется в качестве смещения при определении адреса следующей выполняемой команды. Смещение задается относительно базового адреса сегмента команд, задаваемого регистром CS. Младшие 16 бит EIP (биты 15-0) содержат 16-разрядный указатель команд с именем IP, который используется при 16-разрядной адресации. Содержимое EIP (IP) изменяется при выполнении команд передачи управления и прерываний.

Регистр флагов EFLAGS (рис. 2.3) содержит ряд битов, которые имеют различное назначение: признаки состояния CF, PF, AF, ZF, SF, OF указывают определенные характеристики результата, полученного при выполнении команды; управляющий признак DF определяет порядок адресации операндов при выполнении последовательности команд обработки строк символов; системные признаки TF, IF, IOPL, NT, RF, VM, AC, VIF, VIP, ID задают режим процессора при обслуживании исключений и прерываний, организации ввода-вывода данных, решении последовательности вызываемых задач и реализации ряда других процедур. Младшие шестнадцать бит регистра EFLAGS (биты 15-0) представляют 16-разрядный регистр флагов FLAGS, который используется при выполнении программ, написанных для микропроцессоров 8086, 80186, 80286.

Признаки состояния в регистре EFLAGS имеют следующее значение:

CF - признак переноса, принимает значение CF = 1 при возникновении переноса из старшего разряда обрабатываемых операндов;

PF-признак четности, принимает значение PF = 1, если младшие восемь разрядов результата содержат четное число единичных бит;

AF - признак полупереноса, принимает значение AF = 1, если при выполнении операции возникает перенос между младшими тетрадами (из разряда 3 в разряд 4) обрабатываемых операндов; используется при операциях с операндами, представленными в двоично-десятичном коде (BCD);

ZF - признак нуля, принимает значение ZF = 1 при получении нулевого результата операции;

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF
0 0 0 0 0 0 0 0 0 0 ID VIP VIF AC VM RF
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

Рис. 2.3. Формат содержимого регистра EFLAGS

SF-признак знака, принимает значение старшего (знакового) разряда результата операции (S = 0 - положительное число, S = 1 - отрицательное);

OF-признак переполнения, принимает значение OF = 1 в случае переполнения разрядной сетки при обработке операндов со знаком; значение признака для n-разрядных операндов определяется логическим выражением OF = Сn + Сn - 1, где Сn - перенос, возникающий в старшем (n-1)-м разряде (знаковом), Сn-1 - перенос, возникающий в предыдущем (n - 2)-м разряде;

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.39 секунд 2,295,799 уникальных посетителей