Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!rochester!ritcv!cci632!ccird1!rb From: rb@ccird1.UUCP (Rex Ballard) Newsgroups: net.arch Subject: programmer friendly assembler. Message-ID: <424@ccird1.UUCP> Date: Sun, 18-May-86 02:19:50 EDT Article-I.D.: ccird1.424 Posted: Sun May 18 02:19:50 1986 Date-Received: Tue, 20-May-86 06:06:04 EDT References: <261@atari.UUcp> Reply-To: rb@ccird1.UUCP (Rex Ballard) Organization: CCI Rochester Development, Rochester NY Lines: 39 In article <261@atari.UUcp> dyer@atari.UUcp (Landon Dyer) writes: > > >Here's a perverse thought: Has anyone done any research on >architechures to help people writing /assembly language/? (Maybe the >PDP-11, VAX or IBM-370 architechures are optimal, or maybe no one has >ever considered making life easier for those who spend their lives >coding "down unda.") >-- Actually, a number of attempts at this have been made. The Z-80 attempted to use an instruction set which was easier to remember than their Intel counterparts. The 68K attempted to improve this by providing the full matrix of operators and operand addressing modes. The latest improvement is the Transputer. Seems that they don't use "Assembler memnonics", but instead use primitive equations. For example instead of: move A,B add (R1),(R4) They use the more intuitive A=B (R4)=(R4)+(R1); Or something like it. As pointed out before, early predecessors of C were little more than attempts at a "generic assembler". It was only when it was expanded into a full LALR grammer, that the whole issue of optimizing came up. Unfortunately, instructions sets are normally determined by the manufacturer. Strangely enough, one of my jobs was to go the other direction. Instead of taking C code and turning it into assembler, I had to convert assembler into C. Has anybody figured out a way to do this with a compiler!!! It was real cute to do this with the 8085, and 6502.