Re: The HP-28S speedup program on my site... Message #3 Posted by Christoph Giesselink on 22 Apr 2003, 4:59 p.m., in response to message #1 by Gene
Writing assembly software for the HP28S using the known address entry of HOME is a crap way of programming.
Alonzo Gariepy published some HP28S based helper tools in his "HP28S PROCESSOR NOTES" for more convenient programming. But I personally use a modified ASS program from Friedrich Schroeder CHK2 article.
ASS [BE22]
<< -> lm
<< HEX "" 1 lm SIZE
FOR i
"#" lm i DUP2 1 + DUP SUB 3 ROLLD
DUP SUB + + STR-> B->R CHR + 2
STEP
# 3CEAAh SYSEVAL
# 4F3Dh SYSEVAL
>>
>>
This allows me to write normal SysRPL programs with the HPTOOLS (v3.1.0) and a modified/expanded HP28S entry point list from Jean-Francois Garnier. From these binary sources I make a so called "MCode" string and also calculate the checksum of the MCode for later verifying on the machine.
Then I type in the MCode String, the most difficulty part, check the checksum to be sure that a didn't made a mistake, and finally call the assembler ASS to make the "System Object".
The machine code for the fast/speed program is always something like this
RPL
CODE
AD0EX
D0=(5) #FFF00
LC(1) #F
DAT0=C 1
D0=A
LOOP
ENDCODE
00000 69C20 CON(5) =DOCODE
00005 32000 REL(5) LBL000
0000A 132 AD0EX
0000D 1B00F D0=(5) #FFF00
FF
00014 30F LC(1) #F
00017 15C0 DAT0=C 1
0001B 130 D0=A
0001E 142 A=DAT0 A
00021 164 D0=D0+ 5
00024 808C PC=(A)
00028 LBL000
The MCode is
MSPEED [4861]
"69C20320001321B0
0FFF30F15C013014
2164808C"
Enter the string whithout any white chars, they are only for better reading, then the checksum will be ok. The "assembled" program itself without the program name is only 20 Bytes long!
The HP28S CHK2 checksum program and many other things can be found at http://www.hpcalc.org.
Happy trying
Christoph
|