Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!inria!litp!pda From: pda@litp.ibp.fr (Pierre DAVID) Newsgroups: comp.sys.handhelds Subject: Saturn Assembler (Part 0/8) Message-ID: <3301@litp.ibp.fr> Date: 5 Jul 90 16:19:15 GMT Reply-To: pda@litp.ibp.fr.UUCP (Pierre DAVID) Organization: M.A.S.I., Universite P. & M. Curie, Paris, FRANCE Lines: 148 This posting contains a complete development system for the Saturn processor used on HP-71, HP-28, HP-48 etc. Hereafter is the README file. Enjoy ! pda@masi.ibp.fr ------------------------------------------------------------------------------ AUTHORS ------- Pierre DAVID (pda@masi.ibp.fr or pda@frunip62.bitnet) Janick TAILLANDIER You are free to use or distribute these programs as long as you keep this note These programs are provided as is. They are in no way supported by us. PRESENTATION ------------ These programs provide you with a complete development system for the Saturn processor (used on the HP-71, HP-28, HP-48 among others). It includes an assembler, a linker for separate assembly, and various utilities to generate message tables for the HP-71 as well as download programs to the HP-71 via HP-IL or RS-232. HISTORY ------- It was developped for the HP-71 in order for us to produce more easily the JPC Rom (PPC Paris Rom) for the HP-71. The final Rom module was 45 KB (executable) for a total of 1.5 MB source files. The speed was one of the main design objectives. These programs were written in C for the HP Integral PC (under HP-UX) in 1986 and have been adaptated for PC compatibles (Microsoft C 4.0 in 1987). It was also used as the final stage of a simple C compiler for the HP-71. HP-71 DEPENDENCIES ------------------ This development system is fully compatible with the assembler described in the HP-71 Internal Design Specifications (Volumes I or IV). The opcode syntax is the one used by HP : it seems crazy to invent a new one, just to confuse everyone! Some macros (LEX, BIN, FORTH, TOKEN...) are specific to the HP-71, but you are free not to use them. You may also want to write specific HP-48 macros to generate specific objects (it would be nice if HP give us the syntax they use). Some opcodes used in newer machines (28, 48...) are not present in the HP-71. Those opcodes (but PC=(A) and RSI) are not in our opcode table, but could be easily added if they are known. The linker preloads a special file (/usr/local/lib/hp71.ep) containing all HP-71 operating system entry points. Do not use any name contained in this file, or remove the loading of this file. In summary, HP-71 dependencies should not be a problem. However if you want to use new opcodes, you will have to add them. Please, post your modifications. CONTENTS -------- Makefile The global Makefile (HP-UX) to generate all programs. assembler Source code for aas (the assembler). Some files are shared between assembler, linker and dump (common.h, err.h), some are shared between assembler and linker (exp.c, mdep.c). Contains a manual page in French. linker Source code for ald (the linker). Contains a manual page in French. dump Source code for adp (the file dumper, used for debugging). Contains a manual page in French. cpy Source code for downloading files from a PC to an HP-71 using HP-IL Link card or RS-232. This should now superseded for HP-48 by Kermit. load Source code for acp, utility for copying an executable file generated by the linker to a LIF disk (to be read by an HP-71 with HP-9114). equ Source for all HP-71 operating system entry points. jmpdoc Some thoughts about adding a new generic branch macro. In French. Garbage. msg Source code for amg (HP-71 message table generator). Contains a manual page in French. doc Various documentations. PORTING ------- If you are using HP-UX, just type make, then make install. If you are using another flavor of Unix, the Makefile should work. We think there are no special system dependencies (it was successfully compiled on Suns 3 and 4 with SunOS 4 and a Vax under BSD 4.3). If you are using PC compatibles, we cannot do anything for you. The Makefiles will probably be difficult to use... If you are using an Amiga, a Mac or anything else, good work ! Have fun ! Pierre DAVID & Janick TAILLANDIER (July 1st, 1990)