comp.lang.ada
 help / color / mirror / Atom feed
From: Paul Rubin <no.email@nospam.invalid>
Subject: Re: Adapting an Ada compiler to generate 8051 code (Again?! ;-)
Date: Tue, 30 Mar 2021 14:48:13 -0700	[thread overview]
Message-ID: <87a6qk9uua.fsf@nightsong.com> (raw)
In-Reply-To: s40555$6rp$1@gioia.aioe.org

"Luke A. Guest" <laguest@archeia.com> writes:
>> there are any really large obstacles to targeting GCC to the 8051
> The biggest obstacles will be the severe lack of registers. But it's
> possible, lm78 for example.

Do  you mean this?  https://www.ti.com/lit/gpn/lm78
I wasn't familiar with it.  It looks awful, a couple special purpose
registers and something like 19 bytes of ram (I didn't look closely).

Does gcc actually generate code for it?  I don't know whether gcc
targets any old-fashioned accumulator machines with no registers.  I
thought it did, but maybe not.  I do know lots of people use it for the
AVR8 / Aruino etc.

It hadn't occurred to me but yeah, maybe gcc is built more around
register architectures and sdcc works differently.  I haven't really
looked.

I know SWEET16 is a 16 bit virtual machine that Steve Wozniak
implemented on the 6502 in the original Apple II, to get higher code
density than 6502 asm code.  It had 16 registers.  Doing something like
that on an 8051 and targeting GCC to it sounds fairly plausible.  I
wouldn't be surprised if it's been done already.

Does a minimal Ada runtime (Ravenscar or whatever) make particular
demands that require much outside-the-compiler support?

Adacore Ada-to-C is proprietary?  Oh well.  I wonder if generating C
output from GCC intermediate code is terribly difficult.  

  reply	other threads:[~2021-03-30 21:48 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-30  9:04 Adapting an Ada compiler to generate 8051 code (Again?! ;-) mockturtle
2021-03-30  9:56 ` Dmitry A. Kazakov
2021-03-30 11:24   ` Gautier write-only address
2021-03-30 11:27   ` mockturtle
2021-03-30 12:01     ` Dmitry A. Kazakov
2021-03-31 23:08       ` Randy Brukardt
2021-03-31 23:06   ` Randy Brukardt
2021-03-30 10:40 ` Niklas Holsti
2021-03-30 11:32   ` mockturtle
2021-03-31 23:14   ` Randy Brukardt
2021-04-01 15:07     ` Niklas Holsti
2021-04-01 23:34       ` Randy Brukardt
2021-03-30 11:24 ` Luke A. Guest
2021-03-30 13:28   ` Luke A. Guest
2021-03-30 12:45 ` Björn Lundin
2021-03-30 15:49 ` Shark8
2021-03-30 19:16 ` Paul Rubin
2021-03-30 21:28   ` Luke A. Guest
2021-03-30 21:48     ` Paul Rubin [this message]
2021-03-31  4:46       ` Luke A. Guest
2021-03-31  7:19         ` Simon Wright
2021-03-31 23:20         ` Randy Brukardt
2021-04-01 12:22           ` Luke A. Guest
2021-04-01 23:43             ` Randy Brukardt
2021-04-02  0:41               ` Luke A. Guest
2021-03-31  8:23     ` Niklas Holsti
2021-03-31 20:46 ` Gautier write-only address
2021-03-31 21:14   ` Shark8
2021-03-31 21:25     ` Gautier write-only address
2021-03-31 21:46       ` Shark8
2021-03-31 23:22       ` Randy Brukardt
2021-04-01 13:19   ` Luke A. Guest
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox