Assembler Language Programming Considerations - IBM AT 5170 Technical Reference

Table of Contents

Advertisement

Assembler Language Programming
Considerations
The following OP codes work differently on systems using the
80286 microprocessor than they do on systems using the 8088
microprocessor.
• If
the system microprocessor executes a POPF instruction in
either the real or the virtual address mode with CPL:5IOPL,
then a pending maskable interrupt (the INTR pin active) may
be improperly recognized after executing the POPF
instruction even if maskable interrupts were disabled before
the POPF instruction and the value popped had IF=O.
If
the
interrupt is improperly recognized, the interrupt is still
correctly executed. This errata has no effect when interrupts
are enabled in either real or virtual address mode. This errata
has no effect in the virtual address mode when CPL>IOPL.
The POPF instruction may be simulated with the following
code macro:
POPFF
Macro
use POPFF instead of POPF
simulate popping flags
using IRET
EB 01
JMP $+3
jump around IRET
CF
IRET
POP CS, IP, flags
OE
PUSH CS
E8 FB FF
CALL $-2
CALL within segment
program will continue here
PUSHSP
80286 microprocessor pushes the current stack pointer.
8088 microprocessor pushes the new stack pointer.
• Single step interrupt (when TF=
1)
on the interrupt
instruction (OP code hex CC,CD):
80286 microprocessor does
not
interrupt on the INT
instruction.
9-8
Compatibility

Advertisement

Table of Contents
loading

Table of Contents