Intel 80286 Flags Undefined, Operation, Protected Mode Exceptions, Real Address Mode Exceptions

Models: 80287 80286

1 515
Download 515 pages 45.04 Kb
Page 217
Image 217

THE 80286 INSTRUCTION SET

Flags Undefined

This is a list of the flags that have an undefined (meaningiess) setting after the instruction is executed.

All flags not mentioned under "Flags Modified" or "Flags Undefined" are unchanged by the instruction.

Operation

This section fully describes the operation performed by the instruction. For some of the more compli- cated instructions, suggested usage is also indicated.

Protected Mode Exceptions

The possible exceptions involved with this instruction when running under the 80286 Protected Mode are listed below. These exceptions are abbreviated with a pound sign (#) followed by two capital letters and an optional error code in parenthesis. For example, #GP(O) denotes the general protection excep- tion with an error code of zero. The next section describes all of the 80286 exceptions and the machine state upon entry to the exception.

If you are an applications programmer, consult the documentation provided with your operating system to determine what actions are taken by the system when exceptions occur.

Real Address Mode Exceptions

Since less error checking is performed by the 80286 when it is in Real Address Mode, there are fewer exceptions in this mode. One exception that is possible in many instructions is #GP(O). Exception 13 is generated whenever a word operand is accessed from effective address OFFFFH in a segment. This happens because the second byte of the word is considered located at location 10000H, not at location 0, and thus exceeds the segment's addressability limit.

Protection Exceptions

In parallel with the execution of instructions, the protected-mode 80286 checks all memory references for validity of addressing and type of access. Violation of the memory protection rules built into the processor will cause a transfer of program control to one of the interrupt procedures described in this section. The interrupts have dedicated positions within the Interrupt Descriptor Table, which is shown in table B-2. The interrupts are refen,nced within the instruction set pages by a pound sign (#) followed by a two-letter mnemonic and the optional error code in parenthesis.

Error Codes

Some exceptions cause the 80286 to pass a 16-bit error code to the interrupt procedure. When this happens, the error code is the last item pushed onto the stack before control is tranferred to the inter- rupt procedure. If stacks were switched as a result of the interrupt (causing a privilege change or task switch), the error code appears on the interrupt procedure's stack, not on the stack of the task that was interrupted.

8-7

Page 217
Image 217
Intel 80286 Flags Undefined, Operation, Protected Mode Exceptions, Real Address Mode Exceptions, Protection Exceptions