inter80386

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FLAGS

 

 

 

 

 

3

3

2

2

2

2

2

2

2

222

1

1

1

1

1

1

1

1

1

 

 

 

 

 

 

 

 

 

1

0

9

8

7

6

5

432

1

0

9

8

7

6

5

4

3

2

0

9

8

7

6

5

432

1

0

 

EFLAGS

 

 

RESERVED FOR INTEL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

VIRTUAL MODE --------- '

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RESUME FLAG -:;:;.:======::::'-.J

 

 

 

 

 

 

 

 

 

 

 

NESTED TASK FLAG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I/O PRIVILEGE LEVEL ---------- '

 

 

 

 

 

 

 

 

 

 

OVERFLOW -------------- '

 

 

 

 

 

 

 

 

 

DIRECTION FLAG"7===========:::::::~

 

 

 

 

 

 

 

 

INTERRUPT ENABLE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

231630-50

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 2-3. Flags Register

 

 

 

 

 

 

VM

(Virtual 8086 Mode, bit 17)

 

 

 

 

 

 

 

 

 

 

 

the IRET instruction can pop an EFLAG im-

 

The VM bit provides Virtual 8086 Mode within

 

 

 

 

age having the RF bit set and resume the

 

 

 

 

 

program'sexecution at the breakpoint ad-

 

Protected Mode. If set while the 80386 is in

 

 

 

 

 

 

 

 

 

dress without generating another breakpoint

 

Protected Mode, the 80386 will switch to Vir-

 

 

 

 

 

 

 

 

 

fault on the same location.

 

tual 8086 operation, handling segment loads

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

as the 8086 does, but generating exception

 

 

NT

 

(Nested Task, bit 14)

 

 

13 faults on privileged opcodes. The VM bit

 

 

 

 

This flag applies to Protected Mode. NT is set

 

can be set only in Protected Mode, by the

 

 

 

 

 

 

 

 

 

to indicate that the execution of this task is

 

IRET instruction (if current privilege level =

 

 

 

 

 

 

 

 

 

nested within another task. If set, it indicates

 

0) and by task switches at any privilege level.

 

 

 

 

 

 

 

 

 

that the current nested task'sTask State

 

The VM bit is unaffected by POPF. PUSHF

 

 

 

 

 

 

 

 

 

Segment (TSS) has a valid back link to the

 

always pushes a a in this bit, even if execut-

 

 

 

 

 

 

 

 

 

previous task'sTSS. This bit is set or reset by

 

ing in virtual 8086 Mode. The EFLAGS image

 

 

 

 

control transfers to other tasks. The value of

 

pushed during interrupt processing or saved

 

 

 

 

 

 

 

 

 

NT in EFLAGS is tested by the IRET instruc-

 

during task switches will contain a 1 in this bit

 

 

 

 

 

 

 

 

 

tion to determine whether to do an inter-task

 

if the interrupted code was executing as a Vir-

 

 

 

 

 

 

 

 

 

return or an intra-task return. A POPF or an

 

tual 8086 Task.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IRET instruction will affect the setting of this

RF

(Resume Flag, bit 16)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bit according to the image popped, at any

 

The RF flag is used in conjunction with the

 

 

 

 

privilege level.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

debug register breakpoints. It is checked at

 

 

10PL

 

(Input/Output Privilege Level, bits 12-13)

 

instruction

 

boundaries

 

before

breakpoint

 

 

 

 

This two-bit field applies to Protected Mode.

processing. When RF is set, it causes any de-

10PL indicates the numerically maximum CPL

bug fault to be ignored on the next instruc-

(current privilege level) value permitted to ex-

tion. RF is then automatically reset at the suc-

ecute 1/0 instructions without generating an

cessful completion of every instruction (no

exception 13 fault or consulting the 1/0 Per-

faults are signalled) except the IRET instruc-

mission Bitmap. It also indicates the maxi-

tion, the POPF instruction, (and JMP, CALL,

mum CPL value allowing alteration of the IF

and INT instructions causing a task switch).

(INTR Enable Flag) bit when new values are

These instructions set RF to the value speci-

popped into the EFLAG register. POPF and

fied by the memory image. For example, at

IRET instruction can alter the 10PL field when

the end of the breakpoint service routine,

executed at CPL = O. Task switches can al-

 

 

ways alter the 10PL field, when the new flag

 

image is loaded from the incoming task's

 

TSS.

9

Page 70
Image 70
Intel 80386 manual Tss