Навигация сайта

  • Главная
  • Статьи
  • Учебники
  • Программы
  • Друзья сайта

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

В этом уроке я расскажу для чего нужны регистры флагов процессора и как с ними работать. Некоторые команды процессора используют флаги так делает например команда cmp , test, jz ... но зачем ответ: например команда cmd  eax , 1     эта команда смотрит в регистр eax и если регистр равен 1 му то  ZF переводится в ноль и команда JZ переходит на заданный адрес так как она смотрит на ZF.

Список флагов.

(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 по 31 резерв) = 32 бита

обращен производится через pushf чтение popf eax

Номер бита Назначение
0 - CF переноса
1 - 1 Зарезервировано и равно 1
2 - PF четности
3 - 0 Зарезервировано и равно 0
4 - AF вспомогательного переноса
5 - 0 Зарезервировано и равно 0
6 - ZF нуля
7 - SF знака
8 - TF ловушки
9 - IF разрешения прерываний
10 - DF направления
11 - OF переполнения
12-13 - IOPL Уровень привилегий ввода/вывода
14 - NT вложенной задачи
15 - 0 Зарезервировано и равно 0
16 - RF возобновления (только i80386 и i80486)
17 - VM режима виртуального процессора 8086 (только i80386 и i80486)
18 - AC проверки выравнивания (только i80486)
19-31 - 0 Зарезервировано и равно 0

 

Прочитав эту статью вы сможете реализовать защиту от трассировки

Также удобный справочник по командам условного перехода ассемблера и тд...

 

 

Техническая поддержка и аудит сайта.