At 10:46 AM 4/9/2007, Mark Hahn wrote:
I believe the issue was the location in memory of reserved space, stuck at

640K is the location of the video buffer.  this is a hardware issue, not sw.
the cpu could address up to 1M (+64k, iirc.)

8086/8088 can address 1M (20 bits).. 16 bit segment register*16+ 16 bit offset..

There is a trick, though, because the processor put out which of the 4 memory spaces was being accessed on the high order address lines during some of the later clocks (T2, etc.), so you could use that to have different physical memory spaces (each 1 M long) addressed for Alt Data, Code, Stack, and Data.

FFFF:10 is actually the same as 0:0 and, as I recall, wouldn't result in a trap if you used addresses that "wrapped around" (the address generator didn't feed the carry bit to the trap generator).

That is, you could use FF00:1000 as a legal address

But, after all, who'd ever use more than 64K of code, stack, or data space for a single task... you were just going to port your 8080 code over anyway, right?


When a more virtual memory scheme came in(286), and the segment register became more of a pointer to a table, things did change a bit, and it might have generated a trap if you wrapped around physical memory. At least you had a larger virtual address space (2G) that mapped into 16M of physical address space.


James Lux, P.E.
Spacecraft Radio Frequency Subsystems Group
Flight Communications Systems Section
Jet Propulsion Laboratory, Mail Stop 161-213
4800 Oak Grove Drive
Pasadena CA 91109
tel: (818)354-2075
fax: (818)393-6875

_______________________________________________
Beowulf mailing list, [email protected]
To change your subscription (digest mode or unsubscribe) visit 
http://www.beowulf.org/mailman/listinfo/beowulf

Reply via email to