Xref: utzoo comp.lang.c:14339 comp.lang.misc:2176 Path: utzoo!attcan!uunet!husc6!bloom-beacon!apple!desnoyer From: desnoyer@Apple.COM (Peter Desnoyers) Newsgroups: comp.lang.c,comp.lang.misc Subject: Re: Assembly or .... Message-ID: <21334@apple.Apple.COM> Date: 28 Nov 88 17:28:12 GMT References: <1388@aucs.UUCP> <8141@bloom-beacon.MIT.EDU> Organization: Apple Computer Inc, Cupertino, CA Lines: 18 The approach that I have found most reasonable is to pay more attention to learning the machine than the machine language. i.e., focus on: - processor architectures (stack, register, risc/cisc, etc.; something about direct and microcoded implementation) - stack frames and calling conventions for different language features - memory organization - caching, Harvard arch., memory banks, maybe virtual memory organization including page attributes. Of course, if you take these recommendations seriously you wind up with the equivalent of one or two undergrad courses. (exactly where I got these ideas.) Once you know these concepts you should be able to write code fragments for speed or whatever on most machines. I don't know how you learn how to structure large assembly programs - I cope by not writing them. Peter Desnoyers