Регистр флагов процессора
В этом уроке я раскажу для чего нужны регистры флагов процессора
и как с ними работать. Некоторые команды процессора используют флаги
так делает например команда 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 |
|