From: David Given <dg@cowlark.com>
To: linux-8086@vger.kernel.org
Subject: Re: ACK ANSI C Compiler
Date: Wed, 17 Aug 2005 10:37:54 +0100 [thread overview]
Message-ID: <200508171037.54771.dg@cowlark.com> (raw)
In-Reply-To: <f784f526050816202027df0ae2@mail.gmail.com>
On Wednesday 17 August 2005 04:20, Chad wrote:
[...]
> Getting ELKS user space apps working will mostly be a library issue -
> the convertor shouldn't be a big deal. In fact, 'file' thinks a.out
> is a Linux-8086 executable already. It looks like we can either port
> the bin86 libc or adapt included (minix?) libc to make ELKS system
> calls.
There are two ways you can do a system library with ACK:
1. You can port a i86-native libc, which uses fragments of inline assembly to
make system calls. This is the way bcc and gcc work.
2. You can use the ACK's own syscall interface (which it calls monitor calls).
The underlying intermediate code has a special opcode that performs a monitor
call; the semantics are numbering are nearly identical to V7 UNIX, so it
might be a good match to ELKS. The ACK then has a portable libc, written in
EM assembly, that uses monitor calls for its underlying functionality. The
advantage of this approach is that (a) it's less work, and (b) all the ACK's
supported languages suddenly start working. The disadvantage is that the libc
will probably be slightly slower than a hand-tweaked i86 libc.
See section 8.2 of the em docs for information about the monitor calls.
[...]
> OBCrazyTalk: With particularly twisted hacks of em, and a multi-task
> interpreter, and some *really* tight and small code, something
> ELKSlike might, just might run on a Z80... ;) It would certainly run
> under regular Linux as a process, though.
There's a Z80 back end, but it's in pretty poor shape, and generates
substantially worse code than the 8080 back end!
(Incidentally, if you're interested, please joing the ACK mailing list!)
--
+- David Given --McQ-+ "They laughed at Newton. They laughed at Einstein.
| dg@cowlark.com | Of course, they also laughed at Bozo the Clown."
| (dg@tao-group.com) | --- Carl Sagan
+- www.cowlark.com --+
next prev parent reply other threads:[~2005-08-17 9:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <f784f5260508162016217b1073@mail.gmail.com>
2005-08-17 3:20 ` ACK ANSI C Compiler Chad
2005-08-17 9:37 ` David Given [this message]
2005-08-15 16:12 ACK ANSI C compiler David Given
2005-08-15 19:18 ` Hans
2005-08-16 18:49 ` Harry Kalogirou
2005-08-16 23:56 ` David Given
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200508171037.54771.dg@cowlark.com \
--to=dg@cowlark.com \
--cc=linux-8086@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox