Movatterモバイル変換


[0]ホーム

URL:


 
 

hp16c

Model:-16CGeneral:Name:The Computer ScientistCode-Name:PRFamily:Voyager, Series 10Logic:RPNFeatures:programmableFirsts:programmer's (base arithmetic, variablelength word size)Introduction:Date:1982-7-1Price:$150Discontinuation:Date:1989-01-01Price:$120 (on 1983-02-01)Production-Run:?Display:Type:LCD, 7 segmentSize:1 line x 10 charsNumber-Formats:sign, 8 binary digits, "b"sign, 8 octal digits, "o"sign, 8 decimal digits, "d"sign, 8 hexadecimal digits, "h"sign, 10 mantissasign, 7 mantissa, ., exp sign, 2 expAnnunciators:*battery lowff-shiftgg-shiftGoverflowCcarryPRGMprogram modeData:User-Visible:Smallest:1E-99Largest:9.999999999E99Signif.-Digits:10Internal:Smallest:1E-99Largest:9.999999999E99Signif.-Digits:10Data-Types-and-Sizes:real, 7 bytesbinary (1-64 bits), 1-16 nybblesMemory:Named-Registers:X, Y, Z, T, Last x, I (68 bits)0-F, .0-.FFlags:0-2, user, shown with MEM3, leading zero display, shown with MEM4, carry, C annunciator5, out-of-range, G annunciatorRegister-Usage:noneNumbered-Registers:406 -> 0, depending on word sizeProgram-Steps:7 -> 203Program-Editing:InsertProgram-Display:keycodeUser-RAM-Bytes:203Total-RAM-Bytes:512ROM-Bytes:12KMachine-State:prefix key statestack lift enabledisplay modeprogram counterthree level return stackradix markPRGM modeprogram / register memory dividerhex / dec / oct / bin / floatword size2's, 1'2, unsigned complementdisplay windowflagsregistersmemoryFile-Types:nonePhysical:Technology-Used:CMOSCProcessor:1LE2 SACAJAWEAChip-Count:3 chips: 1LE2 (uControler containing displaydriver, memory manager & Saturn CPU),1LF5 & 1LK1 (RAM/ROM)Power-Source:3 alkaline (Eveready A76) or silver-oxide(Eveready 357) button cellsContinuous-Memory:yesExpansion-Ports:noneI/O-Ports:noneClock:noneLength:?Width:?Height:?Weight:?Temperature-Range:Operating:0 to 55 deg CCharging:noneStorage:-40 to 65 deg CKeyboard:Switches:noneShift-Keys:f, yellow, aboveg, blue, belowUser-Defined-Keys:noneKey-Arrangement::** ** ** ** ** ** *** *** *** ***** ** ** ** ** ** *** *** *** ***** ** ** ** ** ** *** *** *** ***       **** ** ** ** ** ** *** *** *** ***Key-Labels-Base-Keyboard::ABCDEF789\:-GSBGTOHEXDECOCTBIN456xR/SSSTRvx<>yBSPENTER123-ONfgSTORCLENTER0.CHS+Key-Labels-f-gold-above::SLSRRLRRRLnRRnMASKLMASKRRMDXOR|--------- SHOW ---------|x<>(i)x<>I[][][][]SBCBB?AND|------ CLEAR -------||---- SET COMPL ----|(i)IPRGMREGPREFIXWINDOW1'S2'SUNSGNNOT[][][]WSIZEFLOATWINDOWMEMSTATUSEEXORKey-Labels-g-blue-below::LJASRRLCRRCRLCnRRCn#BABSDBLRDBL\:-RTNLBLDSZISZ\v/x1/xSFCFF?DBLxP/RBSTR^PSECLxLSTxx\<=yx<0x>yx>0[][][]<>LSTxx\=/yx\=/0x=yx=0Programmable-Operations::#Bcompute the number of 1 bits+addition-subtraction0-9, ., A-Fenter digit or decimal point1'sset one's complement mode1/xreciprocal2'sset two's complement mode<shift number left one digit in display>shift number right one digit in dislplayABSabsolute valueANDbitwise andASRarithmetic shift right 1 bitB?is the specified bit set?BINset binary modeCBclear bitCF 0-5clear flagCHSchange signCLEAR REGclear all registersCLxclear XDBLRdouble precision remainderDBLxdouble precision multiplyDBL\:-double precision divisionDECset decimal modeDSZdecrement and skip on zero, counter in I, end is 0,increment is 1EEXstart an exponentENTERenterF? 0-5test flagFLOAT .scientific mode with 6 decimal placesFLOAT 0-9fixed decimal modeGSB 0-9,A-F,Isubroutine call a labelGTO 0-9,A-F,Igo to labelHEXset hexadecimal modeISZincrement and skip on zero, counter in I, end is 0,increment is 1LBL 0-9,A-FlabelLJleft justifyLSTxLAST XMASKLgenerate 1s mask from leftMASKRgenerate 1s mask from rightNOTbitwise notOCTset octal modeORbitwise orPSEpauseR/Sstart/stop a programRCL 0-F,.0-.F,I,(i)recall from registerRLrotate left 1 bitRLCrotate left through carry 1 bitRLCnrotate left through carry n bitsRLnrotate left n bitsRMDremainderRRrotate right 1 bitRRCrotate right through carry 1 bitRRCnrotate right through carry n bitsRRnrotate right n bitsRTNreturnRvroll the stack downR^roll stack upSBset bitSF 0-5set flagSHOW BINshow the number in binarySHOW DECshow the number in decimalSHOW HEXshow the number in hexadecimalSHOW OCTshow the number in octalSLshift left 1 bitSRshift right 1 bitSTO 0-F,.0-.F,I,(i)store in registerUNSGNset unsigned modeWINDOW 0-7set display windowWSIZEset word sizexmultiplicationx<0conditional testx<>(i)exchangex<>Iexchangex<>yexchange x and yx=0conditional testx=yconditional testx>0conditional testx>yconditional testXORbitwise exclusive orx\<=yconditional testx\=/0conditional testx\=/yconditional test\:-division\v/xsquare rootNon-Programmable-Operations::BSPerase last digit/program stepBSTback stepCLEAR PREFIXclear any prefix, shows all digitsCLEAR PRGM(program mode) clear all program steps(run mode) set program counter to 0ff-shiftgg-shiftGTO .0-.203go to program lineMEMdisplaymemory statusONon/offON + +inititate continuous self-testON + -clear continuous memoryON + .toggle ,/. digit separatorON + Dreset calculatorON + xinitiate one self-testON + \:-initiate keyboard testP/Rprogram/run modeSSTsingle stepSTATUSshow machine statusNOTE: The notation "KEY + KEY" means that both keys are pressedat the same time.Menus::noneBugs/ROM-Versions::The GSB (i) and GTO (i) functions apparently exist, but are notdocumented in the manual.Notes::A lone, shining star.You can retrive the WSIZE with the sequence:0(or CLx if you want to overwrite x)NOT#B------------------------------------------------------------From: David Davies <dd@daviddavies.com>Newsgroups: comp.sys.hp48Subject: Re: 16C 68 bit index reg: what for?Date: 20 Mar 2003 13:47:29 +0100Message-ID: <m34r5y6w7y.fsf@janus.local>Alexander Supalov <supalov@pallas.com> writes:> Do you suggest that those 4 bits would hold a multiplier to be applied> to the "normal" value of the address register? The manual is> surprisingly ambiguous as far as the formatting of the index register is> concerned, so that this might be possible.My guess is that it is not a multiplier but an additional four bits ofspace to compute physical nybble addresses (when the word size isgreater than four bits) without throwing away the most significantbits of the 64-bit integer.  To quote the manual:  "A number stored in RI will be represented in a 68-bit format,  numerically equivalent to the number in the X-register."   (Section 6,  p.68)But the HP-16C index register hides even more puzzles:-If you examine the behaviour of the index register with different wordsize settings, using ISZ to find out where it rolls over to zero.This invariably happens at 2^64, not 2^68.Perhaps more interesting is to try this out in different complementmodes.  You will find that ISZ never skips in unsigned mode, skips atFFF...FFFF in one's complement mode and at 000...0000 in two'scomplement mode.  I guess this is correct behaviour.Now see what happens if you change the complement mode after loadingthe index register.  If you experiment with a little program like:     LBL A    ISZ     GTO A    R/Ssetting up the complement mode, loading a suitable value into RI(FFF...FFFE or less), changing the complement mode and seeing wherethe routine stops, you will notice even stranger behaviour:-* If you load RI in unsigned mode or two's complement mode and thenchange mode before running the little routine above, the machine willhonour the mode that was in force _when_the_register_was_loaded_.* If you try the same trick loading the register in one's complementmode and then switching to unsigned mode, the machine will execute theISZ instruction as though it was in two's complement mode.... This is probably a bug...dd.

Areas

General

Craig's Articles

 

Google

 
 

I amCraig A. Finseth.

Back to Home.

Back to top.

Last modified Saturday, 2012-02-25T23:29:22-06:00.


[8]ページ先頭

©2009-2026 Movatter.jp