From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ef33c33c4f98bde1 X-Google-Attributes: gid103376,public From: Robert A Duff Subject: Re: Compiler for Z80/6510 Date: 1999/11/26 Message-ID: #1/1 X-Deja-AN: 553446853 Sender: bobduff@world.std.com (Robert A Duff) References: <383c6fed.458467@news.fiam.net> <81k67s$47l$1@nnrp1.deja.com> <383DC86C.19A6F176@australia.boeing.com> <81m4m4$ci0$1@nnrp1.deja.com> Organization: The World Public Access UNIX, Brookline, MA Newsgroups: comp.lang.ada Date: 1999-11-26T00:00:00+00:00 List-Id: Robert Dewar writes: > In practice, really skilled assembly language programmers (there > are very few around, especially these days), can always outrun > any compiler given enough time and effort. True, but of course there isn't usually enough time and effort. Also, in my experience working on large assembly-language programs, maintainence is the big issue. Eg, suppose there'a 300-line procedure written in assembly, and you need to add some code, or maybe add a new parameter. Do you completely redo the hand-crafted register allocation (which indeed is very efficient)? Or do you minimize the amount of code that has to be changed, thereby reducing the probability of bugs? In many cases, it's irresponsible to do the former. Compare that to a high-level language, where register allocation is completely redone (by the stupid compiler) every time you change the program. - Bob