On 06-Sep-17 08:19, Paul Koning wrote: >> On Sep 5, 2017, at 9:18 PM, Timothe Litt <[email protected]> wrote: >> >> 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. > The assembler (gas) is separate from the compiler (gcc and friends). It's a > prerequisite for a complete cross-package but you can certainly do a gas for > some new architecture without bothering with the compiler. gdb gives you a disassembler. > The question is assembler syntax. If the machine you're after has a standard > syntax, then gas is unlikely to help since it uses Unix "as" style syntax. > For example, while you can assemble PDP11 programs with gas, they don't look > like familiar Macro-11 programs and if you feed it Macro-11 sources it will > complain bitterly. Yes, but presumably this is a bootstrapping exercise - hopefully the native assembler can be found and used once the simulator runs.
As noted, this isn't the approach I'd take, but tastes (and energy levels) vary. >> 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. >> >> 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. >> >> If you want 32-bit words, there's always MACRO-32 - pretty much the same >> macro capabilities. >> >> For a host, you can use a simh PDP-11 or VAX - whatever you're comfortable >> with. > Sure, those are good options. Others mentioned Python to write one from > scratch. That is very easy. I've written an Electrologica assembler in > Python, which didn't take long, and a more limited assembler is probably just > a week or two worth of work. > > One complication for using Macro-11 is that Whirlwind is one-s complement, so > negative numbers will be wrong. That can be handled with a macro to convert 2's complement to 1's, including any end-around carry. > paul > >
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Simh mailing list [email protected] http://mailman.trailing-edge.com/mailman/listinfo/simh
