[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
opcode: processor: remark & remedy:
AAA i80286 & i80386 & i80486
CMPS i80286
CMPXCHG i80486
FINIT
FSTSW
FSTCW
INS i80286 &
i80386 &
i80486
INVD i80486
MOV to SS n/a early 8088 Some early 8088 would not properly
disable interrupts after a move to
the SS register. Workaround would
be to explicitly clear the
interrupts, update SS and SP and
then re-enable the interrupts.
Typically this would occur in a
situation where one would relocate
a stack in memory, more than 64Kb
from the original one, updating
both SS and SP like in:
MOV SS,AX ; would disable
interrupts
automatically during
this and next
instruction.
MOV SP,DX ; interrupts disabled
... ; interrupts enabled.
multiple prefixes
with REPx 8088 & 8086 They would not properly restart at
the first prefix byte after an
interrupt. when more than one
prefix is used. e.g. LOCK REP MOVSW
CS:[bx]. A workaround is to test
after the instruction for CX==0,
here: LOCK REP MOVSW CS:[BX] OR
CX,CX JNZ here because of the CS
override, the REP and LOCK prefixes
would not be recognised to be part
of the instruction and the REP MOVSW
would be aborted. This also seems to
be the case for a REP MOVSW CS:[BX]
Note that this also implies that
REPZ, REPNZ are affected in SCASW
for instance.
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson