Article View: comp.lang.misc
Article #5936Re: Assembly or ....
From: Jeff Barber
Date: Tue, 29 Nov 1988 15:35
Date: Tue, 29 Nov 1988 15:35
45 lines
2869 bytes
2869 bytes
>In article <1388@aucs.UUCP>, 861087p@aucs.UUCP (A N D R E A S) writes:
>> ... if it really worth it to spend time to learn assembly language.
In article <407@ubbpc.UUCP> wgh@ubbpc.UUCP (William G. Hutchison) writes:
> Thus, in the present state of affairs, a high-level language programmer
>MUST know some assembly language to be effective.
> This might change if computer companies (or FSF?) produced high-quality,
>documented software tools like compilers and linkers. Don't hold your breath!
> If that were to happen, the only people who would have to learn assembly
>language would be compiler writers and possibly microcode engineers.
No-one seems to have mentioned that there are some things in operating
system-type software which can't be done without assembler.
For example:
1. Power-up memory tests in boot ROM's (where the RAM is not yet
known to be good). I suppose this would be possible if you
had a language where you could force it to use only register
variables.
2. Input/output (this is not built into most languages although
strictly speaking it is possible). BTW, here I mean I/O like
"OUT val,ioport" [or "OUT ioport,val" for us Intel programmers]
*not* "PRINTLINE 'Hello, World'".
3. For access to machine-specific registers and other features.
E.g. to switch the Intel 80386 into protected mode, you have
to set up segment registers with proper values, set a bit
in the CR0 control register and do a jump to flush the
instruction pre-fetch queue.
On a slightly different note: it's been my own experience that programmers
who aren't comfortable with assembler never completely understand the
subtleties of: pointer manipulations, type conversions between signed
and unsigned, integer truncation and extension, structure padding, etc.
Furthermore, too much of the program (and programming) environment will
forever remain "magic" if you don't understand assembler and the
underlying machine architecture. This is okay, I guess, if you want to
write nothing but COBOL applications for the rest of your life.
*** (Uh-oh, I feel a rash of "Real Programmers don't <your-pet-peeve>" ***
*** articles coming on :-) ***
J. Barber Lanier Business Systems Atlanta, GA
Just Say No To The United Way.
Technical Details
Message-ID:
<6586@galbp.LBP.HARRIS.COM>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!uflorida!gatech!galbp!advdev.LBP.HARRIS.COM!jsbReferences:
<1388@aucs.UUCP> <407@ubbpc.UUCP>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!uflorida!gatech!galbp!advdev.LBP.HARRIS.COM!jsb From: jsb@advdev.LBP.HARRIS.COM (Jeff Barber) Newsgroups: comp.lang.misc Subject: Re: Assembly or .... Summary: Some assembly required. Keywords: Assembly Message-ID: <6586@galbp.LBP.HARRIS.COM> Date: 29 Nov 88 15:35:23 GMT References: <1388@aucs.UUCP> <407@ubbpc.UUCP> Sender: news@galbp.LBP.HARRIS.COM Reply-To: jsb@advdev.UUCP (Jeff Barber) Organization: Lanier/Harris, Atlanta, GA Lines: 45