home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.hp48
- Path: sparky!uunet!seq!spell
- From: Craig A. Finseth <fin@unet.umn.edu>
- Subject: v08i023: hp16cemu.caf - Partial HP-16C Emulator v1.0, Part01/01
- Message-ID: <1993Jan25.050109.17353@seq.uncwil.edu>
- Followup-To: comp.sys.hp48
- Sender: spell@seq.uncwil.edu (Chris Spell)
- Organization: University of Minnesota, Networking Services.
- Date: Mon, 25 Jan 1993 05:01:09 GMT
- Approved: spell@seq.uncwil.edu
- Lines: 305
-
- Checksum: 965356985 (verify with brik -cv)
- Submitted-by: Craig A. Finseth <fin@unet.umn.edu>
- Posting-number: Volume 8, Issue 23
- Archive-name: hp16cemu.caf
-
-
- BEGIN_DOC hp16cemu.doc
- Written by: Craig Finseth, University of Minnesota
- When: 24 Mar 1990
- What: Partial HP-16C Emulator
-
- ON16 Turn on our special ENTER key.
- OFF16 Turn off our special ENTER key.
- BASE MATH:BASE menu.
- LJ Left Justify
- MSKL Mask Left
- MSKR Mask Right
-
- RLn Rotate Left by n
- RRn Rotate Right by n
- RLC Rotate Left through Carry
- RRC Rotate Right through Carry
- RLCn Rotate Left by n through Carry
- RRCn Rotate Right by n through Carry
-
- CNTB Count the number of "1" bits
- SB Set a bit
- CB Clear a bit
- TB Test a bit
- TOBIN Convert an expression to a binary number.
- TOREAL Convert an expression to a real number.
-
- TRIMN Trim N to the current word size.
- SWAPC Swap the bottom bit of the current value with the carry bit.
- CARRY The carry bit.
- alphaENTER Our vectored Enter key. This key checks to see if the
- first character of the command string is a digit ("0"
- through "9"). If so, it prepends a "#" character to the
- command line.
-
- Note: The USER mode must be active for this to work.
-
- HP-16C Functions Not Emulated:
-
- RMD
- DBLR
- DBL/
- DBL*
- 1's mode
- UNSGN mode
-
- All other HP-16C functions exist in the HP-48SX (e.g., RR, RL, ASR) or
- are implemented in a better way in the HP-48SX (e.g., program
- control).
-
- Checksum: #17d
- Size: 1420.5
- ------------------------------------------------------------
- END_DOC
-
- BEGIN_RPL hp16cemu.rpl
- %%HP: T(3)A(D)F(.);
- DIR
- ON16
- \<< -62 SF -63 SF
- \>>
- OFF16
- \<< -62 CF -63 CF
- \>>
- BASE
- \<< 9 MENU
- \>>
- LJ
- \<< DUP
- IF TOREAL
- THEN TOBIN
- DO RL DUP
- UNTIL # 1d
- AND TOREAL
- END RR
- ELSE # 0d
- END
- \>>
- MSKL
- \<< TRIMN \-> n
- \<< # 0d 1 n
- START RR
- # 1d RR OR
- NEXT
- \>>
- \>>
- MSKR
- \<< TRIMN \-> n
- \<< # 0d 1 n
- START SL
- # 1d OR
- NEXT
- \>>
- \>>
- RLn
- \<< \-> X n
- \<< X TOBIN 1 n
- TRIMN
- START RL
- NEXT
- \>>
- \>>
- RRn
- \<< \-> X n
- \<< X TOBIN 1 n
- TRIMN
- START RR
- NEXT
- \>>
- \>>
- RLC
- \<< TOBIN RL
- SWAPC
- \>>
- RRC
- \<< TOBIN SWAPC
- RR
- \>>
- RLCn
- \<< \-> X n
- \<< X TOBIN 1 n
- TRIMN
- START RLC
- NEXT
- \>>
- \>>
- RRCn
- \<< \-> X n
- \<< X TOBIN 1 n
- TRIMN
- START RRC
- NEXT
- \>>
- \>>
- CNTB
- \<< 0 SWAP TOBIN
- 1 RCWS
- START
- IF DUP # 1d
- AND TOREAL
- THEN SWAP 1
- + SWAP
- END RR
- NEXT DROP
- \>>
- SB
- \<< # 1d SWAP RLn
- OR
- \>>
- CB
- \<< # 1d NOT SWAP
- RLn AND
- \>>
- TB
- \<< RRn # 1d AND
- \>>
- TOBIN
- \<< \->NUM \-> X
- \<<
- IF X TYPE
- 10 \=/
- THEN X RE
- R\->B
- ELSE X
- END
- \>>
- \>>
- TOREAL
- \<< \->NUM \-> X
- \<<
- IF X TYPE
- 10 ==
- THEN X B\->R
- ELSE X
- END
- \>>
- \>>
- TRIMN
- \<< TOREAL ABS
- RCWS MOD
- \>>
- SWAPC
- \<< DUP CARRY
- SWAP # 1d AND
- 'CARRY' STO SWAP
- # 1d NOT AND OR
- \>>
- CARRY # 0d
- \GaENTER
- \<< \-> X
- \<< X 1 1 SUB
- NUM \-> Y
- \<<
- IF Y 48 \>=
- Y 57 \<= AND
- THEN "#"
- X +
- ELSE X
- END
- \>>
- \>> OBJ\->
- \>>
- END
- END_RPL
-
- BEGIN_ASC hp16cemu.asc
- %%HP: T(1);
- "69A20FF78BA000000060C854E445542560D9D20E16321C432D6E201085E1632D
- 6E2010859C2A29C2A2C58C164BC11C432D6E201095E16323CE22D6E201095339
- 201000000000000840B9DE1D6E201095339201000000000000750CFCE1387E1A
- FE22D9D20C2A207000032D6E20108576BA1B21305BF22D6E2010855DF22EF532
- EF532B7FC193632B21302010050341425259550E4A2051000000000000000000
- 08200050357514053450D9D20E163278BF184E20503414252595DBBF1E4A2051
- 0001000000000000000387E14563284E2050341425259597632DCC02DBBF1E4A
- 20510001000000000000000F88E1387E1908E193632B2130AA00050452594D4E
- 450D9D20E163284E206045F4255414C4F1AA1EF5C1D4EB193632B21304400060
- 45F4255414C460D9D20E16324E5A11C432D6E201085E16323CE22D6E20108568
- BC1339201000000000000010279E1AFE22D9D20D6E201085BB691B21305BF22D
- 6E2010855DF22EF53293632B2130E90005045F42494E450D9D20E16324E5A11C
- 432D6E201085E16323CE22D6E20108568BC1339201000000000000010D9AE1AF
- E22D9D20D6E201085AC7C1B9691B21305BF22D6E2010855DF22EF53293632B21
- 301A00020452420D9D20E163284E20302525E6E4A20510001000000000000000
- 387E193632B21308400020342420D9D20E1632E4A20510001000000000000000
- F88E1DBBF184E203025C4E6387E193632B21302500020352420D9D20E1632E4A
- 20510001000000000000000DBBF184E203025C4E6908E193632B2130D4000403
- 4E4452440D9D20E16324B2A2DBBF184E205045F42494E49C2A2EF5C1301323CE
- 2278BF1E4A20510001000000000000000387E184E206045F4255414C4AFE22D9
- D20DBBF19C2A276BA1DBBF1B21305DF22BD591C42328DBF193632B2130DB0004
- 0252534E640D9D20E16321C432D6E201085D6E2010E6E1632D6E20108584E205
- 045F42494E49C2A2D6E2010E684E2050452594D4E43013284E2030252534C423
- 2EF53293632B2130190004025C434E640D9D20E16321C432D6E201085D6E2010
- E6E1632D6E20108584E205045F42494E49C2A2D6E2010E684E2050452594D4E4
- 3013284E203025C434C4232EF53293632B2130190003025253430D9D20E16328
- 4E205045F42494E484E20503575140534BD59193632B2130540003025C43430D
- 9D20E163284E205045F42494E4B959184E2050357514053493632B2130540003
- 02525E630D9D20E16321C432D6E201085D6E2010E6E1632D6E20108584E20504
- 5F42494E49C2A2D6E2010E684E2050452594D4E430132BD591C4232EF5329363
- 2B2130780003025C4E630D9D20E16321C432D6E201085D6E2010E6E1632D6E20
- 108584E205045F42494E49C2A2D6E2010E684E2050452594D4E430132B9591C4
- 232EF53293632B21307800040D435B42540D9D20E163284E2050452594D4E41C
- 432D6E2010E6E1632E4A205100000000000000000009C2A2D6E2010E630132B1
- 691E4A20510001000000000000000908E1C4232EF53293632B2130F900040D43
- 5B4C440D9D20E163284E2050452594D4E41C432D6E2010E6E1632E4A20510000
- 0000000000000009C2A2D6E2010E630132BD591E4A2051000100000000000000
- 0BD591908E1C4232EF53293632B21304A00020C4A420D9D20E163278BF13CE22
- 84E206045F4255414C4AFE22D9D2084E205045F42494E43C032B959178BF1DE0
- 32E4A20510001000000000000000387E184E206045F4255414C49B632BD591B2
- 1305BF22E4A205100000000000000000005DF2293632B2130DC0004024143554
- 40D9D20E1632173A26911293632B2130A200050F46464136350D9D20E1632339
- 2010000000000002695D2C13392010000000000003695D2C193632B213065000
- 40F4E4136340D9D20E1632339201000000000000269472C13392010000000000
- 00369472C193632B2130F9B0"
- END_ASC
-
-
- BYTES: #B9Fh 1418
-
- BEGIN_UU hp16cemu.uue
- begin 644 hp16cemu.dir
- M2%!(4#0X+466*O!_N`H````&C$5.5$52!ITMX&$CP332Y@(!6!XVTN8"`5C)
- MHI(L*ES(8;0<P332Y@(!61XV,NPB;2X0D#63`@$``````(`$F^W1Y@(!63,I
- M$````````%?`SQZ#YZ'O(ITMP*("!P`PTN8"`5AGJ[$2`[4OTN8"`5C5+^)?
- M(_XULO<<.3:R$@,"`5`P%"0EE57@I`(5````````````@`(`!5-705!#!9TM
- MX&$CA_N!Y`(%0T%24EF]^^&D`A4`$``````````P>!Y4-H+D`@5#05)267DV
- MTLP@O?OAI`(5`!``````````\(@>@^>1@!XY-K(2`ZH`4$`EE=3D5-#9`AXV
- M@N0"!E1/4D5!3!^JX5\<3;Z18R,K,4`$``943U)%04P&G2W@82/DI1%,(VTN
- M$(#E82/#+M+F`@%8ALLQDP(!`````````7+IH>\BG2W0Y@(!6+N6L1(#M2_2
- MY@(!6-4OXE\C.3:R$@.>`%!`]224Y%30V0(>-D)>&L$TTN8"`5@>-C+L(FTN
- M$(!EN!PS*1`````````0T*D>^B[2V0)M+A"`I7P<FY:Q$@.U+]+F`@%8U2_B
- M7R,Y-K(2`Z$`($`E)-#9`AXV@N0"`U)2;DXJ4`$``0````````"#YY%C(RLQ
- M@`0``D-"`ITMX&$C3BI0`0`!`````````(_HT;L?2"XP(,7D-G@>.3:R$@-2
- M`"`P)230V0(>-N*D`A4`$`````````#0NQ](+C`@Q>26@!XY-K(2`TT`0##D
- M1"5$T-D"'C9"*RJ]^X'D`@543T))3LFBXE\<`S$R["*'^^&D`A4`$```````
- M```P>!Y(+F!`]215%,2D[R*=+="['\FB<K8:O?NQ$@/5+[)=&4PR@KT?.3:R
- M$@.]`$`@)37D1M#9`AXV$DPC;2X0@-7F`@%N'C;2Y@(!6$@N4$#U))3DE"PJ
- M;2X0X(;D`@544DE-3@,Q@N0"`U)20TPRXE\C.3:R$@.1`$`@Q33D1M#9`AXV
- M$DPC;2X0@-7F`@%N'C;2Y@(!6$@N4$#U))3DE"PJ;2X0X(;D`@544DE-3@,Q
- M@N0"`U),0TPRXE\C.3:R$@.1`#`@)34TT-D"'C:"Y`(%5$]"24Y(+E`P=14$
- M-;1=&3DVLA(#10`P(,4T--#9`AXV@N0"!51/0DE.FY6!Y`(%4U=!4$,Y-K(2
- M`T4`,"`EY3;0V0(>-A),(VTN$(#5Y@(!;AXVTN8"`5A(+E!`]224Y)0L*FTN
- M$."&Y`(%5%))34X#,;)=&4PRXE\C.3:R$@.'`#`@Q>0VT-D"'C823"-M+A"`
- MU>8"`6X>-M+F`@%82"Y00/4DE.24+"IM+A#@AN0"!51224U.`S&R61E,,N)?
- M(SDVLA(#AP!`T#2U)$70V0(>-H+D`@544DE-3L$TTN8"`6X>-N*D`A4`````
- M``````"0+"IM+A#@-A`C&Y;AI`(5`!``````````D(`>3#+B7R,Y-K(2`Y\`
- M0-`TM<1$T-D"'C:"Y`(%5%))34[!--+F`@%N'C;BI`(5````````````D"PJ
- M;2X0X#80(]N5X:0"%0`0`````````+!=&0GHP20C_C628R,K,4`*``),2@*=
- M+>!A(X?[,>PB2"Y@0/4D513$I.\BG2V`Y`(%5$]"24[#,+)9&8?[T0XC3BI0
- M`0`!`````````(/G@>0"!E1/4D5!3+DVLET9*S%0^R).*E`!````````````
- MU2^28R,K,=`,``1"05-%!)TMX&$C<:-B&2$Y-K(2`RH`4/!D9!1C4]#9`AXV
- M,I,"`0``````();5PC&3`@$``````#"6U<*18R,K,6`%``1/3C$V!)TMX&$C
- ?,RD0````````8DDG'#,I$````````&-))QPY-K(2`[(2
- `
- end
- sum -r/size 11398/1997 section (from "begin" to "end")
- sum -r/size 18950/1426 entire input file
- END_UU
-