Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!elroy.jpl.nasa.gov!decwrl!pa.dec.com!bacchus!mwm From: mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) Newsgroups: comp.sys.amiga.programmer Subject: Re: Good programmers and assembly language (very long) Message-ID: Date: 5 Apr 91 19:06:04 GMT References: <7214@harrier.ukc.ac.uk> <2220@pdxgate.UUCP> Sender: news@pa.dec.com (News) Organization: Missionaria Phonibalonica Lines: 35 In-Reply-To: cg@ami-cg.UUCP's message of 4 Apr 91 17:56:40 GMT In article cg@ami-cg.UUCP (Chris Gray) writes: In article <2220@pdxgate.UUCP> bairds@eecs.cs.pdx.edu (Shawn L. Baird) writes: >Here's a small list of things that I can come up with that require >knowledge of assembly: writing an OS, writing device drivers, writing >_fast_ programs, writing compilers Actually, there are cases of all of those where you don't need to know assembler. Burroughs are good machines to look at for that - they didn't sell assemblers for their large machines, because you largely didn't need them. That the microcde was part of the process context probably had something to do with this. However, some of the research and retargettable compilers nowadays have automatically produced code generators and optimizers - the programmer need only read the CPU manual and convert the instruction descriptions to the proper form - the software does the rest. Nowadays? We were using Graham-Glanville generators 15 years ago that did that. Even better, you fed it instruction timing information and the code generator tooke a time or size option that gave a weight to time or size (the other got a weight of 1 - x). I must agree, though, that knowing a bit about assembler programming is a useful skill for programmers who will be coming at all close to the machine. It's not clear that scientists doing numerical simulations and graphics need it, however. Yup. It gives you a feel for the machine.