<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
It's a heavy lift & overkill, but GCC (gas) can be made to
cross-compile for/from any reasonable machine. That gives you a
complete toolset - but it's a lot of work.<br>
<br>
If it were my project, I'd define some macros in MACRO-11 to create
a cross-assembler, as IIRC Whirlwind has 16 bit wordsize. MACRO-11
has a reasonable set of operators and macro pseudo-ops. Define the
Whirlwind instructions as macros, and you're all set. People have
done this for early micros - it's not quite native and can be a bit
awkward - but it works and can be put together with minimal effort.
<br>
<br>
You can output absolute binary from the assembler - or link/task
build if you want psects or libraries. But with the small memory
size, MACRO will do.<br>
<br>
If you want 32-bit words, there's always MACRO-32 - pretty much the
same macro capabilities.<br>
<br>
For a host, you can use a simh PDP-11 or VAX - whatever you're
comfortable with.<br>
<br>
Disassemblers - it's pretty easy to write a trivial one. It gets
complicated if you want to tease out subroutines, create a symbol
table & data. But with only 2KW - a simple dump (e.g. address +
octal + instruction decode + text decode in fixed columns) probably
suffices. An editor (like emacs) that will do rectangular cut and
paste is likely less trouble than creating a fancy disassembler.
(Again, due to the small memory and word size.)<br>
<br>
You can invest arbitrary amounts of time to create better tools;
worthwhile for larger machines, but I would go for 'good enough' for
something as small and simple as Whirlwind...<br>
<br>
<div class="moz-cite-prefix">On 05-Sep-17 20:54, Bob Supnik wrote:<br>
</div>
<blockquote type="cite"
cite="mid:473efbd9-2ab8-3c98-585d-fe504b2ac9a4@supnik.org">Guy is
looking to build a Whirlwind simulator, eventually.
<br>
<br>
I don't know of any assemblers like that. All the cross-assemblers
I've seen are purpose built, nowadays mostly in Python.
<br>
<br>
<br>
-------- Forwarded Message --------
<br>
Subject: retargetable assembler
<br>
Date: Fri, 1 Sep 2017 10:38:08 -0400
<br>
From: Guy Fedorkow <a class="moz-txt-link-rfc2396E" href="mailto:guy.fedorkow@gmail.com"><guy.fedorkow@gmail.com></a>
<br>
To: Bob Supnik <a class="moz-txt-link-rfc2396E" href="mailto:bob@supnik.org"><bob@supnik.org></a>
<br>
<br>
<br>
<br>
hi Bob,
<br>
I'm continuing to explore the Whirlwind world, one tiny step at
a time.
<br>
I thought I'd look around for retargetable cross-assemblers and
<br>
disassemblers that might work with the machine's instruction
set...
<br>
this must come up in the simh world... do you have a favorite
package?
<br>
<br>
Thanks
<br>
/guy fedorkow
<br>
<br>
<br>
_______________________________________________
<br>
Simh mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Simh@trailing-edge.com">Simh@trailing-edge.com</a>
<br>
<a class="moz-txt-link-freetext" href="http://mailman.trailing-edge.com/mailman/listinfo/simh">http://mailman.trailing-edge.com/mailman/listinfo/simh</a>
<br>
</blockquote>
<br>
</body>
</html>