HP-71B assembler - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: General Forum (/forum-4.html) +--- Thread: HP-71B assembler (/thread-4157.html) |
HP-71B assembler - jsi - 06-15-2015 06:17 AM Hello all, I'd like to point to asm71, a cross assembler to create LEX or BIN files for the HP-71B. The first version was created in 1986 in Turbo Pascal. With minor changes it compiles well with the Free Pascal compiler. So it is on github now: http://www.github.com/bug400/asm71. There are binaries for LINUX, Windows (32bit) and Mac OS/X. See: http://www.github.com/bug400/asm71/releases. Regards Joachim RE: HP-71B assembler - Egan Ford - 06-15-2015 09:48 PM (06-15-2015 06:17 AM)jsi Wrote: I'd like to point to asm71, a cross assembler to create LEX or BIN files for the Thank you! I've wanted something like this for sometime. I never knew about the existing Pascal version. I look forward to playing with this. RE: HP-71B assembler - charger73 - 06-16-2015 05:23 AM Thank you Joachim. I will try that. Best regards Tobie RE: HP-71B assembler - gferluga - 06-17-2015 05:17 AM Working great on Mac OS X. Thank you! RE: HP-71B assembler - Christoph Giesselink - 06-22-2015 06:18 PM (06-15-2015 06:17 AM)jsi Wrote: Hello all, Not another assembler yet... I understand why in the 80'ties and early 90'ties different mnemonics were created and used for writing Saturn assembler code. HP hasn't published his HP-Tools and later only his Mess-Dos version of the Saturn Assembler, version 1.56, 12/20/89. So each community build their own tools: Class Mnemonics or also called Alonzo mnemonics (Alonzo Gariepy)
HP Mnemonics
But in 1998 with the source code release of the HP Tools 3.0 (3.0.2) everything changed IMHO. Now a reference implementation for all Saturn CPU's was available and it later was expanded with the Saturn+ opcodes (switch -P 3) and MASD instruction set. Furthermore SASM can produce raw code suppressing the object files header or code for a separate linker process. I personally use the separate linker process to link with the compiled entry point table of the calculator. Entry point table files are available for many HP Saturn based calculators, also for the HP71. Finally the HP Tools v3.0.8 binaries were published for FreeBSD, Linux and Win32 and v3.0.9 for Mac. The last point is, when you want to use the symbolic names in the Emu28/Emu42/Emu48 and Emu71/Win emulator code debugger or the RPL Object Viewer you need the entry point table in HP Tools 3.0 object file format. The advantage of ASM71 I see is, it can use the simplified LEX table macros introduced by the Forth/Assembler module and the integrated creation of the LIF header for LEX and BIN files. For the HP Tools SASM assembler you need an asm file template for configuring the LEX tables and a program to add the LIF header like JFG's alifhdr program. So for me one Saturn compiler, the HP Tools 3.0.9 fits all. Here's my LEX template for the HP Tools SASM package: Code:
And this my batch file RPL71.BAT to assemble a single source file: Code:
The resulting dat file is then transferred over the DOSLINK device to a real HP71 or Emu71/Win with the help of a small BASIC program running on the HP71. RE: HP-71B assembler - charger73 - 06-24-2015 04:37 PM ...the LEX file can be loaded directly with "COPY :DOSLINK TO :PORT(1)" without a BASIC Programm. PORT(1) must be a RAM32k module, for example. I have tested this with you famous 71 Windows Emulator EMU71. A Basic Programm is needed for a text file without LIF Header. Best regards Tobie RE: HP-71B assembler - Christoph Giesselink - 06-24-2015 05:46 PM (06-24-2015 04:37 PM)charger73 Wrote: ...the LEX file can be loaded directly with "COPY :DOSLINK TO :PORT(1)" without a BASIC Programm. That's not what I meant with "small BASIC" program. I meant this sort: Code:
When you load the same but modified LEX file over and over you might be happy with a program like above. :) RE: HP-71B assembler - charger73 - 06-24-2015 07:06 PM ok. thank you for this small basic tool ;-) |