Virtuális számológép-múzeum
Menü
C/CE
Számológépek
Logarlécek
Egyéb
Gyártók
Keresés
Switch to English
Vissza az albumba
Texas Instruments
TI Programmer
1977-82
Triumph-Adler
Lady
1975-76

Hewlett-Packard 16C

Rövid története
A számítógépes szakemberek segítésére már az 1950-es években készültek mechanikus kézi számológépek, melyek nyolcas vagy tizenhatos számrendszerben voltak képesek összeadni és kivonni (Addiator Octadat, Hexadat). Az 1970-es évek második felében már lehetővé vált olyan zsebszámológép építése, mely alkalmas a számrendszerek közötti átváltásra, a négy alapművelet, a komplemens-képzés, valamint a legtöbbet használt logikai műveletek elvégzésére. Az első ilyen gép, a Texas Instruments Programmer, 1977-ben jelent meg a piacon. A Hewlett-Packard 1974-ben készítette el HP-65-ös zsebszámológépét, mely elsőként tudott decimális-oktális konverziót elvégezni. A nyolcvanas évek elején a számítógépek számának ugrásszerű emelkedése arra ösztönözte a HP fejlesztőit, hogy megjelentessenek egy korszerű, széleskörűen használható programozói számológépet. 1982-ben jelent meg a HP 16C modellje, mely - a konkurens Texas Instruments Programmer sorozatával összevetve - programozhatóságával, beállítható szóhosszával, többfajta bitenkénti eltolási, körbeforgatási, maszkolási, közvetlen beállítási műveletvégzés lehetőségével, és kettes számrendszerbeli üzemmóddal nyújtott többet, nyilván a Hewlett-Packard igen magas árszínvonalán.

A programozói számológépek fejlesztésének és elterjedésének végül a tudományos számológép folyamatos, a gyártók egymást felüllicitáló típusai vetettek véget: egyre több számológépbe került bele alapból a számrendszerek kezelése, vagy a logikai műveletek elvégzésének lehetősége. Másrészt a számítógépek programozása az új fejlesztőrendszerekkel egyre könnyebbé vált, nem volt tehát szükség külön programozói számológép-típusra.

Gyártó:Hewlett-Packard Corporation (USA)
Gyártási év:1982-89
Méret:12,8×7,9×1,5 cm
Tömeg üzemkészen:114 g
Jelleg:programozható
Kapacitás:16(10)/7+2 számjegy (bevitel)
8 (10)/7+2 számjegy (kijelzés)
16/7+2 számjegy (belső pontosság)
Működési mód:RPN
Regiszterek:4 általános (művelet-tárolással)
max. 406 memória (aritmetikával)
6 jelző
Jellemzők:+/-előjelváltás (negatív számok közvetlen beírása) RVregisztercsere (X-Y) Fixfixpontos számkijelzés: a felsorolt számoknak megfelelő számú tizedesjegyek kijelzése (0-9) Scitudományos (exponenciális) számkijelzés BSbackspace funkció: a tévesen beütött számjegyek egyenként törölhetők
Kijelző:10+1 digites LCD
Tápellátás:3×LR44 gombelem
Programozási mód:összevont billentyűkód-tárolású
Programkapacitás:max. 203 lépés

HP 16C
Részletes leírás

A gép használata

A számológépnek hatféle üzemmódja van: négy az egyes számrendszereknek megfelelő, csak egész számokkal való számításokra alkalmas normál üzemmód (a HEX, DEC, OCT, BIN gombokkal állítható be); külön üzemmód szolgál a csak tizes számrendszerben megvalósított lebegőpontos számolásra (f FLOAT), illetve a programozásra, mely a g P/R gombsorozattal érhető el. A gép használata nagyrészt azonos a többi C sorozatú géppel, és a legtöbb Hewlett-Packard típussal is, a különbségekre lentebb kitérünk.

