JPS5853381B2 - プログラム制御方式 - Google Patents
プログラム制御方式Info
- Publication number
- JPS5853381B2 JPS5853381B2 JP51032810A JP3281076A JPS5853381B2 JP S5853381 B2 JPS5853381 B2 JP S5853381B2 JP 51032810 A JP51032810 A JP 51032810A JP 3281076 A JP3281076 A JP 3281076A JP S5853381 B2 JPS5853381 B2 JP S5853381B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- register
- address
- written
- contents
- 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
Links
Landscapes
- Input From Keyboards Or The Like (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、プログラム付小型電子計算機におけるプログ
ラム制御方式に関する。 近年、例えば電子式卓上計算機等の小型電子式計算機に
プログラムを書を込むことが出来るようにしたプログラ
ム付小型電子式計算機(以下プログラム計算機と略称す
る)が実用化されつつある。 しかして、このプログラム計算機は書き込まれた複数の
プログラムを書き込まれた順に記憶している。 このため必要なプログラムがどの領域に書き込まれてい
るかは分らず、所定のプログラムに何らかのプログラム
の挿入あるいは何ステップかの消去または変更等に際し
てその操作を加えるステップ以降のプログラムつまり後
続するプログラムはシフトしなげればならずその制御が
極めて複雑になるものであった。 また、1つのプログラム全体を消去したい場合も、誤ま
って後続のプログラムまで消去してしまう虞れがある等
種々の欠点があった。 本発明は上記の点に鑑みてなされたもので、プログラム
の変更、訂正等、プログラムの書き込みを行う際には、
該当プログラムをメモリの空き領域の先頭部分に移すこ
とにより、他のプログラムに対する影響を少なくしてプ
ログラムの変更、訂正等の処理を確実に行い得るプログ
ラム制御方式を提供することを目的とする。 以下図面を参照して本発明の一実施例を説明する。 第1図はプログラム計算機全体の構成を示すもので、1
はテンキー、ファンクションキー及びプログラム関連キ
ー等を備えたキー人力部、2はこのキー人力部1から入
力される信号に応じて所定のROM(リードオンリーメ
モリ)アドレスを出力するアドレス回路であり、このア
ドレス回路2によってROM(リードオンリーメモリ)
3のアドレス指定が行われる。 このROM3には、各回路の動作を制御するマイクロプ
ログラムが組まれており、レジスタ指定信号を出力する
出力線4、転送指令、演算指令、桁シフト指令等各種イ
ンストラクションを出力する出力線5、キー操作に対応
したデータ及びその他のデータを出力する出力線6、所
定のタイミング信号を出力する出力線7、自己の次アド
レスを出力する出力線8を備えている。 なお、これ等冬山力線はパスラインとなっている。 そして、上記出力線4に出力されるレジスタ指定信号は
、レジスタの入出力指定デコーダ9゜10に送られ、出
力線5に出力されるインストラクションはインストラク
ションデーコダ11へ送られる。 また、出力線6に出力されるデータは、タイミングカウ
ンタ14からの順序パルスと共にコード発生回路12へ
送られ、出力線7に出力されるタイミング信号はタイミ
ングカウンタ14からの順序パルスと共にタイミング回
路13へ送られる。 また、出力線8に出力される次アドレスはアドレス回路
2へ送られROM3の次のアドレスを指定する。 しかして、上記インストラクションデコーダ11は、R
OM3から与えられるインストラクションを解読し、そ
の解読結果に従って入出力指定デコーダ9,10、ゲー
ト回路15゜16、及びアダー回路17に動作指令を与
える。 また、コード発生回路12は、ROM3から出力線6を
介して与えられ例えば4ビツトの並列データを、タイミ
ングカウンタ14からの順序パルスに同期したシリアル
コードに変換して出力する。 このコード発生回路12の出力は、ゲート回路18を介
してアダー回路17へ送られる。 また、タイミング回路13はROM3から出力線1を介
して与えられる例えば並列4ビツトで表わされたタイミ
ング信号をタイミングカウンタ14からの順序パルスに
同期したシリアルコードに変換して出力したり、後述す
るようにゲート回路15から出力されるメモリ記憶の列
指定アドレスを所定のタイミングで出力するもので、そ
の出力は入力指定デコーダ9,10へ送られる。 この入出力指定デコーダ9,10は、X、Y、Zの演算
用レジスタ19,20,21、進行中のプログラムのア
ドレス及び後述するプログラムメモリから読出されたプ
ログラムを必要に応じて組み換えて記憶するブラックレ
ジスタ22、上記プログラムメモリから読出されたプロ
グラムを一時記憶するインストラクションレジスタ23
種々のデータを記憶するデータメモリ24及びプログラ
ムの内容を記憶するプログラムメモリ25の入出力ゲー
トを所定のタイミングで開閉制御するもので、出力指定
デコーダ9の出力により、レジスタ19〜23及びメモ
!J24,25の出力側に設けられるゲート回路18が
開閉制御され入力指定デコーダ10の出力によりレジス
タ19〜23及びメモリ24,25の入力側にそれぞれ
設けられるゲート回路26゜320開閉制御が行われる
。 また、ゲート回路18の出力はアダー回路17を介して
ゲート回路26〜32に加えられると共に、さらにデコ
ーダ10の出力により開閉制御されるゲート回路33を
介して例えば8ビツト構成のアドレスレジスタ34に加
えられる。 このアドレスレジスタ34の出力は、ゲート回路18の
入力側に戻される。 また、アドレスレジスタ34の上位4ビツトの出力端に
はアッパアドレスを一時記憶する4ビツトのアッパレジ
スタ35が接続され、アドレスレジスタ34の下位4ビ
ツトの出力端にはロアーアドレスを一時記憶する4ビツ
トのロアーレジスタ36が接続される。 そして、上記アドレスレジスタ34からレジスタ35に
読出されるアッパアドレスはゲート回路31.32に送
られると共にゲート回路18にも送られ、アドレスレジ
スタ34からレジスタ36に読出されるロアーアドレス
はゲート回路15を介してタイミング回路13に送られ
る。 また、上記アダー回路17の出力は、インストラクショ
ンデコーダ11からの指令によってゲート制御されるゲ
ート回路16を介して判断回路37へ送られ、この判断
結果に応じたジャンプアドレスがアドレス回路2へ送ら
れる。 また一方、前記Xレジスタ19は表示レジスタを兼ねて
おり、その出力は直−並列変換回路38及びデコーダ3
9を介して表示部40に送られて表示される。 しかして、上記プログラムメモリ25は、第2図に示す
ように例えば16行×16列の容量を有し、各列は1デ
イジツト構成で2デイジツトにより1バイトが構成され
る。 そしてプログラムは1バイトずつステップが進められる
ものであり、従ってメモリ2501行には8ステツプの
記憶が行われる。 なお第2図aはプログラム番号1(Pr#1)の内容が
書込まれた状態、第2図すはプログラム番号1.2(P
r#1、Pr#2)の内容が書込まれた状態、第2図C
はプログラム番号1.2.3(Pr#1、Pr#2、P
r#3)の内容が書込まれた状態を示している。 この場合者プログラムは例えば列アドレスのO指定番地
から書込みが行なわれるようになっている。 また、上記プログラムPr#1〜Pr#3は、次に示す
内容が設定されている状態を示している。 aPr#=1:(プログラム番号は1である。 )ENT 1 : 2 : (変数入力はメモリの1番
地と2番地である。 )3=IX2(3番地に1番地×2番地の結果が入る。 )ANS 3 : (答は3番地である。 )END(終了) bpr#2:(プログラム番号は2である。 )ENT6:7:(変数入力は6番地と7番地である。 )8=6+7 : (8番地に6番地+7番地の結果が
入る。 )ANS8:(答は8番地である。 )END(終了) cPr#3:(プログラム番号は3である。 )ENT 4 : (変数入力は4番地である。 )5=に1.5X4 : (5番地に定数1.5X4番
地の結果が入る。 )ANS5:(答は5番地である。 )END(終了) なお、第2図において、Mはメモリ、Fはファンクショ
ン、Kは定数を意味し、データ書込みの不要部分はOで
示しである。 しかして、本発明は例えば第3図aに示すようにプログ
ラムメモリ25にPr # 1−Pr # 3のプログ
ラムが書込まれている場合において、PtO2の内容変
更する場合に、Pr#lの内容を第3図すに示すように
最後部プログラムPr#3の後に、つまり空領域の先頭
部分に移すようにしたものである。 このように指定プログラムを空領域の先頭部分に移すよ
うにすると、そのプログラムに対する書換え、割込み、
訂正、クリア等を他のプログラムに影響を与えることな
く迅速かつ確実に行わせることができるもので、以下そ
の詳細な動作を第4図のフローチャートに従って説明す
る。 まず、第2図aに示すようにプログラムメモリ25にプ
ログラムPr#1のみが書込まれている状態で、プログ
ラムPr#2を書込む場合の動作について説明する。 最初に第4図のステップAに示すようにプログラムキー
を操作してプログラムPr#2を指定する。 このキー操作によりキー人力部1からアドレス回路2に
信号が送られ、このアドレス回路2によりROM3の所
定アドレスが指定される。 この結果ROM3の出力線4,5゜7から信号が出力さ
れ、この信号に従って入出力指定デコーダ9,10から
制御指令が出力されてゲート回路29,18のゲートが
バイト1(バイト1とは下位2桁〜下位4桁のことであ
る)のタイミングで開かれ、ROM3から出力線6に出
力されるプログラム番号指定データPr#2がコード発
生回路12、ゲート回路18、アダー回路17、ゲート
回路29を介してフラグレジスタ22内のFB+ 領
域に書込まれる。 そして、上記ステップAの実行時にROM3の出力線8
に次アドレスが出力されステップAが紙了すると次のス
テップBに進む。 このステップBではROM3からの制御指令に従ってア
ドレスレジスタ34の内容がクリアされると共に、フラ
グレジスタ22内のFBo 5 FB□領域の内容がク
リアされる。 次いでステップCに進み、アドレスレジスタ34の内容
によってアドレス指定されるプログラムメモリ25の内
容P(A)が読出され、ゲート回路18、アダー回路1
7及びゲート回路30を介してインストラクションレジ
スタ23に書込まれる。 この場合、アドレスレジスタ34はステップBでクリア
されているので、アッパレジスタ35及びロアーレジス
タ36に読出されるアドレス内容は共に「0000」と
なっている。 アッパレジスタ35の内容はゲート回路18に印加され
、ロアーレジスタ36の内容はインストラクションデコ
ーダ11からの指令により開成されるゲート回路15を
介して読出され、タイミング回路13、出力指定デコー
タ9を介してゲート回路18に印加されるしかして、ア
ッパアドレス、ロアーアドレスが共に「0OOO」の場
合、プログラムメモリ25は第2図aにおけるO行O列
が指定されてその内容Pr#1が読出される。 従ってステップCにおいて、インストラクションレジス
タ23にはPtO2が書込まれる。 次いでステップDに進み、インストラクションレジスタ
23の内容カフラグレジスタ22のFBt 領域に記
憶されている内容Pr#2と等しいかどうか判断される
。 すなわち、インストラクションデコーダ11からゲート
回路16に判断命令がまた減算命令がアダー回路17に
与えられることにより、フラグレジスタ22及びインス
トラクションレジスタ23の内容がゲート回路18、を
介してアダー回路17で減算され、その結果がゲート回
路16を介して判断回路37に送られ、データの有無に
よって上記の判断動作が行われる。 今の場合、インストラクションレジスタ23にはプログ
ラム番号Pr#1が書込まれているので、PtO2と一
致せず判断結果はN。 となり、ステップEに進む。 ステップEでは、インストラクションレジスタ23の内
容が判断回路37に直接送られて
ラム制御方式に関する。 近年、例えば電子式卓上計算機等の小型電子式計算機に
プログラムを書を込むことが出来るようにしたプログラ
ム付小型電子式計算機(以下プログラム計算機と略称す
る)が実用化されつつある。 しかして、このプログラム計算機は書き込まれた複数の
プログラムを書き込まれた順に記憶している。 このため必要なプログラムがどの領域に書き込まれてい
るかは分らず、所定のプログラムに何らかのプログラム
の挿入あるいは何ステップかの消去または変更等に際し
てその操作を加えるステップ以降のプログラムつまり後
続するプログラムはシフトしなげればならずその制御が
極めて複雑になるものであった。 また、1つのプログラム全体を消去したい場合も、誤ま
って後続のプログラムまで消去してしまう虞れがある等
種々の欠点があった。 本発明は上記の点に鑑みてなされたもので、プログラム
の変更、訂正等、プログラムの書き込みを行う際には、
該当プログラムをメモリの空き領域の先頭部分に移すこ
とにより、他のプログラムに対する影響を少なくしてプ
ログラムの変更、訂正等の処理を確実に行い得るプログ
ラム制御方式を提供することを目的とする。 以下図面を参照して本発明の一実施例を説明する。 第1図はプログラム計算機全体の構成を示すもので、1
はテンキー、ファンクションキー及びプログラム関連キ
ー等を備えたキー人力部、2はこのキー人力部1から入
力される信号に応じて所定のROM(リードオンリーメ
モリ)アドレスを出力するアドレス回路であり、このア
ドレス回路2によってROM(リードオンリーメモリ)
3のアドレス指定が行われる。 このROM3には、各回路の動作を制御するマイクロプ
ログラムが組まれており、レジスタ指定信号を出力する
出力線4、転送指令、演算指令、桁シフト指令等各種イ
ンストラクションを出力する出力線5、キー操作に対応
したデータ及びその他のデータを出力する出力線6、所
定のタイミング信号を出力する出力線7、自己の次アド
レスを出力する出力線8を備えている。 なお、これ等冬山力線はパスラインとなっている。 そして、上記出力線4に出力されるレジスタ指定信号は
、レジスタの入出力指定デコーダ9゜10に送られ、出
力線5に出力されるインストラクションはインストラク
ションデーコダ11へ送られる。 また、出力線6に出力されるデータは、タイミングカウ
ンタ14からの順序パルスと共にコード発生回路12へ
送られ、出力線7に出力されるタイミング信号はタイミ
ングカウンタ14からの順序パルスと共にタイミング回
路13へ送られる。 また、出力線8に出力される次アドレスはアドレス回路
2へ送られROM3の次のアドレスを指定する。 しかして、上記インストラクションデコーダ11は、R
OM3から与えられるインストラクションを解読し、そ
の解読結果に従って入出力指定デコーダ9,10、ゲー
ト回路15゜16、及びアダー回路17に動作指令を与
える。 また、コード発生回路12は、ROM3から出力線6を
介して与えられ例えば4ビツトの並列データを、タイミ
ングカウンタ14からの順序パルスに同期したシリアル
コードに変換して出力する。 このコード発生回路12の出力は、ゲート回路18を介
してアダー回路17へ送られる。 また、タイミング回路13はROM3から出力線1を介
して与えられる例えば並列4ビツトで表わされたタイミ
ング信号をタイミングカウンタ14からの順序パルスに
同期したシリアルコードに変換して出力したり、後述す
るようにゲート回路15から出力されるメモリ記憶の列
指定アドレスを所定のタイミングで出力するもので、そ
の出力は入力指定デコーダ9,10へ送られる。 この入出力指定デコーダ9,10は、X、Y、Zの演算
用レジスタ19,20,21、進行中のプログラムのア
ドレス及び後述するプログラムメモリから読出されたプ
ログラムを必要に応じて組み換えて記憶するブラックレ
ジスタ22、上記プログラムメモリから読出されたプロ
グラムを一時記憶するインストラクションレジスタ23
種々のデータを記憶するデータメモリ24及びプログラ
ムの内容を記憶するプログラムメモリ25の入出力ゲー
トを所定のタイミングで開閉制御するもので、出力指定
デコーダ9の出力により、レジスタ19〜23及びメモ
!J24,25の出力側に設けられるゲート回路18が
開閉制御され入力指定デコーダ10の出力によりレジス
タ19〜23及びメモリ24,25の入力側にそれぞれ
設けられるゲート回路26゜320開閉制御が行われる
。 また、ゲート回路18の出力はアダー回路17を介して
ゲート回路26〜32に加えられると共に、さらにデコ
ーダ10の出力により開閉制御されるゲート回路33を
介して例えば8ビツト構成のアドレスレジスタ34に加
えられる。 このアドレスレジスタ34の出力は、ゲート回路18の
入力側に戻される。 また、アドレスレジスタ34の上位4ビツトの出力端に
はアッパアドレスを一時記憶する4ビツトのアッパレジ
スタ35が接続され、アドレスレジスタ34の下位4ビ
ツトの出力端にはロアーアドレスを一時記憶する4ビツ
トのロアーレジスタ36が接続される。 そして、上記アドレスレジスタ34からレジスタ35に
読出されるアッパアドレスはゲート回路31.32に送
られると共にゲート回路18にも送られ、アドレスレジ
スタ34からレジスタ36に読出されるロアーアドレス
はゲート回路15を介してタイミング回路13に送られ
る。 また、上記アダー回路17の出力は、インストラクショ
ンデコーダ11からの指令によってゲート制御されるゲ
ート回路16を介して判断回路37へ送られ、この判断
結果に応じたジャンプアドレスがアドレス回路2へ送ら
れる。 また一方、前記Xレジスタ19は表示レジスタを兼ねて
おり、その出力は直−並列変換回路38及びデコーダ3
9を介して表示部40に送られて表示される。 しかして、上記プログラムメモリ25は、第2図に示す
ように例えば16行×16列の容量を有し、各列は1デ
イジツト構成で2デイジツトにより1バイトが構成され
る。 そしてプログラムは1バイトずつステップが進められる
ものであり、従ってメモリ2501行には8ステツプの
記憶が行われる。 なお第2図aはプログラム番号1(Pr#1)の内容が
書込まれた状態、第2図すはプログラム番号1.2(P
r#1、Pr#2)の内容が書込まれた状態、第2図C
はプログラム番号1.2.3(Pr#1、Pr#2、P
r#3)の内容が書込まれた状態を示している。 この場合者プログラムは例えば列アドレスのO指定番地
から書込みが行なわれるようになっている。 また、上記プログラムPr#1〜Pr#3は、次に示す
内容が設定されている状態を示している。 aPr#=1:(プログラム番号は1である。 )ENT 1 : 2 : (変数入力はメモリの1番
地と2番地である。 )3=IX2(3番地に1番地×2番地の結果が入る。 )ANS 3 : (答は3番地である。 )END(終了) bpr#2:(プログラム番号は2である。 )ENT6:7:(変数入力は6番地と7番地である。 )8=6+7 : (8番地に6番地+7番地の結果が
入る。 )ANS8:(答は8番地である。 )END(終了) cPr#3:(プログラム番号は3である。 )ENT 4 : (変数入力は4番地である。 )5=に1.5X4 : (5番地に定数1.5X4番
地の結果が入る。 )ANS5:(答は5番地である。 )END(終了) なお、第2図において、Mはメモリ、Fはファンクショ
ン、Kは定数を意味し、データ書込みの不要部分はOで
示しである。 しかして、本発明は例えば第3図aに示すようにプログ
ラムメモリ25にPr # 1−Pr # 3のプログ
ラムが書込まれている場合において、PtO2の内容変
更する場合に、Pr#lの内容を第3図すに示すように
最後部プログラムPr#3の後に、つまり空領域の先頭
部分に移すようにしたものである。 このように指定プログラムを空領域の先頭部分に移すよ
うにすると、そのプログラムに対する書換え、割込み、
訂正、クリア等を他のプログラムに影響を与えることな
く迅速かつ確実に行わせることができるもので、以下そ
の詳細な動作を第4図のフローチャートに従って説明す
る。 まず、第2図aに示すようにプログラムメモリ25にプ
ログラムPr#1のみが書込まれている状態で、プログ
ラムPr#2を書込む場合の動作について説明する。 最初に第4図のステップAに示すようにプログラムキー
を操作してプログラムPr#2を指定する。 このキー操作によりキー人力部1からアドレス回路2に
信号が送られ、このアドレス回路2によりROM3の所
定アドレスが指定される。 この結果ROM3の出力線4,5゜7から信号が出力さ
れ、この信号に従って入出力指定デコーダ9,10から
制御指令が出力されてゲート回路29,18のゲートが
バイト1(バイト1とは下位2桁〜下位4桁のことであ
る)のタイミングで開かれ、ROM3から出力線6に出
力されるプログラム番号指定データPr#2がコード発
生回路12、ゲート回路18、アダー回路17、ゲート
回路29を介してフラグレジスタ22内のFB+ 領
域に書込まれる。 そして、上記ステップAの実行時にROM3の出力線8
に次アドレスが出力されステップAが紙了すると次のス
テップBに進む。 このステップBではROM3からの制御指令に従ってア
ドレスレジスタ34の内容がクリアされると共に、フラ
グレジスタ22内のFBo 5 FB□領域の内容がク
リアされる。 次いでステップCに進み、アドレスレジスタ34の内容
によってアドレス指定されるプログラムメモリ25の内
容P(A)が読出され、ゲート回路18、アダー回路1
7及びゲート回路30を介してインストラクションレジ
スタ23に書込まれる。 この場合、アドレスレジスタ34はステップBでクリア
されているので、アッパレジスタ35及びロアーレジス
タ36に読出されるアドレス内容は共に「0000」と
なっている。 アッパレジスタ35の内容はゲート回路18に印加され
、ロアーレジスタ36の内容はインストラクションデコ
ーダ11からの指令により開成されるゲート回路15を
介して読出され、タイミング回路13、出力指定デコー
タ9を介してゲート回路18に印加されるしかして、ア
ッパアドレス、ロアーアドレスが共に「0OOO」の場
合、プログラムメモリ25は第2図aにおけるO行O列
が指定されてその内容Pr#1が読出される。 従ってステップCにおいて、インストラクションレジス
タ23にはPtO2が書込まれる。 次いでステップDに進み、インストラクションレジスタ
23の内容カフラグレジスタ22のFBt 領域に記
憶されている内容Pr#2と等しいかどうか判断される
。 すなわち、インストラクションデコーダ11からゲート
回路16に判断命令がまた減算命令がアダー回路17に
与えられることにより、フラグレジスタ22及びインス
トラクションレジスタ23の内容がゲート回路18、を
介してアダー回路17で減算され、その結果がゲート回
路16を介して判断回路37に送られ、データの有無に
よって上記の判断動作が行われる。 今の場合、インストラクションレジスタ23にはプログ
ラム番号Pr#1が書込まれているので、PtO2と一
致せず判断結果はN。 となり、ステップEに進む。 ステップEでは、インストラクションレジスタ23の内
容が判断回路37に直接送られて
〔0〕かどうか判断さ
れる。 この時点ではインストラクションレジスタ23にはPr
1lが記憶されているので、判断結果はNOとなり、ス
テップFに進んでアドレスレジスタ34にある値nを加
算する。 本実施例の場合とのnはプログラムメモリ25における
次の行のバイトOをアドレス指令するためのものであり
、ロアーアドレスに「+16Jつまり結果的にアッパア
ドレスに「+1」を行なって行を一つ進めるものである
。 ステップFを終了すると再びステップCに戻り、アドレ
スレジスタ34の内容に従ってプログラムメモリ25の
内容を読出し、インストラクションレジスタ23に転送
される。 この場合アドレスレジスタ34にはnの値が加算されて
いるので、メモリ25は第2図aにおける1行の0列が
指定され、その内容M1がインストラクションレジスタ
23に読出される。 このインストラク□ジョンレジスタ23に読出された内
容M1は、フラグレジスタ22の”B1 領域に記憶
されている内容Pr#2と一致せず、また
れる。 この時点ではインストラクションレジスタ23にはPr
1lが記憶されているので、判断結果はNOとなり、ス
テップFに進んでアドレスレジスタ34にある値nを加
算する。 本実施例の場合とのnはプログラムメモリ25における
次の行のバイトOをアドレス指令するためのものであり
、ロアーアドレスに「+16Jつまり結果的にアッパア
ドレスに「+1」を行なって行を一つ進めるものである
。 ステップFを終了すると再びステップCに戻り、アドレ
スレジスタ34の内容に従ってプログラムメモリ25の
内容を読出し、インストラクションレジスタ23に転送
される。 この場合アドレスレジスタ34にはnの値が加算されて
いるので、メモリ25は第2図aにおける1行の0列が
指定され、その内容M1がインストラクションレジスタ
23に読出される。 このインストラク□ジョンレジスタ23に読出された内
容M1は、フラグレジスタ22の”B1 領域に記憶
されている内容Pr#2と一致せず、また
〔0〕でもな
いので上記の場合と同様に再びDEFのステップを通り
、アドレスレジスタ34に再び数値nが加算される。 この結果メモリレジスタ25は第2図aにおける2行の
0列のアドレスが指定され、ステップCにおいてその内
容がインストラクションレジスタ23に転送される。 この場合2行O列の内容は[0)であるので、ステップ
Dを経てステップEに進んだ際、その判断結果がYES
となり、ステップGに進む。 このステップGではフラグレジスタ220FB□ 領域
の内容、つまりこの場合Pr#2をインストラクション
レジスタ23に移し、さらにその時のアドレスレジスタ
の内容によってアドレス指定されるプログラムメモリ2
5に記憶させる。 この時点では上記したようにプログラムメモリ25は、
アドレスレジスタ34により2行O列が指定されている
ので、この部分にPtO2が書込まれる。 以上ですでにプログラムメモリ25に書込まれているプ
ログラムに対する処理を終了し、次の書込みフローに入
り、PtO2に対する書込みが行われる。 次に第2図すに示すように、プログラムメモリ25にP
tO1、PtO2のプログラムが書込まれている状態に
おいて、プログラムPr#2に対する書込み指定を行っ
た場合について説明する。 キー操作によりプログラムPr#2の書込み指定を行う
と、ステップAによりフラグレジスタ22のFBt
領域にPtO2が書込まれ、ステップB以下の動作が開
始される。 この場合プログラムメモリ2502行0列の内容が読出
される所までは、第2図aで説明した場合と同じであり
、前述したようにC−Fのステップが繰返される。 そして、2行O列がアドレス指定された時その内容Pr
#2がインストラクションレジスタ23に書込まれ、ス
テップDにおいてインストラクションレジスタ23の内
容とフラグレジスタ220FB1領域の内容Pr#2が
一致するかどうかの判断が行われると、その結果はYE
Sであり、ステップHに進む、このステップHでは、ア
ドレスレジスタ34の内容をフラグレジスタ22のFB
o 領域に一時記憶させる。 次いでステップ■に進みアドレスタ34の内容に数値n
を加算してプログラムメモリ25の次の行におけるバイ
ト0、つまり3行O列のアドレス指定を行い、その内容
M6をインストラクションレジスタ23に書込む。 そしてステップJに進み、インストラクションレジスタ
23にのロアー領域にPrコードが記憶されているか否
かを判断回路37において判断する。 この時点ではインストラクションレジスタ23の内容は
M6であり、Prコードを含まないので、判断結果はN
Oであり、ステップKに進んでインストラクションレジ
スタ23の内容が〔O〕であるがどうか判断される。 この時点における判断結果はNOであり、ステップ■に
戻る。 ステップ■においては、アドレスレジスタ34に再び数
値n カ加算され、メモリ25に対する4行O列のアド
レスが指定されてその内容がインストラクションレジス
タ23に書込まれる。 この場合メモリ25の4行O列の内容は
いので上記の場合と同様に再びDEFのステップを通り
、アドレスレジスタ34に再び数値nが加算される。 この結果メモリレジスタ25は第2図aにおける2行の
0列のアドレスが指定され、ステップCにおいてその内
容がインストラクションレジスタ23に転送される。 この場合2行O列の内容は[0)であるので、ステップ
Dを経てステップEに進んだ際、その判断結果がYES
となり、ステップGに進む。 このステップGではフラグレジスタ220FB□ 領域
の内容、つまりこの場合Pr#2をインストラクション
レジスタ23に移し、さらにその時のアドレスレジスタ
の内容によってアドレス指定されるプログラムメモリ2
5に記憶させる。 この時点では上記したようにプログラムメモリ25は、
アドレスレジスタ34により2行O列が指定されている
ので、この部分にPtO2が書込まれる。 以上ですでにプログラムメモリ25に書込まれているプ
ログラムに対する処理を終了し、次の書込みフローに入
り、PtO2に対する書込みが行われる。 次に第2図すに示すように、プログラムメモリ25にP
tO1、PtO2のプログラムが書込まれている状態に
おいて、プログラムPr#2に対する書込み指定を行っ
た場合について説明する。 キー操作によりプログラムPr#2の書込み指定を行う
と、ステップAによりフラグレジスタ22のFBt
領域にPtO2が書込まれ、ステップB以下の動作が開
始される。 この場合プログラムメモリ2502行0列の内容が読出
される所までは、第2図aで説明した場合と同じであり
、前述したようにC−Fのステップが繰返される。 そして、2行O列がアドレス指定された時その内容Pr
#2がインストラクションレジスタ23に書込まれ、ス
テップDにおいてインストラクションレジスタ23の内
容とフラグレジスタ220FB1領域の内容Pr#2が
一致するかどうかの判断が行われると、その結果はYE
Sであり、ステップHに進む、このステップHでは、ア
ドレスレジスタ34の内容をフラグレジスタ22のFB
o 領域に一時記憶させる。 次いでステップ■に進みアドレスタ34の内容に数値n
を加算してプログラムメモリ25の次の行におけるバイ
ト0、つまり3行O列のアドレス指定を行い、その内容
M6をインストラクションレジスタ23に書込む。 そしてステップJに進み、インストラクションレジスタ
23にのロアー領域にPrコードが記憶されているか否
かを判断回路37において判断する。 この時点ではインストラクションレジスタ23の内容は
M6であり、Prコードを含まないので、判断結果はN
Oであり、ステップKに進んでインストラクションレジ
スタ23の内容が〔O〕であるがどうか判断される。 この時点における判断結果はNOであり、ステップ■に
戻る。 ステップ■においては、アドレスレジスタ34に再び数
値n カ加算され、メモリ25に対する4行O列のアド
レスが指定されてその内容がインストラクションレジス
タ23に書込まれる。 この場合メモリ25の4行O列の内容は
〔0〕であり、
従ってステップJを経てステップKに進んだ際、その判
断結果はYESとなり、ステップLに進む。 このステップLではフラグレジスタ22のFBO領域に
一時記憶している内容、つまり、2行O列の指定アドレ
スをアドレスレジスタ34にセットする。 以上でプログラム処理を終了し、以下プログラムPr#
2に対する割込み、訂正、変更等の書込みフローに入る
。 次に第2図Cに示すように、プログラムメモリ25にP
r#1、Pr#2、Pr#3が書込まれている状態にお
いて1、プログラムPr#2に対する書込み指定を行っ
た場合について説明する。 キー操作によりプログラムPr#2の指定を行うとプロ
グラムメモリ25の4行O列のアドレス指定を行うステ
ップ■までは第2図すと同様の動作が行われる。 しかして、ステップIにおいてプログラムメモリ25の
4行0列が指定されてそめ内容Pr#3がインストラク
ションレジスタ23に書込まれると、ステップ■におい
てレジスタ23にPrコードが含まれているか否かの判
断が行われた場合に、その判断結果がYESとなり、ス
テップMに進む。 このステップMではアドレスレジスタ34の内容をクリ
アし全て“0″とする。 そして、アッパレジスタ35によってプログラムメモリ
25の0行指定を行い、その行の全バイト、つ−まり1
ワ一ド分のデータをゲート回路27を介してYレジスタ
20に転送して記憶される。 次いでステップNに進み、フラグレジスタ22のFB2
領域の内容が〔O〕か否かの判断が行われる。 このFB2 領域は最初
従ってステップJを経てステップKに進んだ際、その判
断結果はYESとなり、ステップLに進む。 このステップLではフラグレジスタ22のFBO領域に
一時記憶している内容、つまり、2行O列の指定アドレ
スをアドレスレジスタ34にセットする。 以上でプログラム処理を終了し、以下プログラムPr#
2に対する割込み、訂正、変更等の書込みフローに入る
。 次に第2図Cに示すように、プログラムメモリ25にP
r#1、Pr#2、Pr#3が書込まれている状態にお
いて1、プログラムPr#2に対する書込み指定を行っ
た場合について説明する。 キー操作によりプログラムPr#2の指定を行うとプロ
グラムメモリ25の4行O列のアドレス指定を行うステ
ップ■までは第2図すと同様の動作が行われる。 しかして、ステップIにおいてプログラムメモリ25の
4行0列が指定されてそめ内容Pr#3がインストラク
ションレジスタ23に書込まれると、ステップ■におい
てレジスタ23にPrコードが含まれているか否かの判
断が行われた場合に、その判断結果がYESとなり、ス
テップMに進む。 このステップMではアドレスレジスタ34の内容をクリ
アし全て“0″とする。 そして、アッパレジスタ35によってプログラムメモリ
25の0行指定を行い、その行の全バイト、つ−まり1
ワ一ド分のデータをゲート回路27を介してYレジスタ
20に転送して記憶される。 次いでステップNに進み、フラグレジスタ22のFB2
領域の内容が〔O〕か否かの判断が行われる。 このFB2 領域は最初
〔0〕に設定されており、従
ってステップNの判断結果はYESであり、ステップP
に進んでアドレスレジスタ34に数値nが加算される。 この加算によりプログラムメモリ25の次の行のアドレ
ス指定が行われ、その行のワードがステップQに示すよ
うにゲート回路28を介して2レジスタ21に読出され
る。 その後アドレスレジスタ34の内容から数値nが減算さ
れ最初の行がアドレス指定される。 次いでステップRに進み2レジスタ21の内容が〔O〕
か否かの判断を行う。 この時点ではZレジスタ21にはステップQでデータが
書込まれているので、ステップRの判定結果はNOとな
ってステップSに進み2レジスタ21の内容をゲート回
路32を介してプログラムメモリ25に書込む。 この時点ではアドレスレジスタ34の内容はプログラム
メモリ25の0行を指定しているので、0行への1ワー
ドデータの書込みが行われる。 すなわち、上記Sまでのステップを終了することによっ
て第2図Cの1行の1ワードデータが上位に位置する0
行に移されたことになる。 次いでステップTに進みアドレスレジスタ34の内容に
数値nが加算され、その後ステップPに戻る。 以下ステップP−Tの繰返しにより、プログラムメモリ
2502行以下の各行の内容が1行ずつ上位行に移され
る。 そして、プログラムの書き込まれていない領域即ち、Z
レジスタ21に転送された内容が
ってステップNの判断結果はYESであり、ステップP
に進んでアドレスレジスタ34に数値nが加算される。 この加算によりプログラムメモリ25の次の行のアドレ
ス指定が行われ、その行のワードがステップQに示すよ
うにゲート回路28を介して2レジスタ21に読出され
る。 その後アドレスレジスタ34の内容から数値nが減算さ
れ最初の行がアドレス指定される。 次いでステップRに進み2レジスタ21の内容が〔O〕
か否かの判断を行う。 この時点ではZレジスタ21にはステップQでデータが
書込まれているので、ステップRの判定結果はNOとな
ってステップSに進み2レジスタ21の内容をゲート回
路32を介してプログラムメモリ25に書込む。 この時点ではアドレスレジスタ34の内容はプログラム
メモリ25の0行を指定しているので、0行への1ワー
ドデータの書込みが行われる。 すなわち、上記Sまでのステップを終了することによっ
て第2図Cの1行の1ワードデータが上位に位置する0
行に移されたことになる。 次いでステップTに進みアドレスレジスタ34の内容に
数値nが加算され、その後ステップPに戻る。 以下ステップP−Tの繰返しにより、プログラムメモリ
2502行以下の各行の内容が1行ずつ上位行に移され
る。 そして、プログラムの書き込まれていない領域即ち、Z
レジスタ21に転送された内容が
〔0〕となった時ステ
ップRでの判断結果がYESとなり、上記の行の移動処
理を終了してステップUに進む。 このステップUでは、ステップMでプログラムメモリ2
5からYレジスタ20に書込んだ0行の内容をメモリ2
5に再書込みする。 この時点ではアドレスレジスタ34の内容はプログラム
メモリ25の空き領域の先頭つまり第2図Cにおける6
行の位置を示しており従ってプログラムPr#:3の最
終データが書込まれている行の次の行にプログラムPr
#2の最初の行が書込まれることになる。 次いでステップVに進み、Yレジスタ20内の下位2桁
領域YBOに指定プログラム番号PrN、つまりこの例
ではPr#2が記憶されているか否かの判断が行われる
。 この時点ではYレジスタ20はプログラムメモリ25か
ら読出したデータを保持しているが、この最初に読出し
たデータはPr#1であり、ステップVの判断結果はN
Oとなり、ステップMに戻る。 以下上記したようなステップ動作を繰返すことによりプ
ログラムメモリ25の上位行が順次最下行に移される。 そして、Pr#2のプログラムの最初の行がメモリ最下
行に移されると、ステップVにおける判断結果がYES
となり、ステップWに進んでフラグレジスタ220FB
2 領域をセットする。 その後ステップMに戻り、プログラムメモリ25の最上
位行、つまりPr#2における2行目のデータを読出し
てYレジスタ20にセットし、ステップOに進む。 このステップOはYレジスタ20の先頭桁にPrコード
が含まれているか否か判断するもので、この時点ではY
レジスタ20の記憶データ中にPrコードが含まれてい
ないので、ステップPに進み、このP以下のステップに
よりプログラムメモリ25の記憶データが1行上に移さ
れると共に上記Yレジスタ20の記憶データがプログラ
ムメモリ25の空領域の先頭部位に書込まれる。 その後ステップMまで進みプログラムメモリ25の最上
位行、つまりプログラムPr#3における先頭行のデー
タがYレジスタ20に読出され、さらにステップNを経
てステップOに進みYレジスタ20の最下桁にPrコー
ドが含まれているか否かの判断が行われると、Yしジス
タ20の記憶データ中にPr#3のデータが含まれてい
るので、ステップOの判断結果はYESとなり、ステッ
プXに進む。 この時指定されたプログラムPr#2はプログラムメモ
リ25の空領域の先頭部位にすでに転送され終えて居り
、ステップXでは、Yレジスタ20の記憶データをプロ
グラムメモリ25の最上位桁に再書込みする動作が行わ
れる。 以上のステップで指定プログラムの移動を終了し、ステ
ップBに戻り、B以下のステップにより、第2図すの説
明と同様の動作によって指定プログラムがプログラムメ
モリ25において記憶データの最後に位置しているか否
かの確認が行われる。 この確認終了後に前記したようにプログラムPr#:2
に対する割込み、訂正、変更等の書込みフローに入る。 なお、上記実施例ではプログラムの先頭が必ず各60列
に書き込まれるものについて説明したが、本発明はこれ
に限られることなく前のプログラムの終了に続いてすぐ
次のプログラムを書き込むものでも良く、この際には1
バイトづつの転送あるいは所定ブロック各の転送等によ
って可能となる。 以上述べたように本発明によれば、指定プログラムをプ
ログラムメモリ空領域の先頭、つまり記憶データの最後
部に移すようにしたので、指定したプログラムに割込み
、訂正、クリア等の処理を加えたとしてもシフトする領
域は自身のプログラム内の後続するものだけであるから
その処理が容易になるばかりでな(また処理時間も短く
することが可能となる。 また、指定したプログラム全てをクリアする際クリアす
る領域を判断しながら行なう必要はなくその制御も極め
て容易なものである。 さらに、指定されたプログラムに上記した割り込み、訂
正、クリア等の処理を加えたとしても他のプログラムは
何ら影響を与えることもない。
ップRでの判断結果がYESとなり、上記の行の移動処
理を終了してステップUに進む。 このステップUでは、ステップMでプログラムメモリ2
5からYレジスタ20に書込んだ0行の内容をメモリ2
5に再書込みする。 この時点ではアドレスレジスタ34の内容はプログラム
メモリ25の空き領域の先頭つまり第2図Cにおける6
行の位置を示しており従ってプログラムPr#:3の最
終データが書込まれている行の次の行にプログラムPr
#2の最初の行が書込まれることになる。 次いでステップVに進み、Yレジスタ20内の下位2桁
領域YBOに指定プログラム番号PrN、つまりこの例
ではPr#2が記憶されているか否かの判断が行われる
。 この時点ではYレジスタ20はプログラムメモリ25か
ら読出したデータを保持しているが、この最初に読出し
たデータはPr#1であり、ステップVの判断結果はN
Oとなり、ステップMに戻る。 以下上記したようなステップ動作を繰返すことによりプ
ログラムメモリ25の上位行が順次最下行に移される。 そして、Pr#2のプログラムの最初の行がメモリ最下
行に移されると、ステップVにおける判断結果がYES
となり、ステップWに進んでフラグレジスタ220FB
2 領域をセットする。 その後ステップMに戻り、プログラムメモリ25の最上
位行、つまりPr#2における2行目のデータを読出し
てYレジスタ20にセットし、ステップOに進む。 このステップOはYレジスタ20の先頭桁にPrコード
が含まれているか否か判断するもので、この時点ではY
レジスタ20の記憶データ中にPrコードが含まれてい
ないので、ステップPに進み、このP以下のステップに
よりプログラムメモリ25の記憶データが1行上に移さ
れると共に上記Yレジスタ20の記憶データがプログラ
ムメモリ25の空領域の先頭部位に書込まれる。 その後ステップMまで進みプログラムメモリ25の最上
位行、つまりプログラムPr#3における先頭行のデー
タがYレジスタ20に読出され、さらにステップNを経
てステップOに進みYレジスタ20の最下桁にPrコー
ドが含まれているか否かの判断が行われると、Yしジス
タ20の記憶データ中にPr#3のデータが含まれてい
るので、ステップOの判断結果はYESとなり、ステッ
プXに進む。 この時指定されたプログラムPr#2はプログラムメモ
リ25の空領域の先頭部位にすでに転送され終えて居り
、ステップXでは、Yレジスタ20の記憶データをプロ
グラムメモリ25の最上位桁に再書込みする動作が行わ
れる。 以上のステップで指定プログラムの移動を終了し、ステ
ップBに戻り、B以下のステップにより、第2図すの説
明と同様の動作によって指定プログラムがプログラムメ
モリ25において記憶データの最後に位置しているか否
かの確認が行われる。 この確認終了後に前記したようにプログラムPr#:2
に対する割込み、訂正、変更等の書込みフローに入る。 なお、上記実施例ではプログラムの先頭が必ず各60列
に書き込まれるものについて説明したが、本発明はこれ
に限られることなく前のプログラムの終了に続いてすぐ
次のプログラムを書き込むものでも良く、この際には1
バイトづつの転送あるいは所定ブロック各の転送等によ
って可能となる。 以上述べたように本発明によれば、指定プログラムをプ
ログラムメモリ空領域の先頭、つまり記憶データの最後
部に移すようにしたので、指定したプログラムに割込み
、訂正、クリア等の処理を加えたとしてもシフトする領
域は自身のプログラム内の後続するものだけであるから
その処理が容易になるばかりでな(また処理時間も短く
することが可能となる。 また、指定したプログラム全てをクリアする際クリアす
る領域を判断しながら行なう必要はなくその制御も極め
て容易なものである。 さらに、指定されたプログラムに上記した割り込み、訂
正、クリア等の処理を加えたとしても他のプログラムは
何ら影響を与えることもない。
第1図は本発明の一実施例を示す回路構成図、第2図は
同実施例におけるプログラムメモリのプログラム記憶状
態を示す図、第3図は同実施例におけるプログラムメモ
リのプログラムデータの移動状態を示す図、第4図は同
実施例の動作を説明するためのフローチャートである。 1・・・・・・キー人力部、3−叩−ROM、15.1
6゜18.26〜32・・・・・・ゲート回路、19〜
21・°。 ・°・演算用レジスタ、22・・・・・フラグレジスタ
、23・・・・・・インストラクションレジスタ、24
・・・・・・データメモリ、25・・・・・・プログラ
ムメモリ、37・・・・・・判断部。
同実施例におけるプログラムメモリのプログラム記憶状
態を示す図、第3図は同実施例におけるプログラムメモ
リのプログラムデータの移動状態を示す図、第4図は同
実施例の動作を説明するためのフローチャートである。 1・・・・・・キー人力部、3−叩−ROM、15.1
6゜18.26〜32・・・・・・ゲート回路、19〜
21・°。 ・°・演算用レジスタ、22・・・・・フラグレジスタ
、23・・・・・・インストラクションレジスタ、24
・・・・・・データメモリ、25・・・・・・プログラ
ムメモリ、37・・・・・・判断部。
Claims (1)
- 1 各種の演算プログラムを書き込むキー人力部と、該
キー人力部により順次書き込まれた複数の演算プログラ
ムを記憶し得るプログラム記憶部と、上記キー人力部よ
り所定のプログラムが指定された時上記プログラム記憶
部内の当該プログラムに後続して他のプログラムが書き
込まれているか否かを検出する検出手段と、該検出手段
により上記指定されたプログラムに後続して他のプログ
ラムが書き込まれていることが検出された時、上記指定
されたプログラムを上記プログラム記憶部の空領域の先
頭部分に、移動する手段とを具備したことを特徴とする
プログラム制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP51032810A JPS5853381B2 (ja) | 1976-03-25 | 1976-03-25 | プログラム制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP51032810A JPS5853381B2 (ja) | 1976-03-25 | 1976-03-25 | プログラム制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS52116038A JPS52116038A (en) | 1977-09-29 |
| JPS5853381B2 true JPS5853381B2 (ja) | 1983-11-29 |
Family
ID=12369177
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP51032810A Expired JPS5853381B2 (ja) | 1976-03-25 | 1976-03-25 | プログラム制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5853381B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5839329A (ja) * | 1981-09-01 | 1983-03-08 | Canon Inc | 文字列訂正装置 |
-
1976
- 1976-03-25 JP JP51032810A patent/JPS5853381B2/ja not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS52116038A (en) | 1977-09-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA1207454A (en) | Data processing apparatus having alterable interest rate mode capability | |
| JPS58213369A (ja) | 検算機能付小型電子式計算機 | |
| JPS5853381B2 (ja) | プログラム制御方式 | |
| JPS58115673A (ja) | 記憶情報制御方式及び装置 | |
| JPS6019538B2 (ja) | プログラム書込み方式 | |
| US4761750A (en) | Electronic calculator with a program calculation function | |
| JPH0421151Y2 (ja) | ||
| JPS5921068B2 (ja) | プログラムステツプ算出方式 | |
| JPH0122658B2 (ja) | ||
| JPS5931745B2 (ja) | 未使用プログラム番号表示方式 | |
| JPS6145550Y2 (ja) | ||
| JPS6217782B2 (ja) | ||
| JPH0445875B2 (ja) | ||
| JPS5957270A (ja) | 電子学習機 | |
| JPH067393Y2 (ja) | 電子機器 | |
| JPS589432B2 (ja) | 文書編集処理用カ−ソル制御装置 | |
| JPS5851331A (ja) | 文字処理装置 | |
| JPS6032228B2 (ja) | 小型電子式計算機におけるクリア制御方式 | |
| JPH0532781B2 (ja) | ||
| JPS61198353A (ja) | デ−タ入力方式 | |
| JPS6115466B2 (ja) | ||
| JPS6151192A (ja) | グラフ表示装置 | |
| JPS6233627B2 (ja) | ||
| JPS626253B2 (ja) | ||
| JPS5818732A (ja) | 文字処理装置 |