JPS5852261B2 - プログラム処理方式 - Google Patents

プログラム処理方式

Info

Publication number
JPS5852261B2
JPS5852261B2 JP3280876A JP3280876A JPS5852261B2 JP S5852261 B2 JPS5852261 B2 JP S5852261B2 JP 3280876 A JP3280876 A JP 3280876A JP 3280876 A JP3280876 A JP 3280876A JP S5852261 B2 JPS5852261 B2 JP S5852261B2
Authority
JP
Japan
Prior art keywords
program
circuit
output
subroutine
address
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
JP3280876A
Other languages
English (en)
Other versions
JPS52116036A (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 JP3280876A priority Critical patent/JPS5852261B2/ja
Publication of JPS52116036A publication Critical patent/JPS52116036A/ja
Publication of JPS5852261B2 publication Critical patent/JPS5852261B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 本発明は例えば小型電子式計算機におけるプログラム処
理方式に関する。
一般に小型電子式計算機、特に電子式卓上計算機(以下
電卓と略称する)は、予め組み込まれた固定プログラム
により一連の演算処理を実行するのが普通であるが、近
年、より複雑な演算を処理する為に必要に応じて所定の
プログラムを書き込むことの出来る所謂プログラム付電
卓が実用化されつつある。
しかして、電卓はあまり多くの記憶容量を有していない
のが一般的であり、プログラム付電卓もその例外ではな
い。
そこで、プログラム付電卓の特にプログラム記憶領域は
効率よく使用する様工夫されなければならない。
しかるに、従来のプログラム付電卓等に於ては一連の演
算を実行する為の所謂メインルーチンと、例えば基本的
な演算を実行する所謂サブルーチンはその機能が明確に
区別され、サブルーチンはメインルーチンの一部として
のみ使われるので、サブルーチンをあたかもメインルー
チンの如く使用することは出来なかった。
即ち、メインルーチンからサブルーチンを呼出して使用
することは出来るが、サブルーチンからメインルーチン
を呼出すことは出来なかった。
この為、サブルーチンをあたかもメインルーチンとして
使用することは出来ず、また、サブルーチンを書き込ん
だ分だけメインルーチンの書き込み領域が減少しプログ
ラム記憶領域を効率良く使用出来ない等種々の欠点があ
った。
本発明は、上記の点に鑑みてなされたもので、書き込ま
れた各々のプログラムにメインルーチン及びサブルーチ
ンの固定化された機能を持たすことなく、その倒れにも
使用出来る様にすることによりプログラムに柔軟性を持
たせ、プログラム記憶領域の使用効率を極めて良好にし
たプログラム処理方式を提供することを目的とする。
以下図面を参照して本発明の一実施例を説明する。
本発明は第1図に示すようにプログラムメモリにメイン
、サブの区別のない複数のプログラムPrl〜P−r
Nを記憶しており、制御部により指定されたプログラム
がメインルーチン、他のプログラムによって指定される
プログラムがサブルーチンとなる。
また、各プログラムPrl〜PrNが、他のプログラム
の指定によりサブルーチンとなった場合、サブルーチン
指定されたことを記憶するようになっている。
そして、単位プログラムの処理を終了した時点でサブル
ーチンとして用いられたか否かの判断を行い、サブルー
チンとして用いられた場合にはメインルーチンにジャン
プバックし、サブルーチンでなければそのプログラムは
メインルーチンの動作を行ったものとして動作を終了す
るようにしたもので、以下その詳細について説明する。
第2図において1はプログラムメモリで、上記したよう
にメイン、サブの区別のない複数のプログラムを記憶し
ている。
このプログラムメモリ1はアドレスカウンタ2によりア
ドレス指定され、その指定アドレスにおけるプログラム
の内容がアンド回路3,4を介してバッファレジスタ5
,6に送られる。
上記アンド回路3,4はフリップフロップ7によってゲ
ート制御されるもので、アンド回路3にはフリップフロ
ップ7の出力がインバータ8を介して与えられ、アンド
回路4にはフリップフロップ7の出力が直接与えられる
しかして、バッファレジスタ5の出力は、サブルーチン
指定コード5ubNをプログラム指定コードPrNに変
換するコード変換回路9に送られると共にデコーダ10
に送られる。
上記コード変換回路9の出力は、バッフアレシスクロの
出力と共に一致回路11へ送られ、この一致回路11の
出力はアンド回路12の一方の入力端にゲート信号とし
て加えられる。
このアンド回路12の他方の入力端には、クロックパル
スφeが与えられており、アンド回路12の出力はフリ
ップフロップ7にリセット信号として送られる。
また、上記デコーダ10は制御部(図示せず)より出力
する実行命令により動作しバッファレジスタ5から与え
られるプログラムの内容中に含まれるサブルーチン指定
コードSub、終了コードEND等をデコードするもの
で、Subコードが入力された場合は出力線10aに”
1”信号、ENDコードが入力された場合は出力線10
bに”1″信号を出力する。
デコーダ10から出力線10aに出力される信号は、ク
ロックパルスφeに同期して動作するフリップフロップ
13に送られ、このフリップフロップ13の出力はフリ
ップフロップI、14のセット端子Sに加えられる。
そして、フリップフロップ7の出力は、上記実行命◆と
共にオア回路15を介してアンド回路16の一方の入力
端に加えられる。
このアンド回路16の他方の入力端には、クロックパル
スφeが与えられ、アンド回路16の出力はアドレスカ
ウンタ2にカウントアツプ信号として送られる。
一方、上記フリップフロップ14の出力は、アンド回路
17に直接加えられると共に、アンド回路18にインパ
ーク19を介して加えられる。
また、アンド回路17.18にはデコーダ10から出力
線10bに出力される信号が与えられ、アンド回路18
の出力はプログラム終了信号として上記制御部へ送られ
る。
アンド回路17の出力はクロックパルスφeに同期して
動作するフリップフロップ20を介してフリップフロッ
プ14のリセット端子Hに加えられると共に、オア回路
21を介してアドレスカウンタ2に書込み指令信号とし
て送られる。
この書込み指令信号によりアドレスカウンタ2は、アド
レスメモリ22からアンド回路23を介して与えられる
アドレス内容の書込みを行う。
また、アドレスカウンタ2の内容は、フリップフロップ
13の出力によりゲート制御されるアンド回路24を介
してアドレスメモリ22に転送される。
また、上記フリップフロップ13の出力は、オア回路2
1に加えられると共に、インバータ25を介してアンド
回路23に加えられる。
次に上記のように構成された本発明の動作を第3図に示
すフローチャートを参照して説明する。
今上記実行命令がオア回路15を介してアンド回路16
に与えられると、そのゲートが開かれてクロックパルス
φeがアドレスカウンタ2に送られてその内容が順次カ
ウントアツプされる。
このカウンタ2のカウントアツプに従ってプログラムメ
モリ1からプログラムの内容が順次読出され、アンド回
路3を介してバッファレジスタ5に貯えられる。
従ってこのバッファレジスタ5に読出した内容を上記制
御部に送って指定されたプログラムナンバーと比較する
ことにより、所望プログラムを指定することができる。
しかして、今例えば第3図に示すようにプログラムPr
lをメインプログラムとして指定したとすると、オア回
路15を介してアンド回路16に与えられる上記実行命
令に従ってアドレスカウンタ2の内容が順次カウントア
ツプされ、プログラムメモリ1からプログラムの内容が
順次出力されて所定の処理が実行される。
しかして、プログラムPrlの実行中、あるステップで
他のプログラム例えばPr2がサブプログラム5ub2
として指定されたとすると、まず、この5ub2指定コ
ードはアンド回路3を介してバッファレジスタ6に貯え
られる。
このバッファレジスタ5に貯えられた5ub2指定コー
ドは、コード変換回路9に送られてプログラムPr2指
定コードに変換されると共に、デコーダ1oに送られる
このデコーダ10は上記実行命令により動作しSubコ
ードが入力されると出力線10aに”1″信号を出力す
る。
この出力線10aに出力された信号は、次のクロックパ
ルスφeに同期してフリップフロップ13に読込まれ、
■ツー1間遅れたこのフリップフロップ13の出力によ
りフリップフロップ7をセットすると共に、第3図のス
テップAに示すようにフリップフロップ14(S)がセ
ットされる。
そして、フリップフロップ7がセットされることにより
アンド回路4のゲートが開かれると共に、インバータ8
の出力が”0”となってアンド回路3のゲートが閉じる
また、上記フリップフロップ13の出力は、アンド回路
24に印加されアンド回路24を開きアドレスカウンタ
2の内容をアドレスメモリ22に転送する。
この時、アドレスカウンタ2の内容は前記サブルーチン
5ub2を指定したアドレスよりも「1」だけ進んだ状
態となっている。
即ち5ub2がデコーダ10に印加された時の上記実行
命令がオア回路15を介してアンド回路16に印加され
、信号線10bに”1”が出力されてフリップフロップ
13に読込まれる時のクロックパルスφeがアドレスカ
ウンタ2に印加されてカウトアップされている。
従がって、アンド回路24を介してアドレスメモリ22
に転送されるアドレス内容は、サブルーチンを終了した
時のメインルーチンへのジャンプバックアドレスとして
記憶される。
さらに、フリップフロップ13の出力は、オア回路21
を介して、アドレスカウンタ2がアドレスメモリ22の
内容を読込む様指令するが、この時フリップフロップ1
3の出力はインバータ25を介してアンド回路23に印
加されその出力を禁止しているので、アドレスカウンタ
2は′0”を読込むことになり、結局アドレスカウンタ
2はクリアされた状態になる。
この状態が第3図に示すステップB、Cである。
しかして、上記フリップフロップ7がセットされると、
その出力がオア回路15を介してアンド回路16に加わ
り、そのゲートを開く。
このためクロックパルスφeがアンド回路16を介して
アドレスカウンタ2に加わり、その内容を順次カウント
アツプする。
このためプログラムメモリ1のプログラムの内容が最初
のアドレスから順次読出され、アンド回路4を介してバ
ッファレジスタ6にセットされる。
しかして、バッファレジスタ6にPr2コードが読出さ
れるまでは一致回路11の一致がとれないので、フリッ
プフロップ7はリセットされず、アドレスカウンタ2の
カウントアツプ動作が続けられる。
そして、プログラムメモリ1からバッファレジスタ6に
Pr2コードが読出されると、ステップDにおいてバッ
ファレジスタ5の保持内容5ub2に対してコード変換
回路9から出力されるPr2コードとバッファレジスタ
6の出力が一致し、一致回路11から”1”信号が出力
される。
すなわち、ステップEに示すプログラムPr2における
ヘッドアドレスの検出が行われる。
上記−数回路9の出力はクロックパルスφeに同期して
アンド回路12から出力され、フリップフロップ7をリ
セットする。
フリップフロップ7がリセットされると、アンド回路1
6のゲートが閉じ、アドレスカウンタ2のカウントアツ
ブ動作が停止する。
また、フリップフロップ7がリセットすることによりイ
ンバータ8の出力が”1”となってアンド回路3のゲー
トが開き、以後プログラムメモリ1から読出されるプロ
グラムの内容はアンド回路3を介してバッファレジスタ
5に送られるようになる。
以上でプログラムPr2に対するサブルーチンの指定を
終了し、以下オア回路15に与えられる実行命令に従っ
てプログラムメモリ1からプログラムPr2の内容が読
出され、その処理が実行される。
しかして、上記プログラムPr2に対する処理を終了す
ると、プログラムメモリ1からENDコードがバッファ
レジスタ5に読出される。
このENDコードがバッファレジスタ5に読出されると
、デコーダ10は出力線10bに“1”信号を出力する
この時点で処理を終了したプログラムPr2がサブルー
チンとして使用されたかどうか、つまり、第3図のステ
ップFに示すフリップフロップ14(S)がセットされ
ているか否かの判定を行う。
この判定の結果フリップフロップ14がセットされてい
なければアンド回路18から終了信号が出力されて全て
の処理が終了したことになるが、この点ではフリップフ
ロップ14(S)がセットされているので、アンド回路
17から1”信号が出力されてステップGに示すアドレ
スメモリ22の内容をアドレスカウンタ2に転送する処
理が行われる。
すなわち、アンド回路17の出力はオア回路21を介し
てアドレスカウンタ2に書込み指令として送られ、また
、この時点で”O”となっているフリップフロップ13
の出力が、インバータ25を介して”1”となってアン
ド回路23に印加されるのでアドレスメモリ22の内容
はアンド回路23を介してアドレスカウンタ2に転送さ
れる。
また、上記アンド回路17の出力は、クロックパルスφ
eに同期してフリップフロップ20に読込まれ、アドレ
スメモリ22の内容がアドレスカウンタ2に転送され終
えた時点でステップHに示すようにフリップフロップ1
4がリセット(クリア)される。
しかして、上記アドレスモリ22からアドレスカウンタ
2に送られたアドレスは、前記したようにメインプログ
ラムPrlのサブルーチン5ub2指定コード記憶アド
レスの次のアドレスを示すもので、以下このアドレスか
らメインプログラムPrlが実行される。
そして、上記メインプログラムPrlに対する処理を終
了するとプログラムメモリ1からバッファレジスタ5に
ENDコードが読出され、この結果デコーダ10から出
力線10bに”■”信号が出力される。
この際処理を終了したプログラムPrlがサブルーチン
として使用されたかどうか、つまりステップ■に示すよ
うにフリップフロップ14(S)がセットされているか
否かの判定が行われる。
上記プログラムPrlはメインプログラムとして使用さ
れているのでフリップフロップ14((S)はセットさ
れておらず、アンド回路18のゲートが開かれている。
従ってデコーダ10から出力線10bに出力される信号
はアンド回路18から終了信号として出力され、上記制
御部へ送られる。
また、プログラムPrlがサブルーチンとして使用され
ていれば、ステップJ、Kに示すように上記ステップG
、Hと同様の処理が行われ、他のプログラムにジャンプ
バックすることになる。
なお、上記実施例では、独立した1つのみのプログラム
をサブルーチンとして用いた場合を示したが、本発明は
これに限られることなく、例えば各々の独立したプログ
ラムに対応してサブルーチンとして用いられたか否かを
記憶する記憶部を設け、またジャンプバックアドレスを
記憶するアドレスメモリもスタックメモリとすることに
よって順次次のレベルに移行するようにしても良いこと
はもちろんであり、その他事発明の要旨を逸脱しない範
囲で種々変形応用出来ることは言うまでもない。
以上述べたように本発明によれば書き込まれたプログラ
ムにメインルーチン及びサブルーチンの機能を固定化せ
ず、他のプログラムによって指定されたプログラムをサ
ブルーチンとして動作するようにしたので、各プログラ
ム相互間において他のプログラムを任意に指定でき、プ
ログラムに柔軟性を持たせることが出来ると共に、各々
は独立したプログラムとして書き込まれている為プログ
ラムの書き込み操作あるいは読出し操作に何ら複雑さを
増すことはなく、またプログラム記憶領域の使用効率を
極めて良好に出来るプログラム処理方式を提供すること
が出来る。
【図面の簡単な説明】
第1図は本発明の基本的動作を説明するための図、第2
図は本発明の一実施例を示す構成国、第3図は同実施例
の動作を説明するためのフローチャートである。 1・・・・・・プログラムメモリ、2・・・・・・アド
レスカウンタ、5,6・・・・・・バッファレジスタ、
7,13゜14.20・・・・・・フリップフロップ、
9・・・・・・コード変換回路、10・・・・・・デコ
ーダ、11・・・・・・一致回路、22・・・・・・ア
ドレスメモリ。

Claims (1)

    【特許請求の範囲】
  1. 1 複数の独立したプログラムを記憶するプログラム記
    憶手段と、該プログラム記憶手段に記憶されているプロ
    グラムのアドレスを指定するアドレス指定手段と、該ア
    ドレス指定手段に順次指定されて読出された前記プログ
    ラムの内容が他の前記独立したプログラムをサブルーチ
    ンとして使用する内容であることを検出し記憶する検出
    記憶手段と、該検出記憶手段により前記独立したプログ
    ラムがサブルーチンとして使用されることが検出された
    際、復帰すべきアドレスを記憶する復帰アドレス記憶手
    段と、前記独立した一つのプログラムの処理が終了する
    毎に該プログラムが他の独立したプログラムのサブルー
    チンとして使用されたか否かを前記検出記憶手段の記憶
    内容により判定する判定手段と、該判定手段により前記
    独立したプログラムが他の独立したプログラムのサブル
    ーチンとして使用されなかったことが判定された時、前
    記独立したプログラムの終了によりその実行を終了し、
    且つ前記独立したプログラムが他の独立したプログラム
    のサブルーチンとして使用されたことが判定された時、
    前記アドレス記憶手段に記憶されているアドレスを前記
    アドレス指定手段に転送する手段とを具備したことを特
    徴とするプログラム処理方式。
JP3280876A 1976-03-25 1976-03-25 プログラム処理方式 Expired JPS5852261B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3280876A JPS5852261B2 (ja) 1976-03-25 1976-03-25 プログラム処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3280876A JPS5852261B2 (ja) 1976-03-25 1976-03-25 プログラム処理方式

Publications (2)

Publication Number Publication Date
JPS52116036A JPS52116036A (en) 1977-09-29
JPS5852261B2 true JPS5852261B2 (ja) 1983-11-21

Family

ID=12369125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3280876A Expired JPS5852261B2 (ja) 1976-03-25 1976-03-25 プログラム処理方式

Country Status (1)

Country Link
JP (1) JPS5852261B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57751A (en) * 1980-05-30 1982-01-05 Sharp Corp Computer with program editing function

Also Published As

Publication number Publication date
JPS52116036A (en) 1977-09-29

Similar Documents

Publication Publication Date Title
EP0062658A4 (en) STACK STORAGE FOR A DATA PROCESSING SYSTEM.
US4047245A (en) Indirect memory addressing
US4550369A (en) Apparatus and method for processing macroinstructions and microinstructions
EP0388735A2 (en) Microprogram controller having fixed-instruction generator and microprogram memory
JPS59116855A (ja) 制御メモリ機構
JPS5852261B2 (ja) プログラム処理方式
JPS6126979Y2 (ja)
JPH0447851B2 (ja)
JP2758624B2 (ja) マイクロプログラムの調速方式
JPS6242301B2 (ja)
JP2847863B2 (ja) マイクロプロセッサ割込み制御方式
JPS61143848A (ja) マイクロプログラム制御装置
JPS5935239A (ja) マイクロプログラム制御方式
JPS63163533A (ja) マイクロコンピユ−タ
JPS5875250A (ja) デジタル情報処理装置
JPS6247752A (ja) 情報処理装置の命令実行回数計数回路
JPS6218937B2 (ja)
JPS6232500B2 (ja)
JPS6320631A (ja) レジスタ選択方式
JPH03257572A (ja) マルチプロセッサシステム
JPH04162150A (ja) ウォッチドッグタイマ制御回路
JPS60193047A (ja) マイクロプログラムのロ−ドチエツク方式
JPH0810429B2 (ja) マイクロプログラム制御装置
JPS58181156A (ja) 状態履歴記憶装置
JPS6113612B2 (ja)