A normál üzemmódok mindegyikében van lehetőség a kijelzett számot úgy átváltani más alapra, hogy az üzemmódot nem változtatjuk meg, ezt az f és a HEX, DEC, OCT, BIN gombokkal végezhetjük el. Azt, hogy milyen üzemmódban vagyunk, a szám után álló jel mutatja (h - hexadecimális, d - decimális, o - oktális, b - bináris). A számábrázoláshoz beállíthatjuk a szóhosszt is, azaz hogy hány biten ábrázoljuk a számokat (f WSIZE). Az értéktelen nullákat alapértelmezésben a gép nem jelzi ki, de ha lenyomjuk a g SF 3 gombokat, a tizes számrendszer kivételével a teljes szóhosszra vonatkoztatva, minden számjegy kijelzésre kerül.
A számokat a gép háromféleképpen tudja kezelni: egyrészt ahol a negatív számok az abszolútértékük egyes komplemenseként vannak ábrázolva (beállítása f SET COMPL 1'S), illetve ahol a kettes komplemenseként (f SET COMPL 2'S), másrészt előjel nélküli, úgymond csak pozitív számok kezelésére alkalmas módban (f SET COMPL UNSGN). Például 5 bites 1-es komplemensű előjeles számábrázolás beállításához (decimális üzemmódban) az 5 f WSIZE f SET COMPL 1'S gombok lenyomása szükséges.
Mivel a gép 64 bites szóhosszig bezárólag képes a számok kezelésére, előfordulhat, hogy nem mindegy jegy fér el egyszerre a kijelzőn. Az ilyen, nyolc jegyet megjelenítő "ablakok" közötti váltáshoz az f WINDOW és az ablak számának lenyomása szükséges.
Egy jeggyel balra, illetve jobbra is elléptethetjük a kijelzési ablakot a g <, ill. a g > billentyűkkel. A kijelző jobb oldalán, a számrendszert jelképező betű mellett balra, illetve jobbra kijelzett pont jelzi azt, hogy az adott irányban további számjegyek vannak.
Vigyázzunk az igen kis szóhosszak előírásakor, mivel ilyenkor pl. tizes számrendszerben nem enged az adott szóhosszon nem ábrázolható számokat beírni, illetve látszólag hibásan működik (pl. a 7-es gomb lenyomásakor -0 lesz a kijelzőben), és nem tudunk közvetlenül átkapcsolni nagyobb szóhosszra sem. Ilyenkor az f WSIZE 0 segíthet, mely a legnagyobb szóhosszra állítja át a gépet.

A gépnek hat jelzőbitje is van, melyek közül az első hármat (0-2) szabadon használhatunk, míg a második hármat (3-5) a gép állítja, illetve használja. A 3. számú vezérli az értéktelen nullák kijelzését a számok nagyobb helyiértékein: ha a jelző be van állítva, a nullák mindenképpen kijelzésre kerülnek (kivéve tizes számrendszer esetén), míg ha törölt, akkor a tizes számrendszerbeli üzemmódhoz hasonlóan, csak az értékes jegyek jelennek meg. A 4. számú az átviteljelző, az előjelbitbe való átvitelt jelzi, míg az 5. számú a túlcsordulás jelzője, mely a legnagyobb helyiértéken keletkező átvitelnek megfelelően áll be. A gyakorlatban ez azt jelenti, hogy előjeles számábrázolásnál a nulla átlépésekor a 4. bit, ha a számítás eredménye túlcsordul, és ezért az előjel megváltozik, az 5. bit állítódik be. Előjel nélküli számábrázolás esetén nyilván a két eset egybeesik, ilyenkor a két bit a túlcsorduláskor egyszerre állítódik be.
A jelzők állapotát lekérdezhetjük: az f STATUS nyomva tartása alatt, valamint felengedése után rövid ideig a második kötőjeltől jobbra, sorrendben a 3., 2., 1. és 0. számú jelzők állapota látható; a 4-es számú átviteljelző állapota mindenkor kijelzésre kerül (beállított értéke esetén egy "C" betű jelenik meg a kijelző alsó sorában), ugyanígy az 5. számú is (beállított értéke esetén egy "G" betű jelenik meg).
A jelzők bekapcsolhatók a g SF és a jelző számának lenyomásakor, ugyanígy törölhetők a g CF billentyűkkel.

A négy alapműveleten felül a gép képes maradékos osztás elvégzésére is (f RMD), ekkor az X regiszterben a maradék képződik (y mod x). Lehetőség van kétszeres pontosságú szorzás (g DBL×), osztás (g DBL÷), maradékos osztás (g DBLR) elvégzésére is, amikoris a szorzat duplaszó lesz az X és Y regiszterekben, illetve osztásnál az osztandó duplaszó, megadása szintén az x és Y regiszterekben történik.
Az abszolútérték képzése (g ABS) - negatív számok esetén - mindenkor a megfelelő komplemens előállításával történik.

