Page 1 of 1

diffrences inside x86

Posted: Mon Feb 07, 2011 1:56 pm
by a5498828
Im interested what changed from 8086.

For example, what was the first structure of GDT and IDT in 80286, what instructions were avaiable in 8086 (including thinkg like shift imm).
Intel Manuals only describe latest hardware, so i cant relay on them.

Re: diffrences inside x86

Posted: Mon Feb 07, 2011 2:30 pm
by Combuster
That's not completely true:
SHR
(...)
IA-32 Architecture Compatibility
The 8086 does not mask the shift count. However, all other IA-32 processors
(starting with the Intel 286 processor) do mask the shift count to 5 bits, resulting in
a maximum count of 31. This masking is done in all operating modes (including the
virtual-8086 mode) to reduce the maximum execution time of the instructions.
(...)
XADD
(...)
IA-32 Architecture Compatibility
IA-32 processors earlier than the Intel486 processor do not recognize this instruction.
If this instruction is used, you should provide an equivalent code sequence that
runs on earlier processors.
The manuals do however not seem to consider all the differences before the 386, because as the title explicitly mentions "Intel 64 and IA-32" without the 16-bit architectures. You might want to look for a 80286 manual instead. Wikipedia has a fair deal of information on things to look out for, and so do various other documents out on the web - just search.

Re: diffrences inside x86

Posted: Tue Feb 08, 2011 7:47 am
by qw
Older versions of the NASM manual contained a complete list of supported x86 instructions, with the processor family that supports them.