PDP-12 at the RICM
Johnny Billquist
bqt at update.uu.se
Tue Jul 14 18:14:23 CDT 2015
On 2015-07-15 01:02, Sean Conner wrote:
> It was thus said that the Great Johnny Billquist once stated:
>>
>> Yeah. Segment is something I usually associate with the solution done in
>> the 8086 family, where you essentially have a segment register which
>> gives the base, and then you work from there. Essentially all memory is
>> one chunk.
>>
>> The 8086 have both an instruction and a data segment, which just means
>> that some instructions refer to data, and that uses the data segment
>> register, while instructions (obviously) are addressed through the
>> instruction segment register. I never worked with the 8086, but don't it
>> actually also have a third segment register? Not that I can remember
>> what it was used for... Oh, and all references are relative to the
>> segment register (should be obvious, but I figured I should point it out.)
>
> The 8086 had four segment registers:
>
> CS - Code segment, used with IP register
> DS - Data segment
> SS - Stack segment, used with SP and BP registers
> ES - Extra segment, used with DI for string instructions as
> destination (DS:SI as source)
>
> You could override instructions dealing with memory with any of the
> segment registers:
>
> mov ax,[foo] ; load AX from memory location DS:foo
> mov bx,es:[bar] ; load BX from memory location ES:bar
> mov cx,cs:[baz] ; load CX from memory location CS:baz
> mov dx,ss:[snafu] ; load DX from memory locaiton SS:snafu
>
> On the 8086 and 80186, the contents of the segment registers are shifted 4
> bits to the left then added to the offset (total 20 bit offset). Starting
> with the 80286, in protected mode, the segment registers are actually
> indexes into one of two tables (the GDT (global descriptor table) or LDT
> (local descriptor table)) and are not actual addresses.
>
> -spc (God! I still remember this stuff?)
Thanks. That was way more than I actually ever wanted to know. :-) (Ok,
I did ask...)
It should be obvious to anyone that this is very different from the MMU
of a PDP-11... (Or at least I hope it is obvious - otherwise people are
free to write some OS for each system and then come back with a report...)
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
More information about the cctech
mailing list