A gép által elvégezhető bitmanipulációs műveletek száma igen nagy: az f SL egy bittel balra, az f SR egy bittel jobbra tolja el, a g ASR úgy tolja el a biteket jobbra, hogy - előjeles számábrázolási üzemmódokban - az előjelbitet változatlanul hagyja. Az f RL egy bittel balra, az f RR egy bittel jobbra forgatja körbe az X regiszter bitjeit, a g RLC és a g RRC ugyanezt a műveletet végzi el, de az átviteljelző (4. jelző) közbeiktatásával. Az f RLn, f RRn, g RLCn és g RRCn ugyanezeket a körbeforgatásokat végzi el, de az Y regiszter tartalmával, az X regiszterben megadott bitszámmal. A g LJ utasítás az X regiszter tartalmát jobbra tolja el úgy, hogy a legmagasabb helyiértékekre kerüljenek, a szükséges léptetések számát az X regiszterbe írva, az eredmény az Y regiszterben keletkezik. A maszkolási utasítások (f MASKL, ill. f MASKR) a megadott számú bitet a legnagyobb, illetve legkisebb helyiértékeken 1-esre állítják be. Az X regiszterben 1-esre állított bitek számát mindenkor megkaphatjuk a g #B gombokkal. A bitenként végzett logikai műveleteket az f NOT, f OR, f AND, ill. az f XOR gombokkal érhetjük el.

Lebegőpontos üzemmódra az f FLOAT és a kívánt tizedesjegyek számának megfelelő számbillentyű lenyomásával válthatunk. Exponenciális kijelzés az f FLOAT . lenyomásával kérhető. Csak ebben az üzemmódban használható a tizedespont, illetve az exponens beírása (f EEX). A lebegőpontos ábrázolásra való váltáskor az X és az Y regiszterből előáll az X regiszter új tartalma, mely az y × 2x képletnek megfelelően számítódik ki. Például a 2 ENTER 3 f FLOAT 2 hatására a kijelzés 16.00 lesz.

A gép programozása

Programozási üzemmódba és vissza a g P/R gombsorozattal kapcsolhatunk át. Programozási üzemmódban a kijelző jobb alsó sarkában megjelenik a PRGM jelzés. A kijelzés felépítése hasonló a többi HP géphez: az első háromjegyű szám az aktuális programmutatót, a jobb oldali szám(ok) pedig az adott helyen tárolt utasításkódo(ka)t mutatják. A kódok itt is azt mondják meg, hogy a programozott billentyű hányadik sorban (tizes helyiérték), illetve hányadik oszlopban (egyes helyiérték) van. A gép maximális kapacitása 203 bájt, melyet automatikusan oszt fel programterületre és adatterületre, 7 bájtos egységenként. Az alapállapot a program törlésével áll vissza (0 lépés és 203 bájtnyi adatregiszter).

Az adatregiszterek hosszát a beállított szóhossz határozza meg, de mindig a 4 többszöröse. A tárfelosztás bármikor megtekinthető az f MEM gombok nyomva tartása mellett: a P melletti szám azt mondja meg, hogy hány programlépés van még hátra a következő 7 bájtos tárfoglalásig; az r utáni szám pedig az éppen elérhető adatregiszterek számát adja meg.

Az adatregiszterek közül csak az első 32 érhető el közvetlenül, mégpedig: a 0-9-ig terjedőek a 0..9 billentyűkkel, a 10-15 közöttiek az A..F billentyűkkel, a 16-25 közöttiek a . és a 0..9 billentyűkkel, valamint a 26-31 közöttiek a . és az A..F billentyűkkel, nyilván valamelyik adatregiszter-billentyű lenyomása után. Az esetleges további adatregiszterek csak indirekt módon, az I regiszteren keresztül megcímezve érhetők el: ilyenkor az I regiszterben (melybe számot írni a STO I, onnan kiolvasni az RCL I, illetve az x regiszterrel tartalmát kicserélni az f X<>I gombokkal lehet) lévő számnak megfelelő adatregiszter érhető el az (i) jelű utasításokkal, például az I regiszterben tárolt 16-os számrendszerbeli 48-as szám után az RCL (i) gombsorozat a 72. számú adatregisztert hívja elő.

A program szerkesztése egyszerű, és azonos a többi HP gépnél megszokottal: az SST egy lépéssel előre, a g BST egy lépéssel vissza állítja a programmutatót. Tetszőleges pozícióra a GTO . és a sorszám megadásával ugorhatunk. Lépés törléséhez a BSP gomb használható, ilyenkor a rákövetkező utasítások automatikusan egy pozícióval előrébb lépnek, illetve hasonló módon egy pozícióval hátrébb, amikor új utasításokat programozunk.

