JPS61289432A - 記述子によるリスト制御方式 - Google Patents
記述子によるリスト制御方式Info
- Publication number
- JPS61289432A JPS61289432A JP13246285A JP13246285A JPS61289432A JP S61289432 A JPS61289432 A JP S61289432A JP 13246285 A JP13246285 A JP 13246285A JP 13246285 A JP13246285 A JP 13246285A JP S61289432 A JPS61289432 A JP S61289432A
- Authority
- JP
- Japan
- Prior art keywords
- list
- descriptor
- address
- block
- machine language
- 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.)
- Pending
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は電子計算機によってデータ処理を行う際のリス
ト処理に関し、特に記述子のリスト制御方式に関する。
ト処理に関し、特に記述子のリスト制御方式に関する。
(従来の技術)
従来、この徨のリスト処理を効率化するため機械語を使
用する場合には、リスト上の先頭のブロックを削除する
か、またはリスト上の末尾に新しいブロックを登録する
といった限定された範囲のリスト処理のみが取扱われて
いた。
用する場合には、リスト上の先頭のブロックを削除する
か、またはリスト上の末尾に新しいブロックを登録する
といった限定された範囲のリスト処理のみが取扱われて
いた。
(発明が解決しようとする問題点)
上述した従来の方式によるリスト処理の機械語化では、
限定された範囲の機能しか実現されていなかったため、
適用できる範囲が限定され、以下に示すような欠点をも
っていた。すなわち、第1にアセンブラで記述した場合
に記述量が減らないという欠点があり、第2にコンパイ
ルした場合のオブジェクトがそれ程小さくならず、その
結果、制御プログラム全体の性能に与える効果も小さい
という欠点があった。
限定された範囲の機能しか実現されていなかったため、
適用できる範囲が限定され、以下に示すような欠点をも
っていた。すなわち、第1にアセンブラで記述した場合
に記述量が減らないという欠点があり、第2にコンパイ
ルした場合のオブジェクトがそれ程小さくならず、その
結果、制御プログラム全体の性能に与える効果も小さい
という欠点があった。
本発明の目的は、リストの構造を示す記述子、上記記述
子をもとに処理を行う機械語、および上記機械語を実行
する中央処理装置を組合せることによシ上記欠点を除去
し、制御プログラムの性能を向上できるように構成した
記述子によるリスト制御方式を提供することにある。
子をもとに処理を行う機械語、および上記機械語を実行
する中央処理装置を組合せることによシ上記欠点を除去
し、制御プログラムの性能を向上できるように構成した
記述子によるリスト制御方式を提供することにある。
(問題点を解決するための手段)
本発明による記述子によるリスト制御方式は、電子計算
機制御プログラムのリスト処理へ使用できるようにリス
ト構造を示す記述子を含む記憶装置と、記述子をもとに
処理を行う機械語を格納するためのレジスタと、機械語
を実行するための中央処理装置とを具備して構成したも
のである。
機制御プログラムのリスト処理へ使用できるようにリス
ト構造を示す記述子を含む記憶装置と、記述子をもとに
処理を行う機械語を格納するためのレジスタと、機械語
を実行するための中央処理装置とを具備して構成したも
のである。
(実施例)
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明によるリスト制御方式の一実施例を示
すブロック図である。第1図において、1はリスト、2
1〜23はそれぞれリストを構成するブロック、211
,221,251はそれぞれリスト1上の次ブロツク番
地を格納するためのアドレス領域、212,222.2
32はそれぞれ昇順、または降順にブロックを並べる場
合の対象値を格納するためのデータ領域、3はリスト1
上の先頭ブロックの番地を格納しているアドレス領域、
4はリスト1の構造を示す記述子、4−1はりスト1上
の先頭ブロック番地格納領域の番地を格納するための記
述子内のアドレス領域、4−2はりスト1上の次ブロツ
ク番地格納領域のブロック内相対番地を格納するための
記述子内のアドレス領域、4−8は昇順または降順にブ
ロックを並べる場合の対象値格納領域のブロック内相対
番地を格納するための記述子内のアドレス領域、4−4
はブロックを並べる場合の対象値格納領域の長さを格納
するための記述子内のアドレス領域、4−5はブロック
登録時の並べ方指示内容を格納するだめの記述子内のア
ドレス領域、4−6は削除時の順序指示値を格納するた
めの記述子内のアドレス領域、5はブロック、6−1は
りスト1上にブロックが登録された場合に次ブロツク番
地を格納するためのアドレス領域、5−2はりスト1上
にブロックを登録する場合に比較対象値を格納するため
のデータ領域、6は機械語、6−1はリスト処理する機
械語6のオペレーションコード、6−2はリスト処理す
る機械rigの一つめのオペランド、6−3はリスト処
理する機械語6の二つめのオペランド、1は中央処理装
置である。
すブロック図である。第1図において、1はリスト、2
1〜23はそれぞれリストを構成するブロック、211
,221,251はそれぞれリスト1上の次ブロツク番
地を格納するためのアドレス領域、212,222.2
32はそれぞれ昇順、または降順にブロックを並べる場
合の対象値を格納するためのデータ領域、3はリスト1
上の先頭ブロックの番地を格納しているアドレス領域、
4はリスト1の構造を示す記述子、4−1はりスト1上
の先頭ブロック番地格納領域の番地を格納するための記
述子内のアドレス領域、4−2はりスト1上の次ブロツ
ク番地格納領域のブロック内相対番地を格納するための
記述子内のアドレス領域、4−8は昇順または降順にブ
ロックを並べる場合の対象値格納領域のブロック内相対
番地を格納するための記述子内のアドレス領域、4−4
はブロックを並べる場合の対象値格納領域の長さを格納
するための記述子内のアドレス領域、4−5はブロック
登録時の並べ方指示内容を格納するだめの記述子内のア
ドレス領域、4−6は削除時の順序指示値を格納するた
めの記述子内のアドレス領域、5はブロック、6−1は
りスト1上にブロックが登録された場合に次ブロツク番
地を格納するためのアドレス領域、5−2はりスト1上
にブロックを登録する場合に比較対象値を格納するため
のデータ領域、6は機械語、6−1はリスト処理する機
械語6のオペレーションコード、6−2はリスト処理す
る機械rigの一つめのオペランド、6−3はリスト処
理する機械語6の二つめのオペランド、1は中央処理装
置である。
第1図において、本実施例は一方向のポインタによって
リスト上の次ブロックを示す形式のりスト1、リスト1
を構成するブロック21〜23、リスト1の構造を示す
記述子4、記述子4を使用するリスト処理の機械語6、
ならびに機械語6を実行する中央処理装置1から成る。
リスト上の次ブロックを示す形式のりスト1、リスト1
を構成するブロック21〜23、リスト1の構造を示す
記述子4、記述子4を使用するリスト処理の機械語6、
ならびに機械語6を実行する中央処理装置1から成る。
第1図においてリスト1、ブロック21〜23、記述子
4などは主記憶装置(図示してない)に格納されている
ものとする。
4などは主記憶装置(図示してない)に格納されている
ものとする。
記述子4の内部には、リスト1上の先頭ブロック21の
番地を格納するためのアドレス領域3の番地、リスト1
上の次ブロックの番地を格納するためのアドレス領域2
11,221.2!5〜1のブロック内相対番地、昇順
または降順にブロックを並べる場合の対象値を格納する
ためのデータ領域212.222,232のブロック内
相対番地、およびそのデータ領域の長さ、登録時のブロ
ック並べ方を示す値、ならびに削除時の順序を示す値な
どの情報が格納されている。
番地を格納するためのアドレス領域3の番地、リスト1
上の次ブロックの番地を格納するためのアドレス領域2
11,221.2!5〜1のブロック内相対番地、昇順
または降順にブロックを並べる場合の対象値を格納する
ためのデータ領域212.222,232のブロック内
相対番地、およびそのデータ領域の長さ、登録時のブロ
ック並べ方を示す値、ならびに削除時の順序を示す値な
どの情報が格納されている。
機械語6は、一つのオペランドコード部と二つのオペラ
ンド部から成シ、最初のオペランドはリスト記述子4の
番地を示し、二っめのオペランドはブロックの番地を示
している。
ンド部から成シ、最初のオペランドはリスト記述子4の
番地を示し、二っめのオペランドはブロックの番地を示
している。
次に、上記実施例における機械語6の動作を説明する。
まず、リスト1へのデータの登録を説明する。
機械語6の二番目のオペランドは、新規に、 IJラス
ト登録したいブロックの番地を示すものである。
ト登録したいブロックの番地を示すものである。
中央処理装置7で機械語6を受取ると、まず記述子4を
参照し、登録時の並べ方を調べる。
参照し、登録時の並べ方を調べる。
本実施例で、登録時のブロックの並べ方には次の6種類
がある。第1は第2図に示すようにブロック21〜23
の先頭にブロック5を置く方法、第2は第3図に示すよ
うにブロック21〜23の末尾にブロック5を置く方法
、第3は第4図に示すように値に関して昇順で、同じ値
の場合にはそれらの先頭にブロック5を置く方法、第4
は第5図に示すように値に関しては昇順で、同じ値の場
合にはそれらの末尾にブロック5を置く方法、第5は第
6図に示すように値に関して降順で、同じ値の場合には
それらの先頭にブロック5を置く方法、第6は第7図に
示すように値に関して降順で、同じ値の場合にはそれら
の末尾にブロック5を置く方法である。ここで、第4の
場合の並べ方が指定されていたものとする。
がある。第1は第2図に示すようにブロック21〜23
の先頭にブロック5を置く方法、第2は第3図に示すよ
うにブロック21〜23の末尾にブロック5を置く方法
、第3は第4図に示すように値に関して昇順で、同じ値
の場合にはそれらの先頭にブロック5を置く方法、第4
は第5図に示すように値に関しては昇順で、同じ値の場
合にはそれらの末尾にブロック5を置く方法、第5は第
6図に示すように値に関して降順で、同じ値の場合には
それらの先頭にブロック5を置く方法、第6は第7図に
示すように値に関して降順で、同じ値の場合にはそれら
の末尾にブロック5を置く方法である。ここで、第4の
場合の並べ方が指定されていたものとする。
次に1中央処理装置7ではりスト1上の先頭ブロック番
地を格納しているアドレス領域3の番地を記述子4のな
かから探し出す。次に、先頭ブロック番地を求める。本
実施例では、末尾ブロック内部の次のブロックの番地を
格納しているアドレス領域の値を101に設定している
ため、先に得られた先頭ブロック番地が%Olであるか
否かを調べる。上記アドレス領域の値が%Qlであるな
らば、先頭番地を格納しているアドレス領域に第2のオ
ペランドによって示されたブロックの番地を格納し、当
該ブロック内の次のブロック番地を格納しているアドレ
ス領域に%Qlを格納し、機械語6に対する処理を終了
する。斯かる処理については、第8図に説明しである。
地を格納しているアドレス領域3の番地を記述子4のな
かから探し出す。次に、先頭ブロック番地を求める。本
実施例では、末尾ブロック内部の次のブロックの番地を
格納しているアドレス領域の値を101に設定している
ため、先に得られた先頭ブロック番地が%Olであるか
否かを調べる。上記アドレス領域の値が%Qlであるな
らば、先頭番地を格納しているアドレス領域に第2のオ
ペランドによって示されたブロックの番地を格納し、当
該ブロック内の次のブロック番地を格納しているアドレ
ス領域に%Qlを格納し、機械語6に対する処理を終了
する。斯かる処理については、第8図に説明しである。
上記アドレス領域の値が101でなければ先頭ブロック
から順番にアドレスを比較し、ブロック内に対象となる
儂が第2のオペランドによって示され、ブロック内の対
象となる値よりも大きいか否かを探す。上記条件を満足
するものが見出されれば、直前に第2のオペランドによ
って示されたブロック24を挿入する。斯かる処理につ
いては、第9図に説明しである。上記条件を満足するも
のが見つからなければリストの末尾に第2のオペランド
によって示されたブロック24を挿入する。斯かる処理
については、第10図に説明しである。
から順番にアドレスを比較し、ブロック内に対象となる
儂が第2のオペランドによって示され、ブロック内の対
象となる値よりも大きいか否かを探す。上記条件を満足
するものが見出されれば、直前に第2のオペランドによ
って示されたブロック24を挿入する。斯かる処理につ
いては、第9図に説明しである。上記条件を満足するも
のが見つからなければリストの末尾に第2のオペランド
によって示されたブロック24を挿入する。斯かる処理
については、第10図に説明しである。
次に、リスト1上のブロック21〜23を参照する動作
について説明する。
について説明する。
本実施例では、次の2種類の機械語6が参照用に定義さ
れている。第1の種類の機械語6はリスト1上の先頭ブ
ロック番地を得るためのものである。第2の種類の機械
語6は、リスト1上の次ブロツク番地を得るためのもの
である。ここで、第2の種類の機械語が指定されていた
ものとする。
れている。第1の種類の機械語6はリスト1上の先頭ブ
ロック番地を得るためのものである。第2の種類の機械
語6は、リスト1上の次ブロツク番地を得るためのもの
である。ここで、第2の種類の機械語が指定されていた
ものとする。
この場合、機械語6の2番目のオペランドはりスト1上
のあるブロックの番地を示している。中央処理装置7は
機械語6を受取ると、最初に記述子4を参照し、リスト
1上の次ブロツク番地を格納しているアドレス領域21
1,221,231のブロック内相対番地を得る。次に
、2番目のオペランドからりスト1上のあるブロックの
番地を求める。2番目のオペランドの値が%Olである
ならば不正命令の割込みを発生し、上記機械語6に対す
る処理を終了する。上記オペランドの値が一〇lでなけ
れば、オペランド値に先に得られた次ブロツク番地を格
納するアドレス領域211゜221.251のブロック
内相対番地を加算し、加算結果の値を番地とするデータ
領域212゜222.252の内容を2番目のオペラン
ドに戻す。2番目のオペランドに戻した次ブロツク番地
が%Olであるか否かによって条件付きジャンプ命令で
使用できるフラグを設定し、上記機械語6に対する処理
を終了する。
のあるブロックの番地を示している。中央処理装置7は
機械語6を受取ると、最初に記述子4を参照し、リスト
1上の次ブロツク番地を格納しているアドレス領域21
1,221,231のブロック内相対番地を得る。次に
、2番目のオペランドからりスト1上のあるブロックの
番地を求める。2番目のオペランドの値が%Olである
ならば不正命令の割込みを発生し、上記機械語6に対す
る処理を終了する。上記オペランドの値が一〇lでなけ
れば、オペランド値に先に得られた次ブロツク番地を格
納するアドレス領域211゜221.251のブロック
内相対番地を加算し、加算結果の値を番地とするデータ
領域212゜222.252の内容を2番目のオペラン
ドに戻す。2番目のオペランドに戻した次ブロツク番地
が%Olであるか否かによって条件付きジャンプ命令で
使用できるフラグを設定し、上記機械語6に対する処理
を終了する。
以上説明したりスト1へ登録される機械語、およびリス
ト1上のブロックを参照する機械語を通常の機械語で記
述した場合には、それぞれ10ステツプおよび5ステツ
プとなって、明らかにオブジェクトの大きさを小さくで
きる。
ト1上のブロックを参照する機械語を通常の機械語で記
述した場合には、それぞれ10ステツプおよび5ステツ
プとなって、明らかにオブジェクトの大きさを小さくで
きる。
(発明の効果)
以上説明したように本発明は、リストの構造を示す記述
子、上記記述子をもとに処理を実行する機械語、および
上記機械語を実行する中央処理装置を組合せることによ
り、広い範囲に適用できるリスト処理の機械語化が可能
となり、第1にアセンブラで記述した場合の記述量が減
するという効果があり、第2にコンパイルした場合にオ
ブジェクトを小さくできるという効果があり、第3にリ
スト処理の高速化を図ることができるという効果がある
。
子、上記記述子をもとに処理を実行する機械語、および
上記機械語を実行する中央処理装置を組合せることによ
り、広い範囲に適用できるリスト処理の機械語化が可能
となり、第1にアセンブラで記述した場合の記述量が減
するという効果があり、第2にコンパイルした場合にオ
ブジェクトを小さくできるという効果があり、第3にリ
スト処理の高速化を図ることができるという効果がある
。
第1図は、本発明により構成した記述子によるリスト制
御方式の一実施例を示すブロック図である。 第2図〜第10図は、それぞれブロック登録時のブロッ
クの並べ方を示す説明図である。 1・・・リスト 21〜24.5・・・ブロック 211.221,251.3.4−1〜4−6゜5+1
・拳・−・アドレス領域 212,222,232.6−2・・・データ領域 4・φ・記述子 6・争・機械語 6−1@φ・オペレーションコード 6−2.6−1−−・オペランド T・・・中央処理装置
御方式の一実施例を示すブロック図である。 第2図〜第10図は、それぞれブロック登録時のブロッ
クの並べ方を示す説明図である。 1・・・リスト 21〜24.5・・・ブロック 211.221,251.3.4−1〜4−6゜5+1
・拳・−・アドレス領域 212,222,232.6−2・・・データ領域 4・φ・記述子 6・争・機械語 6−1@φ・オペレーションコード 6−2.6−1−−・オペランド T・・・中央処理装置
Claims (1)
- 電子計算機制御プログラムのリスト処理へ使用できるよ
うにリスト構造を示す記述子を含む記憶装置と、前記記
述子をもとに処理を行う機械語を格納するためのレジス
タと、前記機械語を実行するための中央処理装置とを具
備して構成したことを特徴とする記述子によるリスト制
御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13246285A JPS61289432A (ja) | 1985-06-18 | 1985-06-18 | 記述子によるリスト制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13246285A JPS61289432A (ja) | 1985-06-18 | 1985-06-18 | 記述子によるリスト制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61289432A true JPS61289432A (ja) | 1986-12-19 |
Family
ID=15081929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13246285A Pending JPS61289432A (ja) | 1985-06-18 | 1985-06-18 | 記述子によるリスト制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61289432A (ja) |
-
1985
- 1985-06-18 JP JP13246285A patent/JPS61289432A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0371337A (ja) | マイクロプロセツサ回路 | |
US4833640A (en) | Register bank change including register to register transfer in a data processing system | |
CN110442536B (zh) | 基于对象的存储器访问中的静态标识 | |
US6467037B1 (en) | Utilizing a program counter with one or more data counters for executing instructions | |
JP2000200196A (ja) | 拡張命令語を有する中央処理装置 | |
EP0240108A2 (en) | A data processing system | |
JPS61289432A (ja) | 記述子によるリスト制御方式 | |
TWI339354B (en) | Microcontroller instruction set | |
CN1497432B (zh) | 微处理器标记寄存器屏蔽移入弹出装置和方法 | |
US5579495A (en) | Information processing in which a simulation of parallelism is achieved | |
US10817288B2 (en) | Combined instruction for addition and checking of terminals | |
JPS62254237A (ja) | インタプリタ方式の分岐命令実行方式 | |
CN116126460A (zh) | 一种虚拟机创建方法及装置 | |
JP2764947B2 (ja) | 命令制御方式 | |
JPS62204338A (ja) | Lisp言語処理システム | |
JP2895892B2 (ja) | データ処理装置 | |
JPH04205031A (ja) | マイクロコンピュータ | |
JPS62151936A (ja) | マイクロプロセツサに内蔵されるキヤツシユ回路 | |
JPS6337416B2 (ja) | ||
WO2017125711A1 (en) | A method for allocating memory | |
JPH0756744A (ja) | コンパイラ装置 | |
JPH0242537A (ja) | マイクロプロセッサ | |
JPS59148947A (ja) | デ−タ処理装置 | |
JPH03223980A (ja) | 計算機方式 | |
JPS60214040A (ja) | デ−タ処理装置 |