kasm is a System RPL/Machine Language assembler for the Saturn microprocessor, used in the HP48/HP49 calculators. (This microprocessor is also used in other HP calculators, but kasm is made specifically for the HP48/HP49 calculators). It uses the same syntax of the MASD compiler (found in the MetaKernel program for HP48 calculators and in HP49 calculator). This syntax, which has only very small incompatibilities with the traditional syntax (used in the HP Tools, in the GNU Tools and in JAZZ), supports a few constructs that make the assembly language be closer to a high level programming language. It supports all the structures (blocks, etc.) and shortcuts (RPL, SCREEN, etc.) of the MASD compiler in the HP49G calculators.
kasm generates files for the HP48 and the HP49 calculators, based on a command-line flag. It also supports condional code generation depending on the calculator the file is meant to.
The following code fragment shows some examples of the syntax supported by kasm:
. . . ; Check if the backspace key is pressed !IF48 LC 010 !ENDIF !IF49 LC 001 !ENDIF OUT=C=IN !IF48 ?CBIT=1.0 -> Quit !ENDIF !IF49 ?CBIT=1.6 -> Quit !ENDIF . . .
The current version of kasm is 1.0.0.
To install kasm, you'll need to download the its source. Then, unpack them into a temporary location and follow the instructions of the README and INSTALL files.
Download the source (~280kb):
If you desire, you can get access to the latest code availabe by retriving it with CVS. To do that, issue the following two commands:
cvs -d:pserver:email@example.com:/cvsroot/k-asm login cvs -z3 -d:pserver:firstname.lastname@example.org:/cvsroot/k-asm co kasm
When prompted for a password, just press the ENTER key.
To build from the CVS sources, you will probably need several GNU utilities such as autoconf, automake, etc.
kasm was written by Eduardo M Kalinowski (email@example.com).
It might also be a good idea to see the kasm project page on
SourceForge: http://www.sourceforge.net/projects/k-asm. You
can use the trackers in that page to submit bugs, requests; and you
can get all older versions from that site.
This project is hosted by