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: b...@softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol

Reply via email to