JP2716135B2 - 計算装置 - Google Patents

計算装置

Info

Publication number
JP2716135B2
JP2716135B2 JP62328277A JP32827787A JP2716135B2 JP 2716135 B2 JP2716135 B2 JP 2716135B2 JP 62328277 A JP62328277 A JP 62328277A JP 32827787 A JP32827787 A JP 32827787A JP 2716135 B2 JP2716135 B2 JP 2716135B2
Authority
JP
Japan
Prior art keywords
stack
data
key
function
display
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 - Lifetime
Application number
JP62328277A
Other languages
English (en)
Other versions
JPS63170722A (ja
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPS63170722A publication Critical patent/JPS63170722A/ja
Application granted granted Critical
Publication of JP2716135B2 publication Critical patent/JP2716135B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Calculators And Similar Devices (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は計算装置における誤り回復等に好適な構成関
する。 〔従来技術およびその問題点〕 過去においては通常は計算装置では最小限度の誤り訂
正しか利用できなかった。 誤り訂正の一例はヒューレット・パッカード社の41C
型計算装置に見られる。これにおいては表示の直前の値
を呼出すことができる。計算装置は「X」レジスタと
「直前X」レジスタを備えている。Xレジスタの内容が
表示される。直前Xレジスタは機能の実行の直前にXレ
ジスタ内にあった値を保持している。直前Xレジスタの
内容を表示されるXレジスタに戻すには、「直前X」機
能キーを押す。 上述の誤り訂正機構は、或るレベルの保護を行うが、
機能が二つ以上のレジスタで動作するときの誤り訂正を
考慮していない。 〔発明の目的〕 したがって、本発明の主な目的は二つ以上のレジスタ
を利用して動作を行うことができる計算装置で一層広範
な誤り訂正を可能とする計算装置を提供することであ
る。 〔発明の概要〕 本発明の好ましい実施例によれば、計算スタックを回
復することができる計算装置が与えられる。計算に使用
する演算子とデータを格納するスタックを利用する計算
装置で、計算を行う前にスタックの内容を格納するため
の構成が設けられている。計算を行ってからユーザが計
算を「取消し(undo)」たい場合には、「取消し」キー
を打つことができる。こうしてスタックの元の状態が回
復される。 この方程式の計算を取消す能力は、現在のいかなるユ
ーザ・スタック指向数学計算装置で利用できるよりも優
れた誤り回復システムである。これは偶然にまたは正し
くないキー押下やコマンド実行を完全に無効とする。こ
の構成によれば、計算装置のユーザが各演算毎にすべて
の引数を入れなおす必要なしに、同一の引数組に対して
いくつもの演算を適用することも可能になる。これは、
適用されるコマンドの性質、対応する引数と結果の個数
または型、あるいはスタック上に存在するオブジエクト
全体の個数に無関係であるという点で、完全に一般的で
ある。 〔発明の実施例〕 第1図に、第1の部分101と第2の部分102とを備えた
計算装置100を示してある。第1の部分101は複数のキー
を備えており、これには英数字記号を入力するキーも含
まれている。 第2の部分102は表示装置103を備えている。好ましい
実施例では、表示装置103は液晶のドット・アレイ表示
装置であってそれぞれ23文字から成る4行を表示する。
表示装置103の最上行には告知表示(annunciator)(図
示せず)をも含んでおり、これらは夫々オブジェクトの
実行あるいは演算の各種計算装置モードを示すのに使用
される。 第2の部分102にも複数のキーがあり、これには図に
記したように数値キーと機能キーとがある。ENTERキー1
05は英数字の入力を終結し入力項目の処理を始めるのに
使用される(第7A図および第7B図を参照)。シフト・キ
ー107は次に押したキーに、そのキーの上方に記した別
の定義を実行させるように作用する。 第2の部分102は6個から成る1列の多機能キー104を
も備えている。これは機能または変数の値と関係づける
ことができる。多機能キーの現行の定義は、表示装置10
3の最下文字行のこれらキーの直上に表示されるメニュ
ー・ラベルにより示される。 第1および第2の部分101および102は関連する計算装
置機能の群(メニュー)を、6個のメニュー部分群とし
て多機能キー104に割当てる各種キーを備えている。各
計算装置機能に対するメニュー・ラベルは各キー104の
上方に表示される。これらのキーとしてはたとえばUSER
メキュー・キー108があって、これはユーザ変数を自動
的に多機能キー104に割当てる。NEXTキー109は多機能キ
ーの割当てを現行メニューの6個の機能からその次の群
に進めさせる。このキー109のシフトされた機能PREVは
前の6個の機能を再び活性化させる。 第2の部分102は赤外線発光ダイオード110をも備えて
おり、これはデータを対応する受信器、典型的にはプリ
ンタに伝えるのに使用される。 ONキー111はユーザが計算装置をオンオフし、また計
算装置がオンのとき計算装置の正常動作を中断させるこ
とができるようにする特殊割込みキーである。 本実施例の説明では、オブジェクトと称する個々の数
学的あるいは論理的実体(entity)は大きさが不定な後
入れ先出しスタック上で表示され操作されると言われ
る。計算装置の動作はスタック上のオブジェクトの評価
に中心を置く。オブジエクトはデータ、名前、あるいは
手続とすることができる。データオブジェクトは特別な
ことは行わず(これらはまさにデータである)、名前オ
ブジェクトは他のオブジェクトを参照し、手続オブジェ
クトはその定義に基いてオブジェクトおよびコマンドを
処理する。この計算オペレーティング・システムの基本
は、昭和62年5月28日付で本願出願人によって出願され
た特願昭62−133258号「データ処理装置」に記述されて
いる。 この先行出願のシステムでは、一様構造のオブジェク
トがオブジェクト・メモリ内でオブジェクト・ポインタ
と自由に混在している。オブジェクトはメモリ内のオブ
ジェクト実行シーケンスのプロローグをアドレスする。
オブジェクト・ポインタは他のオブジェクトをアドレス
する。オブジェクトは直接にアドレスされても間接にア
ドレスされても適格に評価される。ポインタはオブジェ
クトまたはオブジェクト・ポインタを選択的に指示す
る。つまりアドレスする。 オブジェクトがポインタにより直接にアドレスされる
と、メモリ内のオブジェクトのアドレス先のアドレス先
がアドレスされる。この最後のアドレス先がオブジェク
ト実行シーケンスを始める。 オブジェクトが間接にアドレスされると、ポインタは
オブジェクト・ポインタをアドレスする。オブジェクト
・ポインタはオブジェクトをアドレスする。このオブジ
ェクトのメモリ内のアドレス先がアドレスされ、これが
オブジェクト実行シーケンスを始める。 更に詳細に述べると、本発明が採用しているオブジェ
クト実行プロセスは、実行シーケンス内に自由に混在し
ているオブジェクトとオブジェクト・ポインタを共に正
しく且つ自動的に評価する。オブジェクトは一様構造に
なっているので、すべてのオブジェクトは、直接あるい
は間接のいずれでもかまわずに実行することができる。
各種の形式のオブジェクトはやはり一様に組立てられて
いる。それぞれは少くともプロローグ・アドレスと本体
とから構成されている。これら2つの部分はメモリ内で
隣接している。プロローグ・アドレスはメモリ内の、オ
ブジェクトの実行について記述してあるプロローグをア
ドレスする。本体はデータである。オブジェクトは、そ
のプロローグ・アドレス部分が指示されるつまりアドレ
スされれば、指示されるつまりアドレスされる。 オブジェクトは単一オブジェクトであってもあるいは
複合オブジェクトであってもよい。その本体が一連のオ
ブジェクトまたはオブジェクト・ポインタである場合に
は、そのオブジェクトは複合オブジェクトは複合オブジ
ェクトである。 オブジェクトの直接実行の場合、インタープリタ・ポ
イントと呼ばれるポインタがオブジェクトのプロローグ
・アドレスを指す。このプロローグ・アドレスはメモリ
内のオブジェクト実行の、実行すべきオブジェクトを直
接同定するプロローグをアドレスする。オブジェクトの
間接実行では、インタープリタ・ポインタはオブジェク
ト・ポインタを指示するが、このオブジェクト・ポイン
タは今度は実行すべきオブジェクトである、あるオブジ
ェクトのプロローグ・アドレスを指示する、つまりアド
レスする。ここではオブジェクト・ポインタはメモリ内
のプロローグをアドレスしないから、実行すべきオブジ
ェクトは直接には同定できない。プロローグ・アドレス
はメモリ内のオブジェクト実行のプロローグをアドレス
する。 このように、オブジェクトにそれぞれがプロローグ・
アドレスと本体とから成るという一様な構造を与え、メ
モリ内にオブジェクト実行のプロローグを設け、および
インタープリタ・ポインタとオブジェクト・ポインタが
そのプロローグ・アドレス部分を指すことにより、オブ
ジェクトを選択的に同定することができる上に、インタ
ープリタ・ポインタがオブジェクト・ポインタを指すこ
とができるオブジェクト・ポインタとインタープリタ・
ポインタを使用することにより、直接または間接オブジ
ェクト実行のオブジェクトおよびオブジェクト・ポイン
タを最小限の処理ステップと組合せることができる簡単
な技法が得られる。これによりプログラムが小さくな
り、メモリが節約され、処理のオーバヘッドがかなり減
少する。 定義 データ・オブジェクト このオブジェクトは論理単位として処理されるデー
タ、すなわち数値データ、文字ストリング、およびオブ
ジェクトのリストを表わす。 名前オブジェクト このオブジェクトはユーザ・メモリに格納されている
他のオブジェクトを名指す。局所的名前は手続が生成す
ることができ、その手続が評価を完了したときは自動的
に削除される。 変数 変数は一緒に格納されている任意のオブジェクトと名
前とを組合せたものである。名前は変数の名前となる。
他方、オブジェクトは変数の内容の値である。これらは
ユーザ・メモリ内に一緒に格納されていて、スタックと
は別のものである。変数はほとんどの計算装置に見られ
る番号の付いたデータ・レジスタとプログラム・メモリ
に取って代るものである。 手続オブジェクト このオブジェクトは手続オブジェクトが評価されると
き処理される手続シーケンス・オブジェクト(procedur
es−sequences of objects)とコマンドを含んでいる。
プログラム・オブジェクトは、スタック、ユーザ、メモ
リ、あるいは計算装置モードに影響を与えるものを含
む、オブジェクトおよびコマンドの任意のシーケンスを
含むことができる。代数オブジェクトは有限数のオブジ
ェクト型とコマンドを含み、その構文は数式および方程
式と同じである。 プログラム プログラムは基本的にはコマンド・ラインのオブジェ
クト形態である。コマンド・ラインに入力されたオブジ
ェクトとコマンドは手続を構成する。その手続がプログ
ラム区切子で囲まれているときは、これはその手続を後
に評価するオブジェクトとして処理すべきことを示して
いる。 式 式は普通の数学的形式に対応する構文で入力され表示
される数式を表わす手続である。式を評価するには各オ
ブジェクトをスタックに載せて評価する。 方程式 方程式は等号「=」で関係づけられている二つの式で
ある。方程式を評価すると新しい方程式ができる。新し
い左辺の式は元の左辺の式を評価した結果である。新し
い右辺の式は元の右辺の式を評価した結果である。 コマンド コマンドはプログラム中に入れることができる組込み
手続(built−in procedure)である。コマンド・ライ
ンに現われる命令名(たとえば、DROPやSIN)は計算装
置に格納されている手続オブジェクト名前の引用記号で
囲まれていないものと考えることができる。 スタック スタックは一連の番号付きレベルであって、各レベル
が一つのオブジェクトを保持している。オブジェクトは
スタックのレベル1に入り、既にスタックに入っている
オブジェクトを夫々高いレベルへ持上げる。オブジェク
トはまたスタックのレベル1から出て、スタックに残っ
ているオブジェクトを夫々低いレベルへ落す。オブジェ
クトはすべてスタック上で同一に−単にオブジェクトと
して−処理される。 スタック内のオブジェクトを複製し、削除し、並べ替
えるためのコマンドが与えられる。これらコマンドのい
くつかはキーボードにある(DROP、SWAP、ROLL、および
CLEAR)。その他はSTACKメニューに入っている。 ほとんどのコマンドはスタックから入力オブジェクト
(引数と言う)を取り、実行してから出力オブジェクト
(結果と言う)をスタックに戻す。引数はコマンドを実
行する前にスタックに存在しなければならない。コマン
ドはその引数を除去してこれをその結果と置き換える。
たとえば、機能SINは数値(実数、複素数、あるいは代
数的値)をレベル1から取出し、その正弦を計算し、結
果をレベル1に戻す。機能+はスタックから2つの数を
取出し、その和をスタックに戻す。 この種の論理は、コマンドが引数の後に来る場合に
は、後置論理(postfix logic)あるいは逆ポーランド
記法(RPN)と言われる。 オブジェクト入力 キーを押して新しいオブジェクトの入力を開始する
と、キーに書いてある文字が命令ラインに入る。命令ラ
インにはテキストの形態で表わした任意の数のオブジェ
クトを入れることができる。これは表示の一番下(メニ
ュー・ラベルがもしある場合にはその直上)に現われ
る。コマンド・ラインは、EDITまたはVISITを使用して
現存するオブジェクトの内容を見たり変えたりするとき
にも現われる。 コマンド・ラインの内容はENTERを押すと(あるいは
自動的にENTERを行うコマンド・キーまたは機能キーを
押すと)処理される。コマンド・ラインの内容はプログ
ラムとして評価され、そのコマンド・ラインは表示から
消える。 どんな数の数字をもコマンド・ラインに入力すること
ができる。行はNEWLINEを押して数行に分けることがで
きる。このキーは「改行復帰(newline)」文字(改
行)を現在のカーソル位置でコマンド・ライン・ストリ
ングに挿入する。改行復帰文字はオブジェクト区切子と
して働くが、その他の場合は命令ラインを評価するとき
無視される。 23個を超す文字をコマンド・ラインに入れると、これ
らの文字は表示装置上で左にスクロールする。省略記号
(...)が最も左の文字位置に現われて、表示されない
文字があることを示す。カーソルを表示装置の左端から
先へ動かそうとすると、最も左の文字が表示装置内にス
クロールし、これら文字は表示装置上を右へスクロール
する。次に省略記号が表示装置の右端に現われる。命令
ラインに複数行のテキストが入っているときは、すべて
の行がともに左右にスクロールする。 第2図は計算装置100の内部のチップ・レベルの構造
を示す。CPU201、2個のROM203と204、および2個の表
示ドライバRAM複合体205と206は主バス204と結合してい
るように示してある。各表示ドライバは液晶の表示装置
103、(207および208)の2本の文字行を制御する。キ
ーボード202はCPU201と結合しているように示してあ
る。キーボード202は第1の部分101と第2の部分102の
2つの部分を備えることができる(第1図)が、接触感
知スクリーンのような別の形のデータの入れ方をするこ
ともできる。本発明によるこの方式とその要素の特定の
構成と利用法はこの説明が進むにつれて明らかになるで
あろう。 第3図は、本発明のユーザ・インターフェースをサポ
ートする、ROM203および204に入っているOS(オペレー
ティング・システム)によるRAM205および206の使い方
のマップである。上に記したように、ここにおよび先に
引用した特許出願で使用するオブジェクトという語は、
OSがサポートする多数のデータ型のすべてを示し、数学
データや式、プログラムなどを含む。オブジェクトはRO
M203と204、およびRAMの一時オブジェクト領域302、ま
たはユーザ変数領域310に存在することができる。第1
図中の第1の部分101にオブジェクト型、そのシンボ
ル、およびオブジェクト型の例を掲げる。 予約システム・メモリ301はそれ以外の記憶領域302〜
310の各々を識別するメモリ・アドレスと、その他の永
久的に割当てられたシステム・データとを備えている。 一時オブジェクト領域302は計算装置の使用中に発生
した無名のオブジェクトを含んでいる。 リターン・スタック303は計算装置の未済動作を表わ
すオブジェクト・シーケンスを指示するポインタを構成
するアドレスの後入れ先出しスタックである。このスタ
ックはメモリの終り(高位アドレス)に向って伸びる。 自由メモリ領域304は現在使用していないメモリの領
域である。 データ・ポインタ・スタック305はオブジェクトを指
すポインタを構成するアドレスの後入れ先出しスタック
である。本発明のユーザ・インターフェースは、ポイン
タそれ自身ではなくスタック中のポインタが指すオブジ
ェクトを、人間が読み得る形で表示する。データ・ポイ
ンタ・スタック305は自由メモリ内にメモリの始まり
(低位アドレス)の方に向って伸びる。 コマンド・ライン・メモリ領域306はユーザが入力し
たコマンドやデータをテキスト文字の形で蓄積するのに
使用する動的に割当てられたユーザ・メモリである。 一時環境メモリ領域307は主として中間結果の記憶と
パラメータ引渡しに使用される動的に割当てられたオブ
ジェクトのリンクト・リストである。 ループ・インデクス・メモリ領域308はプログラム構
造のループの開始・停止用のインデクスを記憶させてお
くのに使用する。 キー・マップ・メモリ領域309はキーボードの各キー
に現在対応付けられている機能を定義する。 ユーザ変数メモリ領域310にはユーザが明示的に作り
出した名前付きオブジェクトが入っている。 計算装置のメモリと表示のアクセスと機能を、第2図
のシステムの特定の機能とともに、以下に記す式LN(2.
3+1.0)の入力、操作、および評価を例として説明す
る。第3A図から第3I図までを参照する。 1. 〔ON〕キー111を押す。表示は第3A図のようにな
る。表示されている4行を画面の左に上から下に降順に
番号を付ける。これは即時入力モードである。 2. 〔’〕キー112を押す。この区切子はオブジェクト
(名前と代数値)を符号化するものである。表示は第3B
図のようになる。即時入力モード(第3A図で表わすよう
な)では、これにより代数的入力モードが開始つまり活
性化される。代数カーソル14は表示画面の左下隅(行
1)の区切り記号の傍にある。このモードでは、代数式
中で許容されていない動作に対応するキーを押すとその
キーに対応する動作を実行する。代数機能キーを押すと
機能名がコマンド・ラインに付加される。機能(LN)
が、LN(2.3+1.0)のように、括弧内に入った引数をと
る場合には、開き括弧も付加される。行1から行4まで
が、1、2、3の各行を見えるように残して上に移行す
る。 3. シフト・キー107とシフトされたLOGSキー113を押
す。表示は第3C図のように見える。個々のメニュー・ラ
ベル15は行1に表示される。代数カーソル14は行2に上
り、行1から行4が上にシフトされ、番号付きの行1と
行2が表示上に残る。 4. LNを押す。これはメニュー表示のラベルLNの直下に
あるメニュー・キー104である。この表示は第3D図のよ
うに示される。その右側に大括弧または括弧が付いた機
能LNは2行に加えられ、代数カーソル14が右に移動す
る。 5. 今度は対応する標示のあるキーを順に操作すること
により式2.3+1.0を付加する。このステップに対応する
表示を第3E図ないし第3G図に示す。メニュー・ラベルは
不変である。 6. 次にシフト・キー107とシフトされたキー116を押
す。これにより大括弧が式の終りに付加され(第3H
図)、量(2.3+1.0)が完成する。 7. 今度はENTERキー105を押す。これにより、第3I図に
示すように、式が表示の右側に移り、式が表示スタック
の最下部に入る。カーソル14は消える。 第4図、第5図、第6図、第7A図、第7B図は本発明の
ユーザ・インターフェースの論理的実現形態を表わすフ
ローチャートである。第4図に示す外側ループはユーザ
との対話の最も外側のレベルを構成する無限ループであ
る。この図に使用している用語は次の通りである。 1. 最上部の外側ループ機能(ブロック401)はループ
の論理的スタートである。 2. メモリ不足確認機能(ブロック402)は、利用可能
な自由メモリ304が非常に少なくて計算装置の正常動作
が困難であるという状態を指示する。メモリ不足警告40
1aが表示される。 3. スタック表示機能(403)(メモリ領域305)はデー
タ・スタック305からのデータ・スタック・オブジェク
トをユーザが読取り可能な文字にするものであり、この
文字は表示103の右側に入る。このステップの論理を第
5図に拡大して示してある。スタック変更機能(ブロッ
ク403a)は表示を開始する。 4. ENTER機能(ブロック404)はコマンド・ライン306
の内容をパージングし実行する動作を言い、これは即時
実行キー、特に〔ENTER〕キー105、を押すことにより開
始することができる。 5. TRACE機能(ブロック405)はユーザ制御計算装置モ
ードを言う。TRACE(追跡)モードが働くと、ユーザ入
力と計算結果はすべてプリントのため赤外線発光ダイオ
ード110(第1図)を介して自動的に伝えられる。 6. 実行のためいろいろなメニューを選択するには、必
要に応じ、ユーザが観察し対話するための新しいメニュ
ー表示が必要である。判断機能(ブロック406、メニュ
ーが変えられたか)は新しいメニュー・ラベルの表示を
開始させる(ブロック407)。コマンド・ラインが変る
と、新しい行が表示される。判断機能(ブロック408)
は再表示機能(ブロック409)を開始させる。 7. エラー判断機能(ブロック410)は計算装置動作の
正常な完結を中断する数学的あるいは論理的な計算装置
のエラーを指示する。この機能は表示エラー機能411を
発動させる。 8. ビジー告知機能(ブロック407)は行106の告知表示
に関連している。この告知表示は計算装置がビジーであ
る、すなわち、新しいキーストロークを処理する態勢が
整っていないことを示す。この機能は自動的にオフにな
る(ブロック412)。 9. コマンド・スタック機能(ブロック413)は、後に
再使用するため取ってある最も新しい4つのコマンド・
ライン・エントリのスタックである命令スタック・ポイ
ンタを更新する。これらはコマンド・ライン・メモリ領
域306のエントリである。 10. キー処理ステップ(ブロック414)はキーの押され
るのを待ってこれを処理する。これを第3図に詳細に示
してある。外側ループはこの段階で新しいキーボード入
力を待ちながらいつまでも待つことができる。 第5図は表示スタック動作403の論理を示す。表示装
置103は4行の文字データを表示することができる。最
も下の表示行から始まって、優先度が下る順に、正常な
表示には下記のものが示される。 1. メニュー・キー・ラベルを含む0行または1行。黒
地に白の文字で示される。 2. 0行から4行までの現在のコマンド・ライン・エン
トリ。 3. 最大4行までのスタック・オブジェクト。 第5図中で言及されている「ウインドー」(ブロック
501、502)は、メニュー・ラベル行あるいはコマンド・
ラインの各表示の有無によって決まるところの、表示装
置上のスタック・オブジェクト表示に利用できる部分
(1行から4行まで)を示す。スタック行(ブロック50
3)の数はウインドー中で利用できる行数である。 利用できるスタック行の数が0以下であれば表示はな
されない。 1行以上が利用できれば、次のオブジェクトがある場
合それが表示のためアクセスされる。 EDITおよびVISITの動作は、第1図のそれらシフト・
キーを作動させて開始され、判断機能(ブロック504)
で参照されるが、オブジェクトをスタックからコマンド
・ラインに写し取ってその内容をユーザが編集できるよ
うにする。編集されたオブジェクトがコマンド・ライン
およびスタック表示で同時に見得る場合には、そのオブ
ジェクトのスタック表示は反転映像(黒地に白で表示す
る機能)(ブロック505)で示される。 ブロック506の機能はユーザ制御複数行表示モードか
どうかを試験する。複数行モードになっていると、最初
のスタック・オブジェクトが1行あるいは必要なら複数
行の表示行に示される。(ブロック507、501、508、50
9)。複数行モードでない場合は、1行の形で表示され
る。その他のスタック・オブジェクトはすべて1行で示
される。 リターン機能(ブロック510)は第4図中における、
表示をスタックに戻すブロック403へ戻るものである。 第6図はキー処理ステップ414の論理的なフローチャ
ートを示す。GET KEYステップ601はプロセスのフロー
が実行キーの押下を電子装置が検出するまで停止する待
ち状態である。これはオブジェクトをコマンド・ライン
に入力することができる代数モードであってもよい。こ
の状態はまたシステム・タイマまたは〔ON〕キー111に
より電子的に割込むことにより中断することもできる
(ブロック602)。この中断によりシステムは、コマン
ド・ライン・カーソルがもしあればそれをブリンクさ
せ、システム・クロックを更新させる。 活動中の多機能キーがカーソル移動キーである場合に
は、多機能キーを押したことがブロック603で検出さ
れ、カーソル移動がブロック604により実行される。 アルファ・モード機能(ブロック605)で判定される
アルファ・モードが活性であれば、そのキーのアルファ
・モードでの現在の定義がアルファ・キー実行機能(ブ
ロック606)により実行される。ほとんどのキーについ
て、このことはキーの名前をメモリの、および表示装置
の現在のコマンド・ラインに付加することを意味する。 代数入力モードが活性化されており(判断機能(ブロ
ック607))かつブロック608で判断されるように今押さ
れたキーが文字キーであるかあるいは代数式構文に適法
な機能に対応しているキーである場合には、そのキーの
アルファ・モードの定義がアルファ・キー実行機能606
により実行される。 アルファ・モードも代数入力モードも活性になっては
いない場合は、ステップ609で、計算装置は即時入力実
行モードになっている。今押されたキーの定義にENTER
の自動実行が含まれている場合には、ENTERシーケンス6
10(第7A図および第7B図を参照)が実行される。最後
に、キーの即時入力の定義が機能(ブロック611)で実
行される。 リターン612は外側ループに戻ることである。 第7A図と第7B図はENTER動作ステップ610の論理実行の
流れ図である。ENTERプロセスの始めに、告知表示行106
のビジー告知表示(第1図には示してないが定義中で参
照してある)がオンになる(ブロック701)。これは行
なわれる処理のすべてが完了し計算装置が別のユーザ入
力に対する準備が整った後でビジー告知表示をオフにす
ること(第4図ブロック412)によってのみクリアされ
る。 取消し(UNDO)イネーブル判別機能702は、計算装置
がエラー回復の目的で、更に処理を進める前にデータ・
スタックの写しを保存することを知らせる。このとき、
スタックの写しを保存する機能が開始される(ブロック
703)。 ステップ704は、TOS(top of stack、スタックの頂
上)表示カウンタを、スタック観察機能により変えられ
てしまっていることがあるため、リセットする。 ステップ705で、現在押されているキーに対応する機
能の名前が、TRACEモード時のプリントの目的で得られ
る。コマンド・ラインが空の場合には、ブロック706の
判概機能によりTRACE判断機能(ブロック707)を開始さ
れる。TRACEモードがイネーブルになっていれば、機能
名がプリントされる。機能名プリント・ステップ708で
は機能名を第1図の赤外線発光ダイオード110を介して
伝達する。 コマンド・ラインが空でない場合には、コマンド・ラ
イン全体が、コマンド・ライン解析機能709で、構文解
析される(parse)、すなわち、構文が正しいかチェッ
クされる。構文解析エラー判断機能710で構文エラーが
検出されると、ブロック711の機能により、このコマン
ド・ラインを復旧(restore)しカーソルをそのエラー
位置に置いて、構文エラー・メッセージがこの機能711
により表示され、制御が外側ループ401のトップに戻
る。 判断機能712によりコマンド・スタックがイネーブル
されていることが確認されると、コマンド・ラインのテ
キストが、あり得る再使用のため、機能713により4レ
ベルのコマンド・スタックに保存される。 第7B図の判断機能714で、TRACEがイネーブルされてい
ることがわかった場合には、機能715がコマンド・ライ
ンの内容と今押されたキーの機能名を赤外線発光ダイオ
ード110によりプリントを行うため伝送する。 今与えられたENTERがスタック最上位のオブジェクト
の編集を終結させている場合には、判断機能716により
そのオブジェクトをスタックから下ろす機能717が開始
される。次に、EDITENDED(編集終了)の確認(ブロッ
ク718)が行われる。 構文解析されたコマンド・ラインを評価する機能719
で、コマンド・ライン入力と現行キーの定義により与え
られたプログラムが実行される。これはユーザが観察し
得る主要なステップであり、コマンド・ラインと終結キ
ーの押下によって計算装置に与えられた命令の実行を表
わすものである。 コマンド・ラインの実行が完了すると、今押されたEN
TERがスタック・オブジェクトまたは変数の編集(VISI
T)を終結していれば、スタック上の新しい最上位オブ
ジェクトを使用して元のオブジェクトと置換わる(72
1)。 リターン722はプロセスへすなわち第6図に示すキー
操作の実行(ブロック611)へ戻ることである。 ここで記述されている計算装置のエラー訂正能力の説
明を簡単にするため、主データ・スタック901、および
バックアップ・データ・スタック902の簡略概念図を第9
A図〜第9G図に示す。主データ・スタック901はRPN計算
に使用するデータを格納するのに使用され、バックアッ
プ・データ・スタック902はデータ・スタック901中の情
報の写しを格納するのに使用される。主データ・スタッ
ク901とバックアップ・データ・スタック902はともにRA
N205に格納することができる。 第8図は前述の計算装置のようなRPN計算装置に関し
てエラー訂正を行うプログラムの簡略フローチャートで
ある。ステップ801で、プログラムはユーザがキーを押
すのを待っている。一旦キーが押されると、プログラム
はステップ802でキーが即時実行キーであるか否かを評
価する。即時実行キーは表示の内容およびまたはスタッ
クの内容を操作させるキーである。 押されたキーが即時実行キーでなかった場合には、モ
ニタは次のキーを待つ。その他の場合には、ステップ80
3でプログラムは、そのキーが表示の内容を主データ・
スタック901に入れさせる(自動ENTER)ものか否かを評
価する。否の場合には、そのキーのコマンドがプログラ
ム・ステップ804で実行される。自動ENTERの場合には、
ステップ805で、主データ・スタック901の内容がバック
アップ・データ・スタック902に格納される。次にプロ
グラム・ステップ806で表示の内容が主データ・スタッ
ク901に入れられる。次にプログラムは押されたキーがE
NTERキー105であるか否かを評価する。ENTERキーであれ
ばモニタが次のキーを待つ。ENTERキーでなかった場合
は、プログラムは、ステップ808で、押されたキーで指
定された機能を行なう。 下記は動作の簡単な説明であって、主データ・スタッ
ク901とバックアップ・データ・スタック902の内容の変
化を示している。第9A図で、主データ・スタック901と
バックアップ・データ・スタック902とが空であるよう
に示してある。(TOSはスタックの頂上(top of stac
k)を表わす。) 第9B図はユーザが下記シーケンスを入力した後の主デ
ータ・スタック901とバックアップ・データ・スタック9
02の内容を示す。 4 3 ENTER 数「4」と「3」は即時実行キーではない。ENTERは
即時実行キーであるが、その時点で主データ・スタック
901は空であるので、何のデータもバックアップ・デー
タ・スタック902に転送されない。 第9C図はユーザが下記シーケンスを入力した後の主デ
ータ・スタック901とバックアップ・データ・スタック9
02の内容を示す。 5 7 ENTER わかるとうり、57を主データ・スタック901に入れる
前に、主データ・スタック901の内容がバックアップ・
データ・スタック902に複製される。 第9D図はユーザが下記キーを押した後の主データ・ス
タック901とバックアップ・データ・スタック902の内容
を示す。 + この場合には主データ・スタック901の内容が、その
中の内容の加算を行なう前に、バックアップ・データ・
スタック902に複製される。 第9B図に示す主データ・スタック901とバックアップ
・データ・スタック902との状態に戻すことにより、ユ
ーザは下記の別のシーケンスを入れることもできる。 5 7 + こうすれば主データ・スタック901とバックアップ・
データ・スタック902の内容は第9E図に示すようにな
る。 この時点でユーザがシフト・キー107を押し、続いてU
NDOキー120を押せば、主データ・スタック901とバック
アップ・データ・スタック902との内容が第9F図に示す
ように交換されるか、あるいは主データ・スタック901
の内容が第9G図に示すようにバックアップ・データ・ス
タック902の内容で置き換えられる。いずれの動作をと
るかは具体的な実現形態による。 本発明は別の実施例に使用することができる。たとえ
ば、第10図は、本発明が演算子スタック1101、データ・
スタック1102、バックアップ演算子スタック1103、およ
びバックアップ・データ・スタック1104を備えた非RPN
計算器の多数の実現形態の一つをどのように構成するこ
とができるかを説明するフローチャートである。演算子
スタック1101、データ・スタック1102、バックアップ演
算子スタック1103、およびバックアップ・データ・スタ
ック1104を第11A図〜第11F図に示す。 下記は動作の簡略説明であって、演算子スタック110
1、データ・スタック1102、バックアップ演算子スタッ
ク1103、およびバックアップ・データ・スタック1104の
内容の変化を示している。第11A図で、演算子スタック1
101、データ・スタック1102、バックアップ演算子スタ
ック1103、およびバックアップ・データ・スタック1104
は空であるように示してある。 第11B図はユーザが下記シーケンスを入力した後の演
算スタック1101、データ・スタック1102、バックアップ
演算子スタック1103、およびバックアップ・データ・ス
タック1104の内容を示す。 4 3 + 演算子「+」を入れると、方程式の部分的な構文解析
が行われ、値が演算子スタック1101とデータ・スタック
1102の双方に載せられる。 第11C図はユーザが下記シーケンスを入力した後の演
算子スタック1101、データ・スタック1102、バックアッ
プ演算子スタック1103、およびバックアップ・データ・
スタック1104の内容を示す。 5 7 − 第11D図はユーザが下記シーケンスを入れた後の演算
子スタック1101、データ・スタック1102、バックアップ
演算子スタック1103、およびバックアップ・データ・ス
タック1104の内容を示す。 9 ENTER 演算子スタック1101とデータ・スタック1102の内容
が、計算を行う前に、それぞれバックアップ演算子スタ
ック1103およびバックアップ・データ・スタック1104に
格納される。 もしこの時点でユーザが「UNDO」キーを押したとすれ
ば、演算子スタック1101とデータ・スタック1102の内容
が第11E図に示すようにそれぞれバックアップ演算子ス
タック1103およびバックアップ・データ・スタック1104
の内容と交換されるか、あるいは演算子スタック1101と
データ・スタック1102の内容が第11F図に示すようにそ
れぞれバックアップ演算子スタック1103とバックアップ
・データ・スタック1104との内容で置き換えられる。い
ずれの動作が行なわれるかは実現形態に依存する。 〔発明の効果〕 以上説明したように、本発明によれば計算中に、操作
の誤りやあるいは考えを変えて他の場合を試したい、等
の要求に答えることのできる、良好なマン・マシン・イ
ンターフェースを持った計算装置を提供することができ
る。
【図面の簡単な説明】 第1図は本発明の実施例の外観図、第2図は実施例の概
略ブロック図、第3図は実施例のメモリ・マップを示す
図、第3A図ないし第3I図は実施例の動作時における表示
例を示す図、第4図ないし第6図、第7A図および第7B図
は実施例のユーザ・インターフェースを説明するための
フローチャート、第8図は実施例のエラー訂正動作の概
念を説明するためのフローチャート、第9A図ないし第9G
図は実施例のデータ・スタックを説明するための概念
図、第10図は別実施例の動作を説明するフローチャー
ト、第11A図ないし第11F図は第10図の実施例の動作を説
明するための概念図である。 100:計算装置、103:表示装置、 301:予約システム・メモリ、 302:一時オブジエクト領域、 303:リターン・スタック、 304:自由メモリ領域 305:データ・ポインタ・スタック、 306:コマンド・ライン・メモリ領域、 307:一時環境メモリ領域、 308:ループ・インデクス・メモリ領域、 309:キー・マップ・メモリ領域、 310:ユーザ変数メモリ領域、 901:主データ・スタック、 902:バックアップ・データ・スタック、 1101:演算子スタック、 1102:データ・スタック、 1103:バックアップ・演算子スタック、 1104:バックアップ・データ・スタック。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭54−32228(JP,A) 特開 昭58−211264(JP,A) 特開 昭55−153063(JP,A) 実開 昭57−92239(JP,U) 特公 昭60−32228(JP,B2) 特公 昭61−8985(JP,B2)

Claims (1)

  1. (57)【特許請求の範囲】 1.処理すべきデータを含むデータスタックと、 前記データスタック中のデータを用いて演算を行う演算
    手段と、 前記演算手段による演算を行う前に前記データスタック
    中のデータを受取って記憶するデータ記憶手段と、 前記データ記憶手段の記憶内容と前記データスタックの
    記憶内容を交換するデータ交換手段 とを設けた計算装置。 2.前記演算手段による演算の種類を指示するために入
    力された演算子を記憶する演算子スタックと 前記演算手段による演算を行う前に前記演算子スタック
    中のデータを受取って記憶する演算子記憶手段と を有し、 前記データ交換手段は前記データ記憶手段の記憶内容と
    前記データスタックの記憶内容を交換する際に、前記演
    算子記憶手段の記憶内容と前記演算子スタックの記憶内
    容を変換することを特徴とする特許請求の範囲第1項記
    載の計算装置。
JP62328277A 1986-12-24 1987-12-24 計算装置 Expired - Lifetime JP2716135B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US946543 1986-12-24
US06/946,543 US4821228A (en) 1986-12-24 1986-12-24 Method and apparatus for computation stack recovery in a calculator

Publications (2)

Publication Number Publication Date
JPS63170722A JPS63170722A (ja) 1988-07-14
JP2716135B2 true JP2716135B2 (ja) 1998-02-18

Family

ID=25484623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62328277A Expired - Lifetime JP2716135B2 (ja) 1986-12-24 1987-12-24 計算装置

Country Status (6)

Country Link
US (1) US4821228A (ja)
EP (1) EP0272821B1 (ja)
JP (1) JP2716135B2 (ja)
KR (1) KR950006618B1 (ja)
CA (1) CA1277771C (ja)
DE (1) DE3789803T2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01173254A (ja) * 1987-12-28 1989-07-07 Sharp Corp 計算機
US5187799A (en) * 1988-05-17 1993-02-16 Calif. Institute Of Technology Arithmetic-stack processor which precalculates external stack address before needed by CPU for building high level language executing computers
US5020012A (en) * 1988-12-15 1991-05-28 Hewlett Packard Company Method and apparatus for matching menu labels with keys
JP2966432B2 (ja) * 1989-07-07 1999-10-25 シャープ株式会社 電子機器
JPH0797313B2 (ja) * 1989-08-30 1995-10-18 株式会社東芝 計算機及びこの計算機に用いられる演算方法
JPH0390351U (ja) * 1989-12-28 1991-09-13
US5067102A (en) * 1990-01-31 1991-11-19 Hewlett-Packard Company Method and apparatus for displaying and editing mathematical expressions in textbook format
JP2778798B2 (ja) * 1990-04-11 1998-07-23 富士通株式会社 制御データのキュー構造管理処理方式
JP3082169B2 (ja) * 1991-11-20 2000-08-28 インターナショナル・ビジネス・マシーンズ・コーポレ−ション データ処理システム及びその実行方法
US5243550A (en) * 1992-03-27 1993-09-07 Michael Cannizzaro Multi-column printing calculator
DE69526411T2 (de) * 1994-12-07 2002-08-08 King Jim Co Ltd Zeichenprozessor zum Drucken von Zeichen
JPH10289211A (ja) * 1997-04-14 1998-10-27 Sharp Corp 小型電子機器
US6748404B1 (en) * 2000-08-22 2004-06-08 Kinpo Electronics, Inc. Data editable statistic calculator, and the related data editing method
US7478265B2 (en) * 2004-10-14 2009-01-13 Hewlett-Packard Development Company, L.P. Error recovery for input/output operations
US7418460B2 (en) * 2004-10-19 2008-08-26 Microsoft Corporation Method and system for enabling undo across object model modifications
US7827451B2 (en) * 2006-05-24 2010-11-02 International Business Machines Corporation Method, system and program product for establishing decimal floating point operands for facilitating testing of decimal floating point instructions
US9424139B1 (en) * 2011-03-31 2016-08-23 Emc Corporation Version based data protection
JP6905190B2 (ja) * 2017-09-01 2021-07-21 富士通株式会社 情報処理装置およびスタック破壊検出プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4309761A (en) * 1964-06-26 1982-01-05 Hewlett-Packard Company Calculator for evaluating numerical answers to problems
US3533082A (en) * 1968-01-15 1970-10-06 Ibm Instruction retry apparatus including means for restoring the original contents of altered source operands
US4366553A (en) * 1972-07-07 1982-12-28 Hewlett-Packard Company Electronic computing apparatus employing basic language
JPS5432228A (en) * 1977-08-18 1979-03-09 Japanese National Railways<Jnr> Mark reader
US4456964A (en) * 1979-06-25 1984-06-26 Hewlett-Packard Company Calculator including means for displaying alphanumeric prompting messages to the operator
US4524416A (en) * 1980-04-15 1985-06-18 Honeywell Information Systems Inc. Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
US4587632A (en) * 1980-05-27 1986-05-06 At&T Bell Laboratories Lookahead stack oriented computer
JPS5792239U (ja) * 1980-11-25 1982-06-07
JPS57153339A (en) * 1981-03-18 1982-09-21 Hitachi Ltd Information processor
US4530049A (en) * 1982-02-11 1985-07-16 At&T Bell Laboratories Stack cache with fixed size stack frames
US4519045A (en) * 1982-05-25 1985-05-21 Texas Instruments Incorporated Electronic data processing apparatus with equation operating system having improved unary operation implementation
JPS5958547A (ja) * 1982-09-28 1984-04-04 Fujitsu Ltd マイクロプログラム制御装置のエラ−処理方式
US4698784A (en) * 1984-01-06 1987-10-06 Hewlett-Packard Company Syntactic device for chain calculations

Also Published As

Publication number Publication date
CA1277771C (en) 1990-12-11
EP0272821A3 (en) 1990-02-14
JPS63170722A (ja) 1988-07-14
KR950006618B1 (ko) 1995-06-19
US4821228A (en) 1989-04-11
DE3789803T2 (de) 1994-12-08
EP0272821B1 (en) 1994-05-11
DE3789803D1 (de) 1994-06-16
KR880008152A (ko) 1988-08-30
EP0272821A2 (en) 1988-06-29

Similar Documents

Publication Publication Date Title
JP2716135B2 (ja) 計算装置
JP2801009B2 (ja) 多重処理コンピュータ・システムにおけるキーストロークからのイベントを送る方法
US4435780A (en) Separate stack areas for plural processes
JP2662225B2 (ja) 計算装置
EP0361869B1 (en) Information display apparatus and method of scrolling displayed data
CA1168373A (en) Prompt line display in a word processing system
GB2145547A (en) Electronic memo device
EP0247747A2 (en) Generic equation solver interface for solving mathematical equations
EP0398648A2 (en) Information processing system user interface
EP0251454B1 (en) Calculating device and method capable of displaying history stack values
JPH0335355A (ja) 電子機器
JP2758643B2 (ja) プリンタ
JPH08106315A (ja) Nc装置における手書き入力データの表示方法及び手書き入力機能を備えたnc装置
Sakamura et al. An overview of the BTRON/286 specification
JP2004227318A (ja) ソフトウェア実行状態と外部入間隔を考慮したウィンドウ表示装置と方法およびプログラム
JPH0659791A (ja) データ処理装置用キーボードの入力処理装置
JPS61204765A (ja) レイアウト表示方式
JPH02105965A (ja) 文書作成装置
Pavlidis Event Handling in the X Toolkit
JPH01318151A (ja) 並列処理型文書処理装置
Qualls The PC Corner
JPH01288959A (ja) スケジューラ
JPS60225926A (ja) 表示部付きキ−入力装置
JPH0335343A (ja) 電子機器
JPH0562076B2 (ja)

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 11