Newsgroups: comp.arch
Path: utzoo!henry
From: henry@utzoo.uucp (Henry Spencer)
Subject: Re: using (ugh!  yetch!) assembler
Message-ID: <1988Aug5.171825.16843@utzoo.uucp>
Organization: U of Toronto Zoology
References: <6341@bloom-beacon.MIT.EDU> <60859@sun.uucp> <474@m3.mfci.UUCP> <2442@pt.cs.cmu.edu> <2959@utastro.UUCP> <363@james.cs.bham.ac.uk>
Date: Fri, 5 Aug 88 17:18:25 GMT

In article <363@james.cs.bham.ac.uk> igb@cs.bham.ac.uk (Ian G Batten <BattenIG>) writes:
>I don't think you have --- the kernel was recoded in C but the early
>stuff was in pdp7 assembler.  I have a feeling that the widespread use
>of C in the kernel was to do with the port to the Interdata 8/32, but I
>may be wrong...

You are, I'm afraid.  The kernel was (mostly) recoded in C long before the
idea of porting Unix to another machine came up.  It took the utilities a
while to catch up; the V5 ed was still in assembler, while the V6 one was
in C.  There has always been a modest lump of assembler around to handle
details of the low-level interface to the hardware -- e.g. interrupt vectors
and specialized instructions -- that the C compiler can't cope with.  (Plus
some that is there as runtime support for C itself, since kernel builds
don't usually include the C library where that stuff normally lives.)  This
is manageable enough that nobody has ever tried really hard to eliminate it,
although it could probably be reduced in size if one really tried.
-- 
MSDOS is not dead, it just     |     Henry Spencer at U of Toronto Zoology
smells that way.               | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
