Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site ecsvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!decvax!mcnc!ecsvax!dgary From: dgary@ecsvax.UUCP (D Gary Grady) Newsgroups: net.lang,net.arch Subject: Re: Assembly VS HOL: Having it both ways Message-ID: <1163@ecsvax.UUCP> Date: Mon, 6-May-85 12:21:14 EDT Article-I.D.: ecsvax.1163 Posted: Mon May 6 12:21:14 1985 Date-Received: Thu, 9-May-85 13:04:19 EDT References: <1220@topaz.ARPA> <511@terak.UUCP> <1440@amdahl.UUCP> Organization: Duke U Comp Ctr Lines: 37 Xref: watmath net.lang:1569 net.arch:1161 Can't recall if anyone has pointed this out before, but Burroughs large systems (as of five or ten years ago when I was working with Burroughs gear) has no assembly language. Instead they used a dialect of Algol that permitted complete control of the generated code. It might be noted that advantage of assembly language is only in its power to control exactly what the object format will be (with the possible exception of some assemblers for Intel 80x8x processors, which still tend to surprise me with their inventive code productions). If a high-level language can be given the ability to specify exactly what object code will be produced, we can have it both ways. It might even be possible to do this in a somewhat "machine independent" fashion; that is, in a way that isolates the machine-specific instructions. A simple way of doing that is the #asm directive found in some C compilers. Burroughs medium systems Algol (BPL) allowed the use of assembler mnemonics as statement modifiers; an assignment statement might be followed by a :MW to force a move word to be generated (going from memory, here). Obviously, for this to work some degrading of optimization might be necessary. It might also be desirable to have a sort of conversation between the compiler and the programmer during the compile. Critical sections of code could be marked by the programmer and the compiler could say, "Here's what I've generated for this; what changes do you want me to make?" Sorry this is so vague; my real point is that rather than having to choose between two unsatisfactory options, it would be nice to have a third way to go that preserved the undeniable advantages of high-level languages without preventing us from producing code as tight as we might ever want. -- D Gary Grady Duke U Comp Center, Durham, NC 27706 (919) 684-3695 USENET: {seismo,decvax,ihnp4,akgua,etc.}!mcnc!ecsvax!dgary