JPH0212332A - 複数の同一命令を含むプログラムの処理方式 - Google Patents
複数の同一命令を含むプログラムの処理方式Info
- Publication number
- JPH0212332A JPH0212332A JP63161152A JP16115288A JPH0212332A JP H0212332 A JPH0212332 A JP H0212332A JP 63161152 A JP63161152 A JP 63161152A JP 16115288 A JP16115288 A JP 16115288A JP H0212332 A JPH0212332 A JP H0212332A
- Authority
- JP
- Japan
- Prior art keywords
- program
- instructions
- same
- instruction
- same instructions
- 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
- 238000012545 processing Methods 0.000 claims description 12
- 238000003672 processing method Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 8
- 230000001419 dependent effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
計算機のプログラム処理方式に関し。
同一命令を多数含むプログラムにおいて、それら同一命
令の修正を命令の個数に依存することなく簡単に修正で
きる手段を実現することを目的とし。
令の修正を命令の個数に依存することなく簡単に修正で
きる手段を実現することを目的とし。
複数の同一命令を含むプログラムを、プログラム中の複
数の同一命令のそれぞれの命令に代えてその位置に次の
同一命令の位置を示す情報を設定した第1の形式を用い
て管理し。
数の同一命令のそれぞれの命令に代えてその位置に次の
同一命令の位置を示す情報を設定した第1の形式を用い
て管理し。
第1の形式のプログラムを初期プログラムローディング
する際に、上記次の同一命令の位置を示す情報を順次検
出し、対応する同一命令に書き替えて、実行可能な第2
の形式に変換する構成をもつ。
する際に、上記次の同一命令の位置を示す情報を順次検
出し、対応する同一命令に書き替えて、実行可能な第2
の形式に変換する構成をもつ。
本発明は、計算機のプログラム処理方式に関し。
特に同一種類の命令を多数含むプログラムにおいて、そ
の命令修正を容易にするプログラム処理技術に関する。
の命令修正を容易にするプログラム処理技術に関する。
たとえば]10ボートをアドレスj旨定して入出力を行
う命令を多数含むプログラムにおいて。
う命令を多数含むプログラムにおいて。
I10ポートのアドレス変更があると、関連する多数の
入出力命令を修正しなければならず、負担が大きくなる
。本発明は、このような場合の修正を容易にするプログ
ラム処理方式を捷供する。
入出力命令を修正しなければならず、負担が大きくなる
。本発明は、このような場合の修正を容易にするプログ
ラム処理方式を捷供する。
〔従来の技術と発明が解決しようとするa!題〕従来の
計3Eaシステムでは、制御プログラム内で共通のI1
0ボートにデータを入出力する場合。
計3Eaシステムでは、制御プログラム内で共通のI1
0ボートにデータを入出力する場合。
入出力用の共通サブルーチンあるいはマクロ命令を介し
て行うのが一般的である。
て行うのが一般的である。
第5図に1例を示す。図示された例は、 !i1mプロ
グラム(O3)を、■10ボートなどのハードウェアに
依存したプログラム(ファームウェア)1の群とハード
ウェアに依存しないプログラム(ソフトウェア)2の群
に分けて制御を行うシステムのものである。
グラム(O3)を、■10ボートなどのハードウェアに
依存したプログラム(ファームウェア)1の群とハード
ウェアに依存しないプログラム(ソフトウェア)2の群
に分けて制御を行うシステムのものである。
この場合、ハードウェアに依存しないプログラム2は、
入出力などのハードウェアに依存した処理を行うとき、
CALL命令あるいはINT命令を用いて、ハードウェ
アに依存したプログラムlに分岐する。
入出力などのハードウェアに依存した処理を行うとき、
CALL命令あるいはINT命令を用いて、ハードウェ
アに依存したプログラムlに分岐する。
このようなプログラム間の分岐あるいは復帰の際には、
スタックの退避、復元などのプログラム切り換え処理の
ために、かなりのプログラムステップ数が費され、これ
がオーバーヘッドとなって処理性能を低下させるという
問題があった。
スタックの退避、復元などのプログラム切り換え処理の
ために、かなりのプログラムステップ数が費され、これ
がオーバーヘッドとなって処理性能を低下させるという
問題があった。
一方、この処理性能低下を防ぐために、制御プログラム
中でIN命令あるいはOUT命令を用いて直接入出力制
御を行う方式もとられていた。しかしこの場合、プログ
ラムステップ数は削減されるが、システムの構成変更な
どでI10ポートのアドレスが変更されると、変更され
たI10ボートを使用する全てのIN命令あるいはOU
T命令を修正しなければならず、修正ステップ数が多く
なるという問題かあ、た。
中でIN命令あるいはOUT命令を用いて直接入出力制
御を行う方式もとられていた。しかしこの場合、プログ
ラムステップ数は削減されるが、システムの構成変更な
どでI10ポートのアドレスが変更されると、変更され
たI10ボートを使用する全てのIN命令あるいはOU
T命令を修正しなければならず、修正ステップ数が多く
なるという問題かあ、た。
本発明は、同一命令を多数含むプログラムにおいて、そ
れら同一命令の修正を命令の個数に依存することなく簡
単に修正できる手段を実現することを目的とする。
れら同一命令の修正を命令の個数に依存することなく簡
単に修正できる手段を実現することを目的とする。
本発明は、同一命令を多数含むプログラムについて、プ
ログラムのライブラリ管理状態ではそれらの同一命令を
プログラムから抜き出して位置情報だけ設定しておき、
IPL(初期プログラムローディング)時に元のあるい
は変更された同一命令を書き込むことにより、同一命令
の変更を容易にするものである。
ログラムのライブラリ管理状態ではそれらの同一命令を
プログラムから抜き出して位置情報だけ設定しておき、
IPL(初期プログラムローディング)時に元のあるい
は変更された同一命令を書き込むことにより、同一命令
の変更を容易にするものである。
第1図は1本発明の原理図である。
第1図において
11は、同一命令を多数含むプログラムが格納されてい
るプログラム管理ファイルである。
るプログラム管理ファイルである。
12は、第1形式のプログラムであり、プログラム中の
各同一命令位置には、同一命令に代えて。
各同一命令位置には、同一命令に代えて。
次の順位の同一命令の位置を指すポインタをオペランド
としてもつデータ定義命令DCWI 2 a。
としてもつデータ定義命令DCWI 2 a。
12 b、 12 c、 12dを用いてチエイン
が張られている。
が張られている。
13は、主記憶である。
14は、主記憶13上にIPLされた実行可能な第2形
式のプログラムであり、その中の各148で示す同一命
令は第1形式のプログラム12中のデータ定義命令DC
W12aないし12dを、後述する同一命令15aで書
き替えたものである。
式のプログラムであり、その中の各148で示す同一命
令は第1形式のプログラム12中のデータ定義命令DC
W12aないし12dを、後述する同一命令15aで書
き替えたものである。
15は、初期化モジュールであり、システム立上げ時に
起動されて、IPLなとの初期化処理を行う。特に本発
明の場合、第1形式のプログラム12をIPLして、別
途管理されている同一命令15aを用いプログラム12
中のDCW12aないし12dを書き替え、第2形式の
プログラム14に変換する。なお同一命令15aは、容
易に変更可能に管理される。
起動されて、IPLなとの初期化処理を行う。特に本発
明の場合、第1形式のプログラム12をIPLして、別
途管理されている同一命令15aを用いプログラム12
中のDCW12aないし12dを書き替え、第2形式の
プログラム14に変換する。なお同一命令15aは、容
易に変更可能に管理される。
第1図に示されている本発明の原理的構成に基づく動作
を説明する。
を説明する。
初期化モジュール15は、起動されたとき、プログラム
管理ファイル11から第1形式のプログラム12を読み
出し、主記憶13にロードする(IPL)。
管理ファイル11から第1形式のプログラム12を読み
出し、主記憶13にロードする(IPL)。
続いて初期化モジュール15は、ロードされている第1
形式のプログラム12中のチエインを構成するデータ定
義命令DCW12aないし12dを順次検出し、それぞ
れ別に管理している同一命令15aで置き換えてゆき、
第2形式のプログラム14に変換する。
形式のプログラム12中のチエインを構成するデータ定
義命令DCW12aないし12dを順次検出し、それぞ
れ別に管理している同一命令15aで置き換えてゆき、
第2形式のプログラム14に変換する。
同−曲管がIN命令とOUT命令のように複数IImあ
る場合には、それぞれの命令の種類ごとに別のチエイン
を張り、同一命令15&も対応して複数種類用意される
。このとき、チエインと同一命令との対応関係を識別可
能にする適当な情報が付加される。
る場合には、それぞれの命令の種類ごとに別のチエイン
を張り、同一命令15&も対応して複数種類用意される
。このとき、チエインと同一命令との対応関係を識別可
能にする適当な情報が付加される。
同一命令を変更する必要が生じた場合には、初期化モジ
ュール15内の同一命令15mのみを対象として修正す
ればよく1次のIPLで変更された第2形式のプログラ
ムが容易に生成される。
ュール15内の同一命令15mのみを対象として修正す
ればよく1次のIPLで変更された第2形式のプログラ
ムが容易に生成される。
本発明の実施例を、第2図ないし第4図にしたがって説
明する。
明する。
第2図は1本発明の1実施例のシステム空間構成図であ
る。
る。
第2図において、20はシステム空間、21はシステム
固定域、22はプログラム管r1テーブル。
固定域、22はプログラム管r1テーブル。
22aは後述されるモジュール25の先頭位置を示すポ
インタ、23はハードウェア(ファームウェア)との連
絡領域、23aはモジュール中に多数含まれる!N命令
やOUT命令などの同一のハード依存命令、24は制御
プログラムを構成するモジュール、25はハード依存命
令23aを多数含むモジュール、26はシステム初期化
モジュールであり、[PL時に走行し、モジュール25
にハード依存命令23aを書き込む機能をもつ。
インタ、23はハードウェア(ファームウェア)との連
絡領域、23aはモジュール中に多数含まれる!N命令
やOUT命令などの同一のハード依存命令、24は制御
プログラムを構成するモジュール、25はハード依存命
令23aを多数含むモジュール、26はシステム初期化
モジュールであり、[PL時に走行し、モジュール25
にハード依存命令23aを書き込む機能をもつ。
この実施例において、モジエール25は第1図のプログ
ラム14に相当し、システム初期化モジュール26は第
1図の初期化モジュール15に相当し、ハード依存命令
23aは第1図の同一命令15aに相当する。
ラム14に相当し、システム初期化モジュール26は第
1図の初期化モジュール15に相当し、ハード依存命令
23aは第1図の同一命令15aに相当する。
第3図は、第2図の実施例中の同一ハード依存命令を多
数含むモジュール25の第1形式による記述例であり(
第1図のプログラム12に相当)。
数含むモジュール25の第1形式による記述例であり(
第1図のプログラム12に相当)。
8086系の命令を用いて記述したものである。
次に内容を簡単に説明する。
■は、モジュールの入口点アドレスであり、このアドレ
スはプログラム管理テーブル22にポインタ22aとし
て設定されている。
スはプログラム管理テーブル22にポインタ22aとし
て設定されている。
通常、各モジュールの入口点は、他のモジュールとのリ
ンケージに使用されるので、−虫には■の分岐命令JM
PSを用いて■へとび、ここから機能ルーチンを開始す
る。
ンケージに使用されるので、−虫には■の分岐命令JM
PSを用いて■へとび、ここから機能ルーチンを開始す
る。
■は!N命令のチエインの先頭であり、lN001のア
ドレスをDCWのオペランドにもつ。
ドレスをDCWのオペランドにもつ。
■はOUT命令のチエインの先頭であり、0UTOOI
のアドレスをDCWのオペランドにもつ。
のアドレスをDCWのオペランドにもつ。
アドレスlN0OIには次のIN命令の入口点からの相
対アドレスlN0O2をオペランドにもつDCWが置か
れ、同様にして順次のIN命令の入口点からの相対アド
レスをポインタでリンクして1点線で示すようなチエイ
ンを張る。最後のIN命令の位置には、アドレスとして
存在し得ない値(この場合はX ’ FFFF ’)を
オペランドにもつDCWを置く。
対アドレスlN0O2をオペランドにもつDCWが置か
れ、同様にして順次のIN命令の入口点からの相対アド
レスをポインタでリンクして1点線で示すようなチエイ
ンを張る。最後のIN命令の位置には、アドレスとして
存在し得ない値(この場合はX ’ FFFF ’)を
オペランドにもつDCWを置く。
OUT命令についても同様な方法で1点鎖線で示すよう
なチエインが張られる。
なチエインが張られる。
なお、IN命令のチエインの先頭アドレスは9人口点+
2′であり、OUT命令のチエインの先頭アドレスは゛
入口点+4′で与えられる。この■の人口点から■また
は■の各点のアドレスは゛入口点+α′で表わされる。
2′であり、OUT命令のチエインの先頭アドレスは゛
入口点+4′で与えられる。この■の人口点から■また
は■の各点のアドレスは゛入口点+α′で表わされる。
αの値はシステム初期化モジュール2bによって意識さ
れる。
れる。
第4図は、第2図の実施例中のシステム初期化モジュー
ル26の処理手順を示すフローである。
ル26の処理手順を示すフローである。
次にフロー中のステップ■ないし■について簡噴に説明
する。なお必要に応じて第2図および第3図が参照され
る。
する。なお必要に応じて第2図および第3図が参照され
る。
■: IPLの開始とともに9プログラム管理テーブル
22のポインタ22aから、モジュール25の入口点ア
ドレスを取得する。
22のポインタ22aから、モジュール25の入口点ア
ドレスを取得する。
■:チェインの先頭までの相対アドレスαΦ値を求め、
■の入口点アドレスに加算する。
■の入口点アドレスに加算する。
■:■で求めたアドレスから最初の同一命令(IN命令
10UT命令)の書き込み番地を取得する(第3図■、
■)。
10UT命令)の書き込み番地を取得する(第3図■、
■)。
■;■で取得した番地がチエインの最終を示していると
き(X’FFFF’に基づく場合)は■を実行し、他の
場合は■を実行する。
き(X’FFFF’に基づく場合)は■を実行し、他の
場合は■を実行する。
■:命令書き込み番地のDCWから次の命令書き込み番
地を取得する。
地を取得する。
■:■のDCWの位置に238の同一命令(IN命令1
0UT命令)を書き込み、■に戻る。
0UT命令)を書き込み、■に戻る。
■:■でチエイン最終が判定されたとき、同様な命令書
き込み処理を必要とするモジュールが他にあれば■に戻
り、なければ終了する。
き込み処理を必要とするモジュールが他にあれば■に戻
り、なければ終了する。
本発明によれば、複数の同一命令を含むプログラムが命
令位置を示すチエインを張った状態で管理され、[PL
時に同一命令を実際に書き込むため、I10ボートアド
レスの変更などのプログラムに対する変更が必要な場合
も、書き込み用の命令を変更するだけで済ますことがで
き、変更に要する負担を著しく軽減することができる。
令位置を示すチエインを張った状態で管理され、[PL
時に同一命令を実際に書き込むため、I10ボートアド
レスの変更などのプログラムに対する変更が必要な場合
も、書き込み用の命令を変更するだけで済ますことがで
き、変更に要する負担を著しく軽減することができる。
またこの結果、制j11プログラムなどに多数のハード
依存命令を含ま拷ることが可能となり、処理性能のよい
プログラムの使用が容易となる。
依存命令を含ま拷ることが可能となり、処理性能のよい
プログラムの使用が容易となる。
【図面の簡単な説明】
第1図は本発明の原理図、第2図は本発明の1実施例の
システム空間構成図、第3図は第1形式で記述されたモ
ジュールの処理手順を示す実施例フロー図、第4図はシ
ステム初期1ヒモジュールの処理手順を示す実施例フロ
ー図、第5図は従来の制御プログラムの説明図である。 第1図中。 11ニブログラム管理フアイル 12:第1形式のプログラム 12a 〜12d:データ定義命令DCW13:主記憶 14:第2形式のプログラム 15:初期化モジュール 特許出願人 株式会社ピーエフニー 代理人 弁理士 長谷用 文廣(外2名)本発明の原f
!因 第1図 本発明の1実施例のシステム空間構成2笛つ口 第1形式で記述されたモジュールの処理手順を示す実施
例フロー図従来の制御プログラムの説明図 第5図
システム空間構成図、第3図は第1形式で記述されたモ
ジュールの処理手順を示す実施例フロー図、第4図はシ
ステム初期1ヒモジュールの処理手順を示す実施例フロ
ー図、第5図は従来の制御プログラムの説明図である。 第1図中。 11ニブログラム管理フアイル 12:第1形式のプログラム 12a 〜12d:データ定義命令DCW13:主記憶 14:第2形式のプログラム 15:初期化モジュール 特許出願人 株式会社ピーエフニー 代理人 弁理士 長谷用 文廣(外2名)本発明の原f
!因 第1図 本発明の1実施例のシステム空間構成2笛つ口 第1形式で記述されたモジュールの処理手順を示す実施
例フロー図従来の制御プログラムの説明図 第5図
Claims (1)
- 【特許請求の範囲】 複数の同一命令を含むプログラム(14)の処理システ
ムにおいて、 上記プログラム(14)を、プログラム(14)中の複
数の同一命令のそれぞれの命令に代えて、その位置に次
の同一命令の位置を示す情報を設定した第1の形式を用
いて管理し、 上記第1の形式のプログラムを初期プログラムローディ
ングする際に、上記次の同一命令の位置を示す情報を順
次検出し、対応する同一命令に書き替えて、実行可能な
第2の形式に変換することを特徴とする複数の同一命令
を含むプログラムの処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63161152A JPH0212332A (ja) | 1988-06-29 | 1988-06-29 | 複数の同一命令を含むプログラムの処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63161152A JPH0212332A (ja) | 1988-06-29 | 1988-06-29 | 複数の同一命令を含むプログラムの処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0212332A true JPH0212332A (ja) | 1990-01-17 |
Family
ID=15729583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63161152A Pending JPH0212332A (ja) | 1988-06-29 | 1988-06-29 | 複数の同一命令を含むプログラムの処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0212332A (ja) |
-
1988
- 1988-06-29 JP JP63161152A patent/JPH0212332A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0721034A (ja) | 文字列複写処理方法 | |
JPH0212332A (ja) | 複数の同一命令を含むプログラムの処理方式 | |
US5819081A (en) | Method of executing a branch instruction of jumping to a subroutine in a pipeline control system | |
JP2000122876A (ja) | 情報処理装置 | |
JP2747164B2 (ja) | ソフトウェア・シミュレータ | |
JP2582294B2 (ja) | モジュール間結合実行制御方式 | |
JPS6378265A (ja) | 処理制御方式 | |
KR960029969A (ko) | 파이프라인 처리기능을 갖는 데이타프로세서 | |
KR100436003B1 (ko) | 디바이스드라이버적재방법 | |
JPH09198245A (ja) | ディジタルシグナルプロセッサ | |
JPS6325372B2 (ja) | ||
JPH0695868A (ja) | ソフトウェア管理方式 | |
JPS5875250A (ja) | デジタル情報処理装置 | |
JPS63223982A (ja) | 図形処理装置 | |
JPH02165358A (ja) | 学習機能付きプログラムロード方式 | |
JPS63233438A (ja) | 情報処理装置 | |
JPH04175822A (ja) | 修正履歴管理方式 | |
JPH05241814A (ja) | パッチ管理装置 | |
JPH04127366A (ja) | リストベクトル処理装置 | |
JPH03260726A (ja) | マイクロサブルーチン制御方式 | |
JPH05298098A (ja) | アクセラレータの制御プログラム変更方式及び方法 | |
JPS58169247A (ja) | 高速命令読出し方式 | |
JPS6324430A (ja) | 並列化初期プログラムロ−デイング方式 | |
JPH04127367A (ja) | リストベクトル処理装置 | |
JPH023827A (ja) | コンピュータ装置 |