Flag Transport Echipa

Deși există comenzi speciale pentru a schimba steagul CF și DF, nu există nici o metodă directă pentru schimbarea alte steaguri, axat pe utilizarea de programare a aplicațiilor. trimiterea de comenzi Flag permite o cerere pentru a schimba starea altor steaguri cu ajutorul comenzilor de manipulare biți, în cazul în care aceste steaguri au fost mutate în stivă sau într-un registru AH.

Echipa LAHF SAHF și de a lucra cu cinci steaguri de stare, care sunt utilizate în primul rând de aritmetică și instrucțiuni logice.

LAHF (Load registru AH steagurilor) exemplare steaguri SF, ZF, AF, PF și CF în registrul AH, biții 7,6,4,2 și 0, respectiv (a se vedea figura 3-21). Conținutul biți rămași 5,3 și 1 rămâne incertă. Conținutul registrului EFLAGS rămâne neschimbat.

SAHF (Salvați valori în pavilioanele registru AH) copii biții 7,6,4,2 și 0 la steaguri SF, ZF, AF, PF și CF, respectiv (a se vedea figura 3-21).

Komandy PUSHF și POPF nu numai recomandat pentru stocarea valorilor pavilion în memorie, în cazul în care acestea pot fi verificate si schimbate, dar, de asemenea, recomandat pentru a menține starea EFLAGS înregistra atunci când subrutina.

+--------------------------------------------------------------+| || 7 6 5 4 3 2 1 0 || + --------------- + || | S | Z | 0 | A | 0 | P | 1 | C | || | F | F | | F | | F | | F | || + --------------- + || || poziția de bit FLAG sunt aceleași ca și poziția lor în PE || Trunk EFLAGS SAU AH ÎNREGISTRARE. Poziția Bit POKAZAN- || NYE 0 sau 1 sunt poziții rezervate || ACUM INTEL (R). Aceste poziții NU FOLOSIȚI. || | + ------------------------------------------------ -------------- + Figura 3-21. Junior EFLAGS bytes registru.

PUSHF (Save steaguri) salvează cuvântul scăzut al EFLAGS înregistra pe stivă (a se vedea figura 3-22). PUSHFD comandă salvează în întregime registru EFLAGS în stivă (cu toate acestea, pavilion RF este citit ca și purificată).

POPF (Restaurare steaguri din stivă) recuperează un cuvânt din stivă în registrul EFLAGS. În toate utilizările acestei comenzi modifică valorile de biți 14,11,10,8,7,6,4,2 și numai la nivel privilegiu 0. Atunci când acest segment de program este 0 (cel mai preferat), biții IOPL (13 și 12) sunt, de asemenea, modificate. Dacă nivelul de privilegiu de intrare / ieșire (IOPL) este 0, atunci schimba, de asemenea pavilion IF (9 biți). POPFD comandă restabilește un cuvânt dublu din stivă în EFLAGS de registru, și poate schimba starea de pavilion AC (18 biți), precum și toți biții de comandă POPF variabilă.