Re: Randall Hyde's essay "Which assembler is the best?"

From: Dennis Chang (den.chang_at_rogers.com)
Date: 04/30/04


Date: Thu, 29 Apr 2004 23:43:26 GMT


"Dennis Chang" <den.chang@rogers.com> wrote in message
news:R7Vjc.309712$2oI1.251091@twister01.bloor.is.net.cable.rogers.com...
> Hi,
>
> I'm reading Randall Hyde's essay and I was wondering if someone will
qualify
> Randall's statement that most modern operating systems use 32-bit flat
> memory model?
> I figure most modern OS's would chose to use the segmented memory model.
>
> Here's the quote below.
>
> Thanks,
> Dennis.
>
> http://webster.cs.ucr.edu/AsmTools/WhichAsm.html
>
> 16-Bit Support?
> "This question is actually answered by the choice of operating system. If
an
> assembler supports DOS it supports 16-bit operation, if it doesn't support
> DOS, it probably doesn't support 16-bit coding. Note that all assemblers
> provide the ability to write code that uses 16-bit operands. 16-bit
support,
> in this context, means the ability to produce code running in a 16-bit
> segmented memory model (versus the 32-bit flat memory model used by most
> modern operating systems). Outside of DOS, about the only place 16-bit
code
> will be useful is in certain embedded systems (though even this is fading
as
> embedded designers choose powerful 32-bit embedded OSes for their
> products)."
>
>

Thanks for all your replies.

The reason I asked the question is because segmentation is an obvious method
of separating address spaces of tasks. So it seems funny that none of the
popular OSs' use it (on the x86). Another thing is that in my textbook for
OS some form of address translation (through an MMU) is required for
virtualizing memory. So segmentation seems like an obvious feature to use
when writing system code on the x86. And with something as complicated as
segmentation (at the hardware level) you'd expect it to be advantageous to
use. x86 is REALLY peculiar. :O)

Thanks again,
Dennis.



Relevant Pages

  • Randall Hydes essay "Which assembler is the best?"
    ... Randall's statement that most modern operating systems use 32-bit flat ... I figure most modern OS's would chose to use the segmented memory model. ... assembler supports DOS it supports 16-bit operation, ...
    (alt.lang.asm)
  • Re: [9fans] purposeful omission or amnesia
    ... "Operating Systems Design and Implementation, 3rd Edition" doesn't mention it, but it's the MINIX book anyway. ... "Modern Operating Systems, 2nd Edition" contains not even a reference. ...
    (comp.os.plan9)
  • Re: Dynamic (as in Reflective) Programming in C?
    ... memory where the data is stored are typically marked non-executable by ... the OS for security reasons ... On such modern operating systems there is bound to be a way to change ...
    (comp.lang.c)
  • Re: Dynamic (as in Reflective) Programming in C?
    ... the OS for security reasons ... On such modern operating systems there is bound to be a way to change ... generated bash script which compiles and executes a new executable! ...
    (comp.lang.c)
  • Re: windows xp sp1
    ... the Core Duo and Core 2 Duo processors? ... Since win2k has support I assume winxp, ... Supported Operating Systems ... Core™ Duo processor is available. ...
    (microsoft.public.windowsxp.hardware)