Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!decwrl!pa.dec.com!shlump.nac.dec.com!pinbot.enet.dec.com!ervin From: ervin@pinbot.enet.dec.com (Joseph James Ervin) Newsgroups: comp.sys.handhelds Subject: Documents for HP48SX ML programming. Message-ID: <21574@shlump.nac.dec.com> Date: 29 Mar 91 18:36:13 GMT Sender: newsdaemon@shlump.nac.dec.com Reply-To: ervin@pinbot.enet.dec.com (Joseph James Ervin) Organization: Digital Equipment Corporation Lines: 353 Marc, I couldn't reach you directly (REPLY failed, host unknown), so I'm posting this information to the conference in the hopes that it will be of use to others trying to do machine language programming/ >How do you program in machine code?? >manuals docs?? assemblers?? tools!!! Your questions regarding information for machine language programming are similar to some that I asked, and which got virtually no response from the net. So, let me share with you my recent experiences. To my knowledge there is no official documentation or books which describe how to do ML programming on the HP48SX. Here are some sources of information that have served me well. First, check out Alonzo Gariepy's notes on the Saturn processor, which is the processor HP used in the 28 and also in the 48SX. This will give you a decent introduction to the instruction set and the basic architecture of the processor. Then, you should read Alonzo Gariepy's notes on doing ML programming on the HP48SX. These notes provide some useful information, and give some decent examples of how to do things.Next, I recommend you take a look at the internals description by Derek Nickel. This gives a decent explanation of the different data types used in the 48SX, and how they are each represented. Of all the internals lists that have been posted recently, I believe that his has the best descriptions of the various object types, their prologs and how they are stored. Next, I recommend that you get the list of internal addresses that Jake Schwartz. This gives a good description of all (?)the known internal addresses and what they do. Finally, I suggest you get the Star assembler written by Jan Brittenson. After reading the README. file and the STAR.REF files which come as part of the Star assemlber, you should have a pretty decent feel for how to program the 48SX. STAR was written by Jan Brittenson, and he has put in a good effort to make it fairly transportable. I was able to compile and run it on a VAX/VMS system without requiring much effort on my part. Lastly, let me make one more suggestion. READ THE DOCUMENTS I HAVE MENTIONED ABOVE, in the order I have specified them. Alonzo's notes will give you a decent foundation regarding the architecture of the SATURN processor and the instruction set. Derek's notes will give you a good foundation in the object types and how the 48SX stores information internally. After reading these documents, I have been able to undertake a fairly non-trivial ML project, the fruits of which will appear in this conference shortly, with luck. I hope that helps. >>>Joe Ervin P.S. All of the documents mentioned above are available on Wayne's mail server; a service that I highly recommend. Below are Waynes directions for accessing his mail server. How to use the Wayne's Mail Server ==================================== The Wayne's Mail Server can temporally be reached at e-mail address "wscott@ecn.purdue.edu" with a subject line of "HP-MAIL-SERVER". If you don't use the correct subject the mail will be sent to me and that would be a bother. If your mailer doesn't understand domain addresses, try a nearby gateway like "uunet". When the Mail Server receives a message, It reads the mail headers to determine the requester's address. If a "Reply-To:" header is found, the indicated address is used. If not, it uses the address as specified in the "From:" header. You can overide this path with the path command below. The message body is scanned for server commands. Every line in the message should contain a valid server command. A report is sent to you by return mail. Any requests will be handled as soon as the load of the server system permits. NOTE: The mail server is still under development. Things may -and will- change in the near future. The Server's Archives ===================== By default the server get files from the HP-48 archive. If you want to use the HP-28 archive include the HP28 command below. Files are stored in the archives in one of the following formats: Plain: normal ASCII text. Shell Archive: ASCII files which can be unloaded using the Unix sh(1) program. Shell Archives have names ending in ".shar". Compressed: 16-bit compression using the compress(1) utility. Compressed files have names ending in ".Z". Tar: standard UNIX tar(1) format. Tar archives have names ending in ".tar". Compressed Tar: compressed tar archive. Compressed tar archives have names ending in ".tar.Z". When requesting a file you do not have to specify the format-specific extension. A request for a file "foo" will automatically be changed to "foo", "foo.tar", "foo.shar", "foo.Z", "foo.tar.Z" whichever is available. The file "INDEX" contains a list of files in the archives. Command Syntax ============== A command consists of a keyword (verb), followed by zero or more arguments, depending on the command. Command verbs may be specified in all uppercase letters, lowercase or whatever mixed case. In other words: case is not significant in command verbs. Case *IS* significant in command arguments. Empty lines are ignored. The following commands are understood by the server: PATH
-------------- The return address used by the server is set to the indicated . This must be a valid address by which you can be reached. It may contain a domain-based address. Use this command if you are not sure that the return addresses generated by your mail system are reliable. END or EXIT ----------- The remainder of the message is ignored. This can be useful if a .signature is appended to the message. LIMIT