Re: 8-bit processor specific techniques

Walter Banks <walter@bytecraft.com>
Mon, 28 Sep 2015 11:04:28 -0400

          From comp.compilers

Related articles
8-bit processor specific techniques laguest9000@googlemail.com (lucretia9@lycos.co.uk) (2015-09-27)
Re: 8-bit processor specific techniques cr88192@hotmail.com (BGB) (2015-09-27)
Re: 8-bit processor specific techniques walter@bytecraft.com (Walter Banks) (2015-09-28)
Re: 8-bit processor specific techniques laguest9000@googlemail.com (lucretia9@lycos.co.uk) (2015-09-29)
Re: 8-bit processor specific techniques cr88192@hotmail.com (BGB) (2015-09-29)
| List of all articles for this month |
From: Walter Banks <walter@bytecraft.com>
Newsgroups: comp.compilers
Date: Mon, 28 Sep 2015 11:04:28 -0400
Organization: Aioe.org NNTP Server
References: 15-09-019
Keywords: code, history, comment
Posted-Date: 28 Sep 2015 15:26:48 EDT

On 27/09/2015 10:30 AM, lucretia9@lycos.co.uk wrote:
> I've been looking around for anything related to compiler development for
> 8-bit processors. ...


> [There are plenty of compilers for 8 bit machines, particulary at
> retrocomputing sites, but I don't recall a lot of interesting code
> generation stuff. They tend to have so few registers and be so
> irregular that little of the optimization stuff intended for code
> generation applies. -John]


John, you actually have identified the source for a lot of code
generation technology used in 8 bit compilers. There is a wealth of
material in some of the compilers that is used to map processors with
unusual instruction sets on to C.


Unfortunately most of this material has never been published and
hasn't been the focus of research projects. The techniques used mostly
show up in application specific ISA's. This is the type of processor
whose applications tend not to be hosted and are small enough that
compilers can be exhaustive and often have tight execution
requirements.


A couple starting places for this type of compiler. Once parsed
implement a strategy pass to map out application implementation
approachs this time. Seriously consider dispensing with linkers for
this type of compiler, their original purpose was to allow separately
compiled modules and combine them later, in this type of compiler
cross compiling a whole application is both possible and appropriate.


w..
[Agreed about the linker bit. These days, in the tool sets for
embedded processors the object files that the compilers create are
really just an intermediate code, and the linker does a global
optimization pass over the whole program and only then generates
the machine code. -John]


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.