JPH0432414B2 - - Google Patents

Info

Publication number
JPH0432414B2
JPH0432414B2 JP2554183A JP2554183A JPH0432414B2 JP H0432414 B2 JPH0432414 B2 JP H0432414B2 JP 2554183 A JP2554183 A JP 2554183A JP 2554183 A JP2554183 A JP 2554183A JP H0432414 B2 JPH0432414 B2 JP H0432414B2
Authority
JP
Japan
Prior art keywords
stack
instruction
loop
address
loops
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
JP2554183A
Other languages
English (en)
Other versions
JPS59151240A (ja
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 filed Critical
Priority to JP2554183A priority Critical patent/JPS59151240A/ja
Publication of JPS59151240A publication Critical patent/JPS59151240A/ja
Publication of JPH0432414B2 publication Critical patent/JPH0432414B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、計算機のプログラムのシケンスを制
御する装置に関するものである。
従来例の構成とその問題点 計算機の命令は機能によつて、データ転送命
令・論理演算命令・算術演算命令・分岐命令・入
出力命令・制御命令などに分類されるが、そのう
ちプログラムのシーケンスに関与するのは分岐命
令であり、その中にはジヤンプ命令・サブルーチ
ンコール命令・ループ命令などが含まれる。
(ループ命令の第1の従来例) LOOP ADDRESS という命令について、その基本動作を第1図・第
2図を用いて説明する。1はループ回数をカウン
トするカウントレジスタ(CX)、2は命令カウン
タ(IC)である。中央演算装置(CPU)がこの
命令を実行すると、あらかじめループ回数がセツ
トされたカウントレジスタ1を1デクリメントア
した後、0判定イを行ない、0であれば、命令カ
ウンタ2を1インクリメントしてウ次の命令に、
0でなければ、命令カウンタ2にループ先頭アド
レスをセツトしてエ、指定されたアドレスにジヤ
ンプする。しかしながら、上記のような方法で
は、カウンタが専用のレジスタに固定されている
ため、ループの入れ子構造を取る場合にはループ
回数をメモリなどに退避あるいは復元する必要が
あり、制御が複雑になるという欠点を有してい
た。
次に、ループ命令に関する第2の従来例 STLOOP 〜 条件判定命令 LOOP IF FALSE という命令について、その基本動作を第3図・第
4図を用いて説明する。第4図において、3はス
タツク、4はスタツクポインタ、5は汎用レジス
タ(Reg)である。ループ開始命令STLOOPを
CPUが実行すると、ループ先頭アドレスをスタ
ツク3に格納しオ,カ、スタツクポインタ4を1
デクリメントキする。そして命令カウンタ2を1
インクリメントしながら順次命令を実行してい
く。次に条件判定命令を実行すると、命令カウン
タ2を1インクリメントした後、あらかじめルー
プ回数がセツトされた汎用レジスタ5を1デクリ
メントし0判定をするク。そして0判定が真であ
れば命令カウンタ2を1インクリメントケ,コし
た後スタツクポインタ4を1インクリメントサし
て次の命令へ、偽であれば命令カウンタ2にスタ
ツク最上部にセツトされたループ先頭アドレスを
セツトして指定したアドレスへジヤンプするケ,
シ。しかしながら本方法においても、第1の従来
例に比べて、条件判断命令のステツプが余分に必
要となり、プログラムサイズが増加するという欠
点を有していた。
発明の目的 本発明は、以上に説明したような欠点を取り除
いた計算機のプログラムのシーケンスを制御する
装置を提供するものである。
発明の構成 上記目的を達成するため本発明は、スタツクに
ループ先頭アドレスだけでなくループ回数も自動
格納可能な構成にしたものである。
実施例の説明 ループを制御する命令を LOOP〔ループ回数〕 NEXT とする。
第5図に本発明の一実施例におけるプログラム
シーケンス制御装置を示す。又、第6図にLOOP
命令実行時のレジスタ及びスタツク構造、第7図
にLOOP及びNEXT命令の基本動作を示し、以
下これらの図を用いて説明する。第5図におい
て、6はCPU、7はアドレスレジスタ、8はデ
ータ入出力回路、9は加算器であり、2,3,
4,5は従来例のものと同じである。
LOOP命令をCPUが実行すると、スタツクポ
インタ4の内容をアドレスレジスタ7へ移して情
報を格納すべきメモリアドレスの値を保持し、同
時に命令カウンタ2の内容(ループ先頭アドレ
ス)をデータ入出力回路8を通して、スタツク3
へ格納するス,セ。次にスタツクポインタ4の内
容を1デクリメントソした後、アドレスレジスタ
7へ移すと同時に、汎用レジスタ5(ループ回数
がセツトされている)の内容をデータ入出力回路
8を通してスタツク3へ格納タし、さらに、スタ
ツクポインタ4の内容を1デクリメント4する。
そして、命令カウンタ2を1インクリメントしな
がら順次命令を実行していく。
NEXT命令を実行すると、スタツクポインタ
4の内容を加算器9を通して1インクリメントツ
してアドレスレジスタ7へ移し、その指し示すメ
モリアドレスの内容(ループ回数)をデータ入出
力回路8へ移した後、加算器9を通して1デクリ
メントテ,トする。次に、ループ回数の0判定ナ
を行ない、0でなければ、そのループ回数をデー
タ入出力回路8を経てスタツクポインタ4が示す
メモリアドレスに格納ネし、その後、スタツクポ
インタ4の内容を再び加算器9を通して1インク
リメントノしてアドレスレジスタ7へ移し、指し
示すメモリアドレスの内容(ループ先頭アドレ
ス)をデータ入出力回路8を経て命令カウンタ2
に格納ハし直しループの先頭へ制御を移すと共
に、スタツクポインタ4の内容を加算器9を通し
て2デクリメントヒする。0であれば、命令カウ
ンタ2を1インクリメントニすると共に、スタツ
クポインタ4の内容を再び加算器9を通して1イ
ンクリメントヌして、次の命令を実行する。
従つて、ループ回数がもともとスタツクに記憶
され、ループ終了判定時の読出し/再格納を自動
化することよつて、入れ子構造のプログラムの場
合でも、従来例の様にプログラマがレジスタ内の
ループ回数(第1の従来例ではカウントレジスタ
CX、第2の従来例では汎用レジスタReg)をス
タツクに退避する命令を明示的に記述する必要が
なく、プログラミングが容易になると共に、実行
速度も速くなる なお、ループ内の命令でスタツク内のループ回
数に1を書き込み、NEXT命令実行時の1デク
リメントで0判定させることにより、ループから
強制的に抜け出すことも可能となる。
発明の効果 本発明によつて、次のような効果がもたらされ
る。
(i) スタツク内にループ先頭アドレスとループ回
数を持つことにより、入れ子構造を取る場合に
レジスタの退避/復元命令を明示的に記述する
必要がなく、プログラミングが容易になる。
(ii) NEXTという1命令が、ループ終了判定及
びループ先頭アドレスへの分岐を実行するた
め、命令記述に必要なメモリ領域が少なくてす
む。さらに単一命令をメモリからロード・解読
するだけで上記を実行できるため、実効的な実
行速度も速まる。
(iii) ループ内の命令でスタツク内のループ回数に
1を書き込み、NEXT命令実行時の1デクリ
メントで0判定させることにより、ループの中
からの脱出も容易である。
【図面の簡単な説明】
第1図は第1の従来例の基本動作を説明するフ
ローチヤート、第2図はそのレジスタ構造を説明
する図、第3図は第2の従来例の基本動作を説明
するフローチヤート、第4図はそのレジスタおよ
びスタツク構造を説明する図、第5図は本発明の
プログラムシーケンス制御装置の基本構造の一実
施例を説明するブロツク図、第6図は第5図のレ
ジスタ及びスタツク構造を説明する図、第7図は
本発明の基本動作を説明するフローチヤートであ
る。 3……スタツク、6……中央演算装置
(CPU)。

Claims (1)

  1. 【特許請求の範囲】 1 データまたはアドレス情報を一時退避するた
    めメモリ装置内に配置されたスタツクと、 上記メモリ装置とバス接続された中央演算装置
    内に配置され、現在実行中の命令アドレスを格納
    する命令カウンタと、 上記中央演算装置内に配置され常に上記スタツ
    クの最上位アドレスを記憶するスタツクポインタ
    とから構成され、 ループ開始命令の実行時にループ回数とループ
    先頭アドレスを上記スタツクに格納し、ループ終
    了判定命令の実行時に上記スタツク内の上記ルー
    プ回数を1デクリメントし、その結果が0であれ
    ば上記スタツクから上記ループ回数と上記ループ
    先頭アドレスを棄却した後上記命令カウンタをイ
    ンクリメントし、また上記結果が0でなければ上
    記スタツク内の上記ループ先頭アドレスを上記命
    令カウンタに転送することを特徴とするプログラ
    ムシーケンス制御装置。
JP2554183A 1983-02-17 1983-02-17 プログラムシ−ケンス制御装置 Granted JPS59151240A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2554183A JPS59151240A (ja) 1983-02-17 1983-02-17 プログラムシ−ケンス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2554183A JPS59151240A (ja) 1983-02-17 1983-02-17 プログラムシ−ケンス制御装置

Publications (2)

Publication Number Publication Date
JPS59151240A JPS59151240A (ja) 1984-08-29
JPH0432414B2 true JPH0432414B2 (ja) 1992-05-29

Family

ID=12168849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2554183A Granted JPS59151240A (ja) 1983-02-17 1983-02-17 プログラムシ−ケンス制御装置

Country Status (1)

Country Link
JP (1) JPS59151240A (ja)

Also Published As

Publication number Publication date
JPS59151240A (ja) 1984-08-29

Similar Documents

Publication Publication Date Title
US5701493A (en) Exception handling method and apparatus in data processing systems
US4833640A (en) Register bank change including register to register transfer in a data processing system
JPS645330B2 (ja)
US5499348A (en) Digital processor capable of concurrently executing external memory access and internal instructions
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
JPH0432414B2 (ja)
JP2697254B2 (ja) リアルタイム処理装置
JPH0222413B2 (ja)
JPH0447851B2 (ja)
JPS6242301B2 (ja)
US6269429B1 (en) Microcomputer which writer data to memory based on an interrupt control mode
EP0079995A1 (en) Information handling apparatus having an instruction-executing function at a high speed
JPS6146531A (ja) マイクロプロセツサ
JP2679603B2 (ja) マイクロコンピュータ
JP2675506B2 (ja) マイクロプロセッサ装置
JPH02214938A (ja) データ処理装置
JPS5999552A (ja) マイクロコンピユ−タ
JPS60176144A (ja) レジスタフアイル装置
JPS6042983B2 (ja) 命令制御方式
JPS6120139A (ja) 割込み制御方式
JPS6289140A (ja) マイクロプロセツサ
JPS5852261B2 (ja) プログラム処理方式
JPS60193046A (ja) 命令例外検出方式
JPS59189452A (ja) デ−タ処理装置用キユ−構造
JPS6215645A (ja) 中央処理装置