Екип Flag Доставка

Въпреки че има и специални команди за промяна на флага CF и DF, няма пряк метод за промяна на други знамена, фокусирани върху използването на приложен програмен. Flag изпращане на команди позволяват на заявление за промяна на статута на други знамена, използвайки командите манипулиране на бита, ако тези знамена са преместени в стека или в регистър AH.

Екипът LAHF SAHF и работа с пет знамена статуси, които се използват предимно от аритметика и логически инструкции.

LAHF (Load регистрирате AH на флаговете) копия флагове SF, ZF, AF, PF и CF в регистъра AH, бита 7,6,4,2 и 0, съответно (виж фигура 3-21). Съдържанието на останалите битове 5,3 и 1 остава несигурно. Съдържанието на EFLAGS регистър остава непроменена.

SAHF (Запазване на стойности в флаговете регистрират AH) копия на битовете 7,6,4,2 и 0 в флагове SF, ZF, AF, PF и CF, съответно (виж Фигура 3-21).

Komandy PUSHF и POPF не само препоръчително за съхранение на ценности, под чийто флаг в паметта, където те могат да бъдат проверени и да се промени, но също така и за да се поддържат EFLAGS регистрират състояние, когато на подпрограмата.

+--------------------------------------------------------------+| || 7 6 5 4 3 2 1 0 || + --------------- + || | S | Z | 0 | А | 0 | P | 1 | С | || | F | F | | F | | F | | F | || + --------------- + || || ФЛАГ битова позиция са същите като техните позиции в PE || Багажника EFLAGS регистър или AH. Bit позиция POKAZAN- || Новогодишно 0 или 1, са позиции запазени || ПРЕДПРИЯТИЕТО INTEL (R). Тези позиции не използвате. || | + ------------------------------------------------ -------------- + Фигура 3-21. Junior EFLAGS регистър байта.

PUSHF (Запазване на флагове) спестява на ниско думата на EFLAGS регистрирате в стека (виж Фигура 3-22). PUSHFD команда спестява изцяло EFLAGS регистрирате в стека (въпреки RF флаг се чете като пречистен).

POPF (Възстановяване на знамената от стека) възстановява една дума от купа в регистъра EFLAGS. Във всички приложения на тази команда променя стойността на бита 14,11,10,8,7,6,4,2 само и ниво привилегия 0. Когато тази програма сегмент е 0 (най-предпочитан), IOPL бита (13 и 12), също се променят. Ако нивото на привилегия вход / изход (IOPL) е 0, а след това да се промени флаг IF (малко 9). POPFD команда възстановява двойна дума от купа в регистъра EFLAGS, и това може да се промени състоянието на AC флаг (малко 18), както и всички битове на променлива команда POPF.