A programban 16 címke helyezhető el, az LBL és a címkének választott billentyű (0..9, A..F) lenyomásával. Ezekre a pozíciókra a GTO és a címke billentyűjének programozásával (lenyomásával) ugorhatunk. Alprogramokra ugrást hasonló módon, a GSB billentyűvel tudunk kérni, ilyenkor az RTN utasítás a vezérlést a hívás utáni programlépésre adja vissza, egyébként az RTN utasítás szolgál a főprogram végének megjelölésére. Lehetőség van indirekt ugrás végrehajtására is, amikoris az I regiszterben található számú címkére történik az ugrás: programozása GTO I, ill. GSB I.

Feltételes elágazások készítéséhez tizenkétféle feltételvizsgáló utasítás helyezhető el a programban, ezek közül négy az X és az Y regisztert hasonlítja össze, négy az X és a 0 szám viszonyát vizsgálja, illetve a jelzők beállított értékét (g F?), vagy az X regiszter adott számú bitjének 1-es értékét (g B?) vizsgálják. Az ilyen utasítások végrehajtása a következő: ha a feltétel igaz, a program futása a szokott módon folytatódik, ha hamis, akkor viszont a rákövetkező utasítást nem hajtja végre (átugorja).
Ciklusszervező utasításból itt kétféle használható: a megszokott (g DSZ) az I regiszter értékét csökkenti, majd ha az I regiszter értéke 0 lett, kihagyja a rákövetkező utasítást. Ezen felül a DSZ utasításnak létezik a g ISZ billentyűzéssel elérhető párja, mely az I regiszter értékét növelve végzi el ugyanazt a feltételvizsgálatot.

A program indítása történhet az aktuális pozíciótól az R/S billentyű lenyomásával, illetve adott címkétől a GSB és az A..F billentyű lenyomásával. A program futása bármely billentyű lenyomásával megszakítható. A programba elhelyezett R/S utasítás a program futását megállítja.

Példaprogram

Álljon itt egy példa a Sharp PC-1500 (PC-1500A, PC-1600, illetve a Híradástechnika PTA-4000, PTA-4000+16) zsebszámítógép LH5801 jelű processzorának átviteles összeadás utasításának szimulációjával:
LépésszámBillentyűzésUtasításkód(ok)
1g LBL A43,22,A
2g CLx43,35
3g F? 443,6,4
411
5STO . 144,.1
6RCL (i)45,31
7ENTER36
8RCL 045
9ENTER36
10RCL . 245,.2
11f SR42,B
12f WSIZE42,44
13+40
14g CF 243,5,2
15g F? 443,6,4
16g SF 243,4,2
17+40
18g F? 443,6,4
19g SF 243,4,2
20RCL . 245,.2
21f WSIZE42,44
22f SET COMPL 2'S42,2
23RCL (i)45,31
24ENTER36
25RCL 045
26ENTER36
27RCL . 145,.1
28+40
29g CF 143,5,1
30g F? 543,6,5
31g SF 143,4,1
32g CF 043,5,0
33g F? 443,6,4
34g SF 043,4,0
35+40
36g F? 543,6,5
37g SF 143,4,1
38g F? 443,6,4
39g SF 043,4,0
40g CF 443,5,4
41g F? 043,6,0
42g SF 443,4,4
43f SET COMPL UNSGN42,3
44g CF 143,5,1
45g x=043,4
46g SF 143,4,1
47STO 044
48g RTN43,21
A program beírása g P/R módban történik, a futtatáshoz szintén ezzel a billentyűsorozattal kell kilépni a programozási üzemmódból. A 0. adatregiszter az LH5801 CPU A (akkumulátor) regiszterét jelképezi. A többi adatregiszter (1-9.) szabadon felhasználható, 8 bites regisztert jelképez. Az LH5801 CPU jelzői a következők: C (átvitel), megegyezik a HP 16C C jelzőjével; H (BCD átvitel), a HP 16C-n a 2. jelző; V (túlcsordulás), a HP 16C-n az 1. jelző; Z (zérus), a HP 16C-n a 0. jelző. Az f STATUS nyomva tartása mellett megjelenő 0-08-1HVZ kijelzés mutatja az LH5801 jelzőit.

Az LH5801 CPU-nak megfelelően be kell állítani a 8 bites szóhosszt és az előjelnélküli számábrázolást:

8 STO . 2
f WSIZE
f SET COMPL UNSGN
Az összeadáshoz szükséges regiszter sorszámát az I indexregiszterbe kell elhelyezni.

Példa:

127 + 15, átvitel nincs

127 STO 0
15 STO 1
1 STO I
g CF 3
A program indítása:
GSB A
Hasonlók a gyűjteményben
HP
HP-35 (2)
1972-75
HP
HP-65
1974-77
Texas Instruments
TI Programmer
1977-82
Design & HTML: Modulit Bt.
(C) www.arithmomuseum.com 2004-2017.