Need Assembly lang. to learn C?

L. Hirschbiegel lothar at tmcsys.UUCP
Wed May 22 22:41:56 AEST 1991


In article <1991May21.210859.9687 at ux1.cso.uiuc.edu> gordon at osiris.cso.uiuc.edu (John Gordon) writes:
>ldstern at rodan.acs.syr.edu (Larry Stern) writes:
>
>>To all: a local instructor, who teaches C, has told several of us who are
>>interested in his course that we should take an Assembly language course
>>first. Even though his course is C in the DOS environment and a knowledge
>>of 8088/80286 would no doubt be useful, we are wondering if this is really
>>necessary. Any comments from C programmers?
>
>	Absolutely not.  It might be helpful in understanding the finer
>aspects of pointer operations, but it is definitely not necessary.  I have
>been programming in C for several years, and consider myself fairly good
>at it, and I know virtually nothing about assembly language.  I did know
>BASIC and Pascal first, though.
>
>John Gordon

Hmm. You're right, it is definitely not necessary to take an assembler
course prior to starting programming in C. But let's face it: it can make
life much easier. C is close enough to the assembler level. 
Maybe it would be a bit too much to go through a complete
assembler programmers course, but what about some fundamentals (register
concept, addressing modes, stack handling)? 
I suppose it would be much easier for a C beginner with fundamental knowledge
of assembler to understand something like ((*ptr++)<<8) and the whole bunch
of pointer arithmetics, not to mention the concepts of global and local
variables and so on.
Anyway: if you want to write really sophisticated C code (for example 
speed optimized system routines) you will probably always realise concepts
which are closely related to the underlying assembler and/or cpu capabilities.
Or do you REALLY trust your optimizer as much as your own skills... :-) ?

Lothar Hirschbiegel
-- 
-----------------------------------------------
L. Hirschbiegel, AEG - A84, Frankfurt (Germany) 
email: unido!aega84!lh     tel: -49-69-66414316  
-----------------------------------------------



More information about the Comp.unix.questions mailing list