JPS6032226B2 - オ−バ−フロ−検出方式 - Google Patents

オ−バ−フロ−検出方式

Info

Publication number
JPS6032226B2
JPS6032226B2 JP52124844A JP12484477A JPS6032226B2 JP S6032226 B2 JPS6032226 B2 JP S6032226B2 JP 52124844 A JP52124844 A JP 52124844A JP 12484477 A JP12484477 A JP 12484477A JP S6032226 B2 JPS6032226 B2 JP S6032226B2
Authority
JP
Japan
Prior art keywords
key
stack level
stack
data
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP52124844A
Other languages
English (en)
Other versions
JPS5457930A (en
Inventor
知洋 清水
義信 村永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KASHIO KEISANKI KK
Original Assignee
KASHIO KEISANKI KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KASHIO KEISANKI KK filed Critical KASHIO KEISANKI KK
Priority to JP52124844A priority Critical patent/JPS6032226B2/ja
Publication of JPS5457930A publication Critical patent/JPS5457930A/ja
Publication of JPS6032226B2 publication Critical patent/JPS6032226B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Calculators And Similar Devices (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 本発明は、通常の四則算に加えて少なくとも括弧計算機
能を備えた小型電子計算機に係り、特に、順次入力され
るデータを一時的に待避させるスタックレジスタがオー
バーフローする際のオーバーフロー検出方式の改良に関
する。
従来、数学的な括弧計算をその数式通りのキー操作によ
り日項次演算を実行処理し得る、いわゆる括弧計算機能
を有する計算機が実用化されている。
この種計算機にあっては、数式通りにキー操作をするに
もかかわらず、数学的に定められた計算順位に従がつて
演算処理を施す為、その演算を行うまでにそれに係る数
値データ並びにファンクションデータを一時的に待避さ
せる記憶装置(以後スタックメモリと称す)が設けられ
ている。このスタツクメモリは次のような制御でもつて
順次データを一時的記憶する。例えば、123十4×5
(4・・・・・・の数式演算を行なおうとする際、虹図
図田園図図町圏・・…・の如くキー操作がなされるが、
田、図、皿等のファンクションキーが操作される毎に、
その記憶領域の番地アドレス(以後スタックレベルと称
す)を例えば十1ずつ更新し、そのスタックレベルの示
すスタック領域に例えば「123」、「×4」の如く数
値データ及びファンクションデータを一時的に記憶する
又、例えば閉括弧キー皿や、以前に操作されたファンク
ションキーよりも演算順位の低いファンクションキーが
操作された場合のように、それまでの入力データのうち
のある部分の演算を実行可能なキーが操作されると、計
算機はスタツクメモリーのスタツクレベルを逆に−1ず
つ更新しながらそのスタック領域のデータを読み出し、
そのファンクションデータに従がつた演算を実行する。
しかるに、一般的小型電子式計算機にあっては、なるべ
く装置自体を小型化にする意味で上記スタックメモリー
の記憶容量もその機能に応じた最大容量、即ち、最大ス
タックレベルを設定し、この最大スタックレベルを越え
てデータが入力された際は、スタックレベルのオーバー
フロー状態を検出し、その旨を表示手段で報知すると共
に演算続行不可能状態となる。この為、操作者は、上記
オーバーフローを例えばクリヤーキー等を操作して解除
し、以後、スタックレベルを−1させて適当な計算処理
を実行している。このようにスタックメモリが演算制御
される上記括弧計算に於いて、開括弧キー町を操作する
直前の乗算キー図を省略できるようにすれば、数式……
9×(2……”のような計算を行う場合は、乗算キー図
の操作を省略し、暦数キー図の次に直ちに開括弧キー町
を操作すればよく、キー操作が簡略化され得る。
一方、計算機の内部処理としては上記のように乗算キー
図の操作を省略して開括弧キー町を操作した際にも、従
来通りに乗算キー図を操作し、続いて開括弧キー町を操
作したと同様にスタックレベルをアップし、そのスタツ
クレベルの対応する所にファンクションデータおよび数
値データを記憶するように処理しなければならない。従
って、このような場合、スタツクレベルは十2レベルア
ップされる。即ち、上記の如く数値キー図に続き直ちに
開括弧キー虹を操作した際には、まず、開括弧キー虹操
作前のスタックレベルに対し、レベルを十1アップし、
そのレベルの示すスタック領域に乗算のファンクション
データと数値9が記憶され、次にスタックレベルが更に
十1レベルアップされ、そのスタック領域に「〔」デー
タが記憶される。しかるに、スタックレベルが最大スタ
ックレベルよりも1つ少ない時に、上記図キー省略後に
mキーを操作すれば、まずスタツクレベルが十1レベル
アップされ、最大スタツクレベルに「×9」が記憶され
、次にスタックレベルが十1レベルアップされた時にオ
ーバーフローが検出される。
この時、操作者は所定キーによってオーバーフローを解
除し、以後スタックレベルを−1ごせて適当な計算処理
を続行するものであるが、以後計算を続行する場合には
、新たに演算数を層数して、上記最大スタックレベル「
×9」を被演算数として乗算を実行した後でなければ以
後の計算を続行することはできない。しかるに操作者は
実際には図キーを操作していないために、最大スタック
レベルに「×9」の如く乗算フラグ“×”が記憶されて
いることを知ることは非常に困難である。この発明は上
記事情を考慮してなされたもので、その目的とするとこ
ろは、最大スタックレベルより所定次数低いレベルのス
タツクレベルを規定しておくとともに、この次数の低い
スタックレベルを利用して、上述したような乗算キーの
省略操作時に発生するスタツクレベルのオーバーフロー
信号の発生を事前に検出してこの時点に於いてもオーバ
ーフロー信号を発生させるようにし、これにより乗算キ
ーのフラグも、この乗算キーの操作前に入力された数値
データも対応する記憶領域に入力させないようにし、計
算の操作が分かりやすく、したがって計算が容易に実行
できるようにした。
小型電子式計算機のスタックレベルオーバーフロー検出
方式を提供することである。以下、図面を参照してこの
発明の−実施例を説明する。
第1図は同例の小型電子式計算機の全体の回路構成図で
ある。図中、1はROM(リード・オンリ・メモリ)で
、このROMIには、この計算機の各種動作を実行させ
るマイクロ命令が記憶されており、ROMアドレス部2
から出力されるアドレス信号に対応して、各種マイクロ
命令を出力する。
1つのマイクロ命令は、S止Fu,SL,FL,Co,
OP,Naより成り、それぞれ所定の2進化コードが固
定的に組み込まれており、各2進化コードは同時に並列
データとして出力される。
Su、Fuは後述するRAM(ランダム・アクセス・メ
モリ)3の行アドレスを指定するもので、Suはゲート
回路○,を介して、またFuはゲート回路G2を介して
RAM3の端子UAへ入力される。ゲート回路G,は、
図示しないタイミング信号発生回路から周期的に出力さ
れるタイミング信号t,の出力時に開かれ、一方、ゲー
ト回路G2には、タイミング信号t,がインバータ回路
4を介して与えられているため、タイミング信号t,の
出力時以外で開かれる。尚、上記タイミング信号発生回
路より出力されるタイミング信号を第2図に示す。タイ
ミング信号L,t2,t3は、クロツクパルス01、0
2 に同期して順次周期的に出力される。そしてタイミ
ング信号ら〜t3の1サイクル毎にクロツクパルスJo
=ら・J,が出力される。上記マイクロ命令のうち、S
L,FLは上記RAM3の端子LA、又はスタックRA
M5の端子LSへ入力され、各々列アドレスを指定する
ものであり、通常SLは上記Suで指定される行アドレ
スと、またFLは上許Fuで指定される行アドレスと対
を成している。そしてSLは、タイミング信号ねの出力
時に開かれるゲート回路G3を介してRAM3へ入力さ
れ、FLは、タイミング信号tbの出力時に開かれるゲ
ート回路○4を介してRAM3へ入力される。上記タイ
ミング信号ta及び功は通常論理式ta=M・ST十M
・t,、功=M・t,により得られる信号である。信号
M及びSTの詳細については後述するが、信号Mは、1
マイクロ命令が1デイジット期間で終了する命令の時に
、このマイクロ命令の出力期間(1デイジット期間)“
1”を出力する。信号STは各マイクロ命令の最初の1
ディジット期間“1”を出力する。従がつて、M=1の
場合は、ta=t,、tb=ら=t2+らとなり、タイ
ミング信号t,の出力期間のRAM3のアドレスは、行
アドレスSu及び列アドレスSLによって指定され、タ
イミング信号ら〜t3出力期間のRAM3のアドレスは
、行アドレスFu及び列アドレスFLによって指定され
る。1マイクロ命令が複数ディジット期間を要する場合
はM=0であり、この時、ね=ST、tb=“0”とな
る。
即ち、最初の1デイジツト期間はSLがゲート回路G3
を介して出力され、RAM3の列アドレスとなる。更に
このSLの値は、クロックパルス中d=?o・Mに同期
してカウント動作するカウンタ6に入力される。このカ
ウンタ6は後述するDN信号の有無により、ダウン又は
アップのカウント動作が行なわれる。上記複数ディジツ
トより成るマイクロ命令の2ディジット目からは、タイ
ミング信号に=M・ST出力時に開くゲート回路○5を
介して、上記カウンタ6の値がRAM3の端子LAへ入
力され、これがRAM3の列アドレスとなる。同時に、
上記カウンタ6の値はゲート回路G5を介して再びカウ
ンタ6へフイドバツクされてダウン又はアップカウント
されると共に一致回路7の一方へ入力される。上記複数
ディジットより成るマイクロ命令では、ゲート回路○4
は閉じており、ROMIより出力されるFLは上記一致
回路7の他方へ入力される。カウンタ6の値がFLと等
しくなると、上記−致回路7より一致信号が出力され、
後述する如く、この複数ディジットより成るマイクロ命
令を終了する。即ち、複数ディジットより成るマイクロ
命令では、Su又はFuで指定されるRAM3内の記憶
領域(以下、レジスタと呼称する)の処理開始桁はSL
によって指定され、処理終了桁はFLによって指定され
る。尚、マイクロ命令が、RAM3のレジスタの左シフ
ト又は右シフトのシフト命令の時は、上記各タイミング
信号は、ね=L、tb=“0”、広=t.・STとなる
。また、上記マイクロ命令のうちCoは2進化コードを
出力するもので、この値は信号CIの出力時に開かれる
ゲート回路G6を介して、演算回路8の端子Sへデータ
として入力される。また、上記マイクロ命令のうち○p
は、加算、減算、左シフト、右シフト、転送、判断、表
示及びサンプリング等の命令コードを出力するもので、
この命令コードはオペレーションデコーダ9では上記命
令コード0pを解読して、信号CI,OF,OS,ID
,KE,SI,S○,SB,DN,M等を出力すると共
に、表示及びキーサンプリング命令0p,及びスタック
RAM入出力命令○p2、左シフト又は右シフトのシフ
ト命令○p3等を出力する。信号OFはゲート回路○9
の制御信号であり、この信号OFが“1”のとき、ゲー
ト回路G9が開かれる。信号CI,OF,OS,m,K
E,SIはそれぞれゲート回路G6,G9,G,o,G
,.,○,3,G,4の制御信号であり、これら信号が
“1”のとき、対応するゲート回路が開かれる。また信
号SOはゲート回路G.2およびG,5の制御信号であ
り、ゲート回路○,5には直接入力され、またゲート回
路G,2にはインバータ10を介して入力される。この
ため、たとえば信号SOが“1”のときには、ゲート回
路G,5が開き、ゲート回路G.2が閉じている。信号
SBは減算命令を表わし、この信号SBが演算回路8に
入力されると、演算回路8は減算動作を実行する。信号
DNは上述したようにカウンタ6に送られてダウンカウ
ント動作を行わせる信号である。信号OP,,OP2,
OP3は上記タイミング信号t,,ら,t3、クロツク
パルス○,とともにタイミングデコーダー川こ入力され
ている。タイミングデコーダ1川ま上記信号を受けて、
タイミング信号は,tb,tc読み込みクロック◇a,
?b,ぐc’めd、更に読出し、書込み信号R/W1,
R/W2をそれぞれ出力する。信号R/W1,R/W2
はそれぞれRAM3、スタツクRAM5の読み出し/書
き込みの信号である。また、読込みクロツクJa,Jb
,ぐc,?dを論理式に表わすと、○a=CD・〇P.
、?b=t2・〇.・〇P,、○C=ら・0.・〇P2
、〇d=○。・M・〇p3十〇.・0p3である。謙込
みクロツクJa、Jb、?cはそれぞれバッファ12、
バッファ13、バッファー4に入力されている。上記信
号Mは、ィンバータ15に入力されて信号Mに反転され
たのち、一致回路7にイネーブル信号として入力されて
いる。更に信号Mは、オア回路16を介してD型フリッ
プフロツプ17に入力されているとともに、ァンド回路
18にも入力される。上記一致回路7から出力される一
致信号は、オア回路16を介してD型フリツプフロツプ
17に入力されると共にアンド回路19にも入力されて
いる。信号Mまたは一致回路7の一致信号を入力信号と
するフリツプフロップ17の出力は、信号STと称され
、タイミングデコーダー01こ入力される。フリツプフ
ロップ17にはクロツクパルスJoが与えられているた
め、上記信号STは、各マイクロ命令の最初の1ディジ
ツト期間出力される信号となる。アンド回路18,19
には信号0oが入力され、両アンド回路18,19の出
力はオア回路20を介して信号0eとして出力される。
この信号◇eは、アドレス部レジスタ21の議込みクロ
ツクとなる。マイクロ命令のうちNaは、ROMIの現
在実行中のマイクロ命令の次のステップのマイクロ命令
のアドレスを指定する信号であり、アドレス部レジスタ
21に入力されている。
またアドレス部レジスタ21には、データの読出しクロ
ックとしてク0ツクパルス?2が入力されている。この
結果、アドレス部レジスタ21は、議込みクロック?e
に同期して信号Naを謙込み、またクロツクパルスぐ2
の出力時に次のステップのアドレスNaを与えるデータ
をROMアドレス部2に出力するようになっている。次
にこれらマイクロ命令によって制御されるRAM3、ス
タツクRAM5、演算回路8等の構成につき説明する。
RAM3は上述したように、端子UAに入力される行ア
ドレスS↓Fu,及び端子LAに入力される列アドレス
SL,Fしによりアドレスを指定され、且つ議出し/書
込み信号R/WI=“0”のとき、指定された桁内のデ
ータが出力端子OUTから4ビットの並列データとして
謙出され、またR/WI=“1”のとき指定された桁内
にデータが入力端子INから書込まれる。第3図には、
上詐取AM3の各レジスタの記憶領域を示す。
列アドレス0〜11の時に、行アドレス1,2,3で指
定される領域をそれぞれXレジスタ、Yレジス夕、Zレ
ジスタと称する。各レジスタの列アドレス0〜9(1〜
10行)は、バリュータイムと称され、それぞれ記号X
v,Yv,Zvにより表わされる。領域×vには演算時
の被演算数が入力され、また領域Yvには演算数が入力
される。また領域Zvには表示用データおよび演算途中
のデータが入力される。Xレジスタの12行目の領域X
Eは括弧フラグ記憶領域に使用され、この領域×Eの内
容が「0」のときは演算実行後の状態を表わし、「1」
のときは開括弧キー血の操作後の状態を表わし、更に「
2」のときは暦数後の状態を表わす。Xレジスタの11
桁目の領域XFは今回キー入力操作されたファンクショ
ンキー田、白、図、白等のフラグが入力される。Yレジ
スタの12行目の領域YLはしベル検出フラグの記憶用
に使用される。後で詳細に述べるように、この発明では
最大スタックレベルは「5」に規定されており、また前
述したように、乗算キーを省略した括弧計算の実行中に
最大スタックレベルより低次のスタツクレベルに於いて
スタツクレベルオーバーフロー状態を検出するための低
次のスタックレベルとして、スタックレベル「4」が規
定されている。そして、乗算キーが省略されて開括弧キ
ー町が操作された際には、上記領域YLにデータ「1」
が書込まれ、またこれ以外のキー操作では、領域YLに
はデータ「0」が設定されている。Yレジスタの11桁
目の領域YFには、前回にキー入力操作された上記各種
ファンクションキ−のフラグが書込まれる。Zレジスタ
の11桁目の領域ZMはスタックレベルポィン夕の記憶
用に使用され、スタックレベル「0」〜「5」に応じて
データ「0」〜「5」が書込まれる。通常、RAM3の
読み出し/書き込みを指定する信号R/WIは、タイミ
ング信号t,〜t2出力時に読み出し(R/WI=‘‘
0’’)に指定され、タイミング信号ら出力時に書き込
み(R/WI=“1”)に指定される。ゲート回路○,
,G3はタイミング信号t,に同期がとられているため
、Su,SLにより指定されるRAM3内のデータがタ
イミング信号ちの出力時に出力端子OUTから読出され
、タイミング信号ち・0,で開かれるゲート回路G8を
介してラッチ22に記憶される。また、ゲート回路G2
、○4は通常タイミング信号t,(すなわち、タイミン
グ信号ら,t3)により同期がとられているため、Fu
,Fしにより指定されるRAM3内のデータがタイミン
グ信号t2の出力時に読出され、タイミング信号ら・で
,で開かれるゲート回路G7を介してラッチ23に記憶
される。ラツチ22およびラッチ23に記憶されている
データはそれぞれ、信号OS、信号OFの出力時に演算
回路8の端子S及びFへ送られて加算(減算指定信号S
B=‘‘0’?)または減算(減算指定信号SB=“1
’’)が実行される。演算回路8の演算結果は端子○よ
り出力され、信号SOが“1”の場合、ゲート回路○,
2を介して入力端子IN‘こ与えられて、タイミング信
号t3の出力時に、Fu,FLにて指定されるRAM3
内に書き込まれる。また、演算回路8の演算結果のデー
タは、端子Dよりオア回路24を介してアンド回路25
の一方入力され、また端子Cより出力されるキヤリーま
たはボローはアンド回路26の一方に入力される。この
アンド回路25,26の他方にはオペレーションデコー
ダ9から出力される信号Juが入力されている。この信
号Juは判断命令の時に出力され、このときアドレス部
レジスタ21では、Naの内容と両アンド回路25,2
6の出力デ−夕とのオア加算が実行され、ROMIの次
のステップを示すデータが算出されてROMアドレス部
2に送られるようになされている。
演算回路8は、ROMIの2進化コードCoによるデー
タを端子Sに、ラツチ23の出力データを端子Fに入力
されて演算を実行する場合もあり、このときの処理は上
述したことと同様である。第4図にスタックRAM5の
各レジス夕の記憶領域を示す。
即ち、列アドレスが0〜11の時に行アドレスー,2,
3,4,5で指定される領域をそれぞれレジスタM.,
M2,M3,M4,M5と称する。上記しジスタM,〜
M5に対する行アドレスは、上記RAM3内のZレジス
タの領域ZMにより与えられる。たとえば領域ZMの値
が「3」のときには、この値がZレジスタから読み出さ
れ、ゲート回路C8、ラツチ22、ゲート回路G,oを
介してバッファ14へ与えられる。バッファ14では、
クロツクパルス0cに同期して「3」が読み込まれ、以
後バッファ14内の値「3」がスタックRAM5の端子
USへ入力され、行アドレスとなる。また各レジスタM
,〜M5の列アドレスは、SL,FLによってその開始
及び終了が指定されるカゥンタ6の値が端子はへ入力さ
れて指定される。また、スタツクRAM5には、そのデ
ータの読み出し又は書き込みを指定する信号R/W2が
与えられている。R/W2=“0”の時、上記の如くア
ドレス指定されたスタツクRAM5内のデータが端子D
Tから読み出されて、ゲート回路G,5を介してRAM
3の入力端子INに与えられる。R/W2=“1”の時
は、RAM3の出力端子OUTより出力されたデータが
、ゲート回路G7及びラッチ23、ゲート回路G9、ケ
ー−ト回路G,4を介して端子DTへ与えられる時に、
このデータを上記の如くアドレス指定されたスタックR
AM5へ書き込む。スタックRAM5の各レジスタM,
〜舷の1〜10桁目の領域はそれぞれM,v,M2v,
M3v,Mv,鳩vと称され、RAM3のXレジスタの
領域Xv内の数値データが転送されて書込まれ・る。各
レジスタM,〜地の11桁目はそれぞれ領域M,F,M
2F,M細 MF,地Fと称され、これらの領域M,F
〜M5Fが属するレジス夕M,〜M5の上記領域M,v
〜M5vに書込まれている数値データのファンクション
のフラグが、数値データとともに転送されて書込まれる
。更に、各レジスタM,〜M5の12行目はそれぞれ、
領域M,c,M2c,M3c,M4c,鳩cと称され、
開括弧キー町が操作された際にデータ“1”が書込まれ
る。また、上記RAM3内の記憶領域の1桁分(カウン
ト桁)が、表示及びキーサンプリング時に、演算ゲート
回路8を介してカウントアップされる。このカウント桁
のカウント値は、ゲート回路8及びラッチ22、ゲート
回路G,oを介してバッファ13へ与えられる。バッフ
ァ13ではクロツクパルスマbに同期してカウント桁の
値を読み込む。このバッファ13に読み込まれた値は、
デコーダ27を介して表示部28の桁信号として、また
入力部29のキーサンンプリングパルスとして出力され
る。また、RAM3内のレジスタは表示用レジスタとし
て利用される。データを表示する場合は、まずカウント
桁の値が端子OUTより読み出され、この値がゲート回
路G8及びラツチ22、ゲート回路G,.を介してRA
M3の端子LAへ入力され、これがRAM3の列アドレ
スとなる。この時、行アドレスはZレジスタを指定して
おり、このためカウント桁の値に対応するZレジスタの
所定桁のデータが端子OUTから読み出され、このデー
タはゲート回路G?及びラッチ23、ゲート回路○9を
介してバッファ12へ与えられる。バッファ12は与え
られたデータをクロックパルスaに同期して読込み、更
にデコーダ30を介して表示部28へ送られる。上述し
たように、表示部28にはデコーダ27から対応する桁
信号が送られてきているので、この結果、表示部28の
桁のうち、カウント桁の内容により示される桁に、Zレ
ジスタの同一桁の内容が表示される。また、キー入力部
29は、上記キーサンプリング信号が供給されるライン
と、バッファ11へ出力されるキーコモンラィンがマト
リックス状に配列され、各ラインの交点にキーを有する
もので、キー操作によってバッファ11にキーコモンデ
ータが検出された時に、上記カウント桁のカウント動作
が停止され、この時のカウント値とバッファ11のデー
タによって操作キーが向であるか決定される。
層数キーであればそのキーに対応する数値データが表示
用レジスタ(Zレジスタ)へ入力され、ファンクション
キーであれば、その判断結果によりROMIのNaがア
ドレス部レジスタ21で変更され、所定の処理を行なう
ためのROMアドレスの先頭アドレスが指定される。本
発明は、キー入力操作中に乗算キー図が省略されて開き
括弧キーmが操作されると上記領域Yしに「1」を設定
し、且つそのときのスタツクレベルが「4」であるかど
うかを検出し、「4」であればオーバーフロー信号を発
生させて表示部I7の1桁目にオーバーフローコード“
B”を表示させ、他方スタツクレベルが「3」以下のと
きには、スタツクレベルを十「1」させて新たに得られ
たスタックレベルに対応するスタックRAM5内のレジ
スタM,〜地に転送させて、次のキー入力操作を続行さ
せるようにしたものである。
更に、上記のキー入力操作以外のキー入力操作時には、
数字キーの操作に続いてファンクションキーが操作され
るたびに、それまでの入力データ中に於いて演算の実行
可能なものがあるかどうかを判断し、まだ演算を開始で
きなければスタックレベルが「5」であるかどうかを判
断する。このとき、スタックレベルが「5」であれば、
上記のようなスタックレベルオーバーフロー信号を発生
させて同様な処理を実行し、またスタツクレベルが「4
」以下であれば、スタツクレベルを十「1」させて上記
のようなデータの処理が実行される。他方、それまでの
入力データ中に演算の実行可能なものがあれば、その演
算を実行し、且つスタックレベルを一「1」させ、次の
キー入力操作に備えるようにしたものである。上記のよ
うなキー入力操作時のデータの処理を実行可能にするた
め「第1図のROMIには必要とするマイクロ命令が組
込まれており、また、ROMアドレス部2、オペレーシ
ョンデコーダ9、タイミングデコーダ10、アドレス部
レジスタ21も上記マイクロ命令の内容に対応した構成
が具備されているが、その詳細な回路構成は省略する。
.次に第5図ないし第7図に示すこの発明の上記実
施例の動作フロー、及び第8図に示す各レジス夕×,Y
,Z,M,〜地の記憶状態図を参照して、上記実施例の
動作を説明する。
また、各レジスタX,Y,Z,M,〜M5の各内容は、
電源ON時に初期状態に設定されるものとする。以下の
説明では計算例として、8×〔7十5〔6十9〔を例に
説明する。
電源をON状態にすると、第5図の処理aで示す表示及
びキーサンプリングが前述した如く行なわれる。
この時、暦数キー図が操作されると、表示及びキーサン
プリング動作は停止し、処理bへ進む。この処理bでは
、データ「8」がRAM3のXレジスタの領域Xv‘こ
入力される。この時、×レジスタの12行目(X8)の
内容は「0」であるが、次のステップCに入り、XEの
内容が「1」か否か、すなわち開き括弧囚後の層数キー
の操作であるか否かが判断される。この場合、マイクロ
命令のアドレスFu=1、FL=11によりRAM3内
の×Eの内容「0」が読出されて演算回路8に入力され
る。同時にマイクロ命令の2進化コードCoによる数値
データ「1」が演算回路8に入力される。また信号SB
が、信号CI,OF,JuR/WIとともにオペレーシ
ョンデコーダ9から出力され、演算回路8にて、データ
「0」と「1」との減算が実行される。この演算結果は
、両ァンドゲート25,26に送られ、更にアドレス部
レジスタ21にて、オア加算が実行される。この場合、
XEの内容は「1」に等しくないので、ステップdに進
むためのアドレスデータがアドレス部レジスタ21から
ROMアドレス部2に出力され、ステップdに入る。こ
のステップdでは2進化コードCoより数値データ「2
」が演算回路8を介してRAM3の入力端子INへ入力
され、タイミング信号上3の期間に、Fu=1、FL=
11で示されるRAM3内のX8へ書き込まれる。この
X8=2は暦数後の状態を表わす。次いでステップeに
入り、Xvの内容「8」がZレジスタの領域Zvに転送
される。この転送のためのマイクロ命令は、Su=1、
Fu:3、SL=0、FL=10及び信号OS、S○、
Mを出力する○pである。即ち、タイミング信号t,の
出力時に読み出されたXレジスタの1桁目のデータは、
ラツチ22、ゲート回路○,o、演算回路8を介して、
RAM3の入力端子INに与えられる。このデータは、
タイミング信号らの出力時にRAM3のZレジスタの1
桁目に書き込まれる。以下2桁目〜11桁目までは、カ
ウンタ6の値が列アドレスとなって、順次転送される。
転送後、処理aに進みZレジスタのZv内のデータ「8
」が表示される。この時の各レジスタの状態を第8図に
示す。次に乗算キー図が操作されると、ステップfに入
りCoより出力されたキー図に対応するフラグが領域X
Fに書き込まれる。次いで処理gに入り、これまで入力
されたファンクションフラグによって演算の実行が可能
か否かの判断が行なわれる。もし演算が可能であれば、
処理uで、スタックRAM5内のデータが読み出され、
同時にZMの値が−1される。この後、処理vで所定の
演算が行なわれた後、再び処理gにもどる。この場合、
ファンクションフラグは“×”だけであるから演算はで
きず、次の処理hに入る。この処理hの詳細は第6図に
示される。この処理hでは、先ずステップh,に入り、
×Eの内容が「1」か否か、即ち、開き括弧キー町の操
作後か否かが判断される。いま×Eの内容は「2」であ
るから、演算回路8にて上述したような判断動作が、デ
ータ「2」と「1」(このデータ「1」はC。より与え
られる)とを利用して実行され、次のステップh2に入
る。このステップh2では、領域YLの内容が「1」で
あるか(即ち、乗算キーを省略した開括弧キーの操作後
の状態であり、したがってスタックレベル「4」にてオ
ーバーフローを検出する状態であるか)杏かの判断が実
行される。YLの内容は「0」であるから、ステップh
3に入り、領域ZNの内容(現在のスタックレベルを表
わすスタックレベルポィン夕)が最大スタツクレベル「
5」に等しいか否かが判断される。現在のスタツクレベ
ルは「0」であるからZMの内容は「0」であり、次に
ステップh4に入り、スタツクレベルが十「1」されて
ZMが「1」となる。そしてステップkに入り、×vの
内容「8」が領域ZMの内容により表わされるスタツク
RAM5内のレジスタ、すなわち、レジスタM,の領域
M,vに書込まれる。次いでステップiで、前記ステッ
プQと同様な動作が行なわれた後にステップiに入り、
XFの内容「×」が領域YFに転送される。次いでステ
ップkに入り、領域X8に「OJが書込まれ、クリアさ
れる。またステツプーに入り、これまでの入力データの
状態から領域YLに「0」が書込まれ、スタツクレベル
が最大値「5」のときにオーバーフローを検出できるよ
うになされる。次いでステップeに入り、Xvの内容「
8」がZvに転送されるから、数値データ「8」が表示
されたまま保持されている。この時の各レジスタの状態
は第8図に示す。次に開き括弧キー血を操作すると、ス
テップmに入り、XEの内容が「2」か、即ち、層数直
後か否かが判断される。いまXEは「0」であるから処
理nに入る。この処理nの詳細は第7図に示される。先
ずステップn,にてXvの内容がクリアされて「0」と
なり、次いでステップ仏に入る。このステップ山ではZ
Mの内容が「5」か否か、即ち、現在のスタックレベル
が最大レベルにあるか否かが判断される。ZMはいま「
1」であるから、ステップ〜に入り、ZMの内容が十「
1」されて「2」となり、次にステップ山に入り、×v
の内容「0」がレジスタ地vに転送される。次にステッ
プ川こよりXEに「1」が書込まれ、ステップpでこの
XBのデータ「1」が更にM丈に入力される。またステ
ップ11こてYLの内容がクリアされ、ステップeでZ
レジス外こ転送された後、処理aで表示部28に「0」
が表示される。この時の各レジスタの状態を第8図に示
す。次に暦数キー岡を操作すると処理aを経てステップ
cに入る。
このときX8の内容が「1ハ良Pち、開き括弧キーの操
作後であるから、直ちにステップeにジャンプし、Xv
に入力されたデータ「7」がzVに転送され、処理aで
表示される。次に加算キー田を操作すると、ステップf
にてXFにキー田のフラグがセットされる。また処理g
にて非演算状態が判別され、処理hに入る。この処理h
のステップh,ではXEの内容「1」であるから、ステ
ップh5にジャンプし、Xvの内容「7」がM2vに転
送される。即ち、虹キー後のファンクションキーではス
タツクレベルはアップされない。次いでステップiに入
り、YLは「0」であるからステップjにてXFの内容
「×」がYFに転送され、次のステップk,1にてXB
、YLの内容がともにクリアされる。またステップeに
より、データがZレジスタに転送された後に、処理aで
データ「7」が表示されている。この時の各レジスタの
状態を第8図に示す。次に数字キー回を操作すると、ス
テップb,c,d,eをそれぞれ経、XEの内容が「2
」に変化し、またXvに入力されたデータ「5」がZv
に転送されて表示される。
このとき、スタックレベルは「2」のまま変化しない。
この時の各レジスタの状態を第8図に示す。次に乗算キ
ー図を省略して開き括弧キー皿を操作すると、ステップ
mに入る。
このとき、XEの内容が「2」、則ち瞳数直後の開き括
弧キーの操作であるから、ステップqに入り、この状態
を示すフラグ「1」を書込む。次いでステップrにて操
作されなかった乗算キー図のフラグ「×」がXFに書込
まれる。次いで処理gに入るが、まだ非演算状態である
から、次の処理hに入る。この時×Bが「2」であり、
またYLが「1」にセットされているから、ステップh
,、h2を経てステップh6に入る。即ち、このステッ
プ〜にて、乗算キーを省略して開き括弧キーを操作した
際に於ける、低次スタックレベル「4」でのオーバーフ
ロ−の検出動作が実行される。いまZMの内容(スタッ
クレベル)は「2」であるから、オーバーフロー状態で
はない。したがってステップh4に入り、ZMの内容が
十「1」されて「3」となり、更にステップh5にて×
vの内容「5」がM3vに転送される。次にステップi
に入り、YLが「1」にセットされているから、処理n
に入る。このときステップn,で×vがクリアされて「
0」になり、ステップn2に入ってZM(スタツクレベ
ル)が「5」か否か判断される。ZMがいま「3」であ
るから、ステップ比にてZNは更に十「1」されて「4
」となり、次いでステップ山にて×vの内容「0」がM
4vに転送され、M4vも「0」を書込まれる。またス
テップ0により先ずXEに「1」が書込まれ、ステップ
pでこのXEの内容「1」が池cに転送される。次いで
ステップーに入り、YLの内容がクリアされ、またステ
ップeにて×vの内容「0」がZvに転送されて「0」
となり、処理aでの表示は「0」のままである。このよ
うにして、乗算キー図を省略した開き括弧キー町の操作
によりスタックレベル(ZM)が十「2」されて「4」
となる。
この時の状態を第8図に示す。次に数字キー「6Jを操
作すると、このデータ「6」が処理bでXvに入力され
、またXEが「1」であるからステップcを経てステッ
プeに入ってXvの内容「6」がZvに転送され、処理
aでデ−夕「6」が表示される。次に加算キー田を操作
するとステップfでキー田のフラグがXFにセットされ
、処理gを経て処理hに入る。
この時、XEは「1」であるからステップh,からステ
ップh5に入り、×vの内容「6」がM4vに転送され
る。次いでステップiに入り、この時YLが「0」であ
るから、ステップj,k? 1,eの処理が実行される
。この結果、YFが「十ハ×Eが「0ハYしが「0」と
なり、またデータが「6」が表示され続ける。この時の
各レジスタの状態を第8図に示す。次に数字キー9」を
操作すると、処理bを経てステップc、d、eの各処理
が実行される。この結果、×Eが「2」となり、またX
vに入力されたデータ「9」がZvに転送され、データ
「9」が表示される。次にスタックレベルが「4」の時
点で再度、乗算キー図を省略した開括弧キー虹の操作が
実行されると、ステップmに入る。XE=「2」である
から、乗算キー省略後の開括弧キー皿の操作が判定され
てステップqに入り、YLに「1」が書込まれる。また
ステップrにてXFにフラグ「×Jが入力される。次い
で処理gに入るが、非演算状態であるから、処理hに入
る。このとき、XE=「2ハYL=「1」であるから、
ステップh,,h2を経てステップ仏に入る。この時点
にてスタックレベルのオーバーフロー状態が検出され、
ステップsに入り、YLの内容がクリアされて「0」と
なり、またステップtにてオーバーフローコード「B」
がZレジスタの1桁目(ZLso)に書込まれる。この
結果、表示部28の1桁目にオーバーフローコード「E
」が表示され、スタツクレベルがオーバーフローしたこ
とが計算機の使用者に示される。然しながらこの時点に
て、前回の数値データ「9」と今回発生したフラグ「×
」はしジスタ地に入力されず、Xレジスタに保持された
ままである。したがってこの時点でクリアキー8を操作
すると、オーバーフロー状態が解除され、Zvがクリア
され、Xvのデータ「9」がZvへ転送された後に×F
のフラグ「×」がクリアされる。したがって数値データ
「9」が表示部17に表示される。またスタックレベル
ZMはこの間変化せず「4」のままである。このため、
数字キー図の入力操作時点に状態が復帰したので、以後
、適当な計算の処理を実行すればよい。上記計算例以外
で、単にキー入力操作中にスタツクレベルが「5」とな
った場合、すなわち、ステップn2又はh3にてZM=
「5」が判定された場合、同様にしてステップs,tを
経、オーバーフロー状態が警告される。
この場合もクリアキーを操作してそのときのファンクシ
ョンキーの入力操作を訂正し、次いで適当な計算の処理
を実行すればよい。猶、上記実施例では、最大スタツク
レベルを「5」とし、それより低次のレベルでオーバー
フローを検出するためのスタツクレベルを「4」とした
が、勿論このレベルは任意のものを選択できる。
この発明は以上説明したように、括弧計算機能を備えて
いるとともに、ファンクションキー入力操作時にそのフ
ァンクションキーの種類に応じてスタックレベルを変化
させ、入力データを当該スタックレベルに対応する記憶
領域に記憶させ、且つ最大スタツクレベルの検出時にオ
ーバーフロー信号を発生するようにした小型電子式計算
機に於いて、上記最大スタックレベルより所定レベル低
い低次のスタックレベルを設定しておき、乗算キーのキ
ー入力操作を省略した括弧計算の実行時に当該スタック
レベルが上記低次の設定レベルに達した際にもオーバー
フロー信号を発生するようにしたものであるから、キー
入力操作時に於いては開括弧キー皿直前の乗算キー図の
キー操作を省略でき、キー操作上便利であると共に、乗
算キーを省略して開括弧キーが入力操作された際、その
スタックレベルのオーバーフロー状態が通常より所定レ
ベル低いレベル状態にて予め検出されるので、これより
その直前に入力した数値データと乗算キーフラグデータ
がスタツクレベルに対応する記憶領域に転送されず、ク
リアキーの操作によりその乗算キーフラグのみをクリア
してオーバーフロー状態を容易に解除でき、したがって
オーバーフロー解除後の計算処理が簡単、且つ容易とな
り、計算をはじめからやり直したりする必要もなくなる
利点がある。
【図面の簡単な説明】
図面はこの発明の一実施例を示し、第1図は同例の小型
電子式計算機の全体構成を示す回路図、第2図は同例の
基本動作を制御するタイミング信号、クロツクパルスの
波形図、第3図は同例のRAM3の構成図、第4図は同
例のスタックRAM5の構成図、第5図ないし第7図は
同例の動作状態図、第8図は同例の動作を説明する記憶
状態図である。 1・・・・・・ROM、3・・・・・・RAM、5・・
・・・・スタツクRAM、8・・・・・・演算回路、2
8・・・・・・表示部、29.・…・キー入力部。 第1図 第5図 第2図 第3図 第4図 第7図 第6図 第8図

Claims (1)

    【特許請求の範囲】
  1. 1 四則算キー及び開括弧キー等のフアンクシヨンキー
    操作時に、当該操作キーの種類によつてスタツクレベル
    をカウントアツプし、且つこのスタツクレベルで指定さ
    れた記憶領域にデータを記憶し、前記スタツクレベルが
    最大スタツクレベルを越えたか否かを検出する機能を有
    する括弧計算可能な小型電子計算機に於て、開括弧キー
    操作時に、当該キー操作直前に乗算キーが操作されたか
    否かを判別する判別手段と、該判別手段にて乗算キー省
    略が判別された際に、スタツクレベルを複数段階順次カ
    ウントアツプし、各々のスタツクレベルで指定された記
    憶領域にデータを順次記憶するスタツク制御手段と、前
    記複数段階に対応して所定値だけ低次のスタツクレベル
    を記憶する低次スタツクレベル記憶手段と、前記スタツ
    ク制御手段でスタツクレベルが順次カウントアツプされ
    る際に、このスタツクレベルと前記スタツクレベル記憶
    手段内の低次のスタツクレベルとを比較することによつ
    て、スタツクレベルが前記複数段階カウントアツプされ
    た時に最大スタツクレベルより大となることを予め検出
    する検出手段と、該検出手段によつて最大スタツクレベ
    ルを越えることが検出された際に、以後のスタツクレベ
    ルで指定される記憶領域にデータが記憶されるのを禁止
    する手段とを具備してなるオーバーフロー検出方式。
JP52124844A 1977-10-18 1977-10-18 オ−バ−フロ−検出方式 Expired JPS6032226B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52124844A JPS6032226B2 (ja) 1977-10-18 1977-10-18 オ−バ−フロ−検出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52124844A JPS6032226B2 (ja) 1977-10-18 1977-10-18 オ−バ−フロ−検出方式

Publications (2)

Publication Number Publication Date
JPS5457930A JPS5457930A (en) 1979-05-10
JPS6032226B2 true JPS6032226B2 (ja) 1985-07-26

Family

ID=14895485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52124844A Expired JPS6032226B2 (ja) 1977-10-18 1977-10-18 オ−バ−フロ−検出方式

Country Status (1)

Country Link
JP (1) JPS6032226B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56127264A (en) * 1980-03-10 1981-10-05 Nec Corp Electronic calculator

Also Published As

Publication number Publication date
JPS5457930A (en) 1979-05-10

Similar Documents

Publication Publication Date Title
US4179737A (en) Means and methods for providing greater speed and flexibility of microinstruction sequencing
US4038643A (en) Microprogramming control system
US4155120A (en) Apparatus and method for controlling microinstruction sequencing by selectively inhibiting microinstruction execution
US3161763A (en) Electronic digital computer with word field selection
US4047245A (en) Indirect memory addressing
US4020467A (en) Miniaturized key entry and translation circuitry arrangement for a data processing unit
US5247624A (en) Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out
JPH0447335B2 (ja)
GB2040082A (en) Multi-function electronic digital watch
JPS6032226B2 (ja) オ−バ−フロ−検出方式
SU679986A1 (ru) Электронна клавишна вычислительна машина
JPH0743649B2 (ja) 演算回路
GB1598978A (en) Electronic calculator with time counting function
SU1200294A1 (ru) Процессор
JPS6032227B2 (ja) 定数記憶制御方式
JPS6029130B2 (ja) 誤演算防止方式
JPS6227930Y2 (ja)
SU1633496A1 (ru) Устройство дл приведени кодов Фибоначчи к минимальной форме
JPS6032229B2 (ja) 小型電子式計算機におけるクリア制御方式
SU955059A1 (ru) Микропрограммное устройство управлени
JPS6044692B2 (ja) デ−タ入力方式
SU1327118A1 (ru) Вычислительное устройство
SU608159A1 (ru) Устройство микропрограммного управлени
JP3085690B2 (ja) 中央演算処理装置
JPH0666055B2 (ja) ヒストリメモリの制御方式