Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 5/3/83; site intelca.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxj!ihnp4!zehntel!dual!amd!intelca!wizard
From: wizard@intelca.UUCP (Kevin Supinger)
Newsgroups: net.micro.pc
Subject: Re: 80286 microprocessor problems
Message-ID: <457@intelca.UUCP>
Date: Fri, 30-Nov-84 14:23:19 EST
Article-I.D.: intelca.457
Posted: Fri Nov 30 14:23:19 1984
Date-Received: Sun, 2-Dec-84 03:46:31 EST
Distribution: net
Organization: Intel, Santa Clara, Ca.
Lines: 45


	Here we go again with more astounding ignorance.
I suggest that you reread the 80286 programmers reference manual
The 80286 was not intended as a processor for simple minds, such
as some other so called 32 bit architectures. The protection mechanism
works very well when used properly and provides the control that is
needed by application and system programmers. 

	1) The concept of segment descriptors may at first be
	hard to grasp. But simply replaces the real address segment
	with a descriptor index. This uses the upper 13 bits of the
	segment to index into the Global or Local descriptor table.
	The other bits are used as 2 for the requested privledge level
	and 1 bit to indicate whether the descriptor is local or
	global. Being that each descriptor consists of 8 bytes, the
	selector or real address segment is loaded with the byte offset
	of the desired descriptor. There is no shifting of addresses 
	needed.

	2) Each descriptor contains a linear 24 bit segment base
	address that gives byte granularity to the starting address.
	The segment limit is 16 bits or 64K in size. There is a
	access rights byte that tells the 80286 about the type of
	descriptor. This allows the same 8 bytes to describe call
	gates,interrupt gates, data, code and etc. One point  that
	is most misunderstood is the operation of the 286 when the
	segment register is changed in protected mode. When a new
	value is placed in the segment register the 286 automatically
	fetches all the descriptor information into internal storage.
	This allows for fast protection and access verification with
	minimal execution impact. Also with the pipelined bus and
	pre decoding of 3 instruction for the execution unit the
	80286 is still very fast even in protected mode.

	3) As far as the ENTER and LEAVE instructions go. These
	instructions when used properly facilitate writing compact
	and very fast code most notably "C" code. 

Conclusion: I think that most software writers should get a better
grip on the 80286 architecture and I myself at first thought it to be
too complex. But after programming on the IBM AT in protected mode
and understanding the 80286 operation. I wouldn't settle for anything
less than this processor.

The views of the author do not necessarily reflect Intel's viewpoint