JPS5856154A - Automatic interprogram linkage system - Google Patents

Automatic interprogram linkage system

Info

Publication number
JPS5856154A
JPS5856154A JP56155915A JP15591581A JPS5856154A JP S5856154 A JPS5856154 A JP S5856154A JP 56155915 A JP56155915 A JP 56155915A JP 15591581 A JP15591581 A JP 15591581A JP S5856154 A JPS5856154 A JP S5856154A
Authority
JP
Japan
Prior art keywords
address
instruction
program
linkage
setting
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.)
Granted
Application number
JP56155915A
Other languages
Japanese (ja)
Other versions
JPS6126695B2 (en
Inventor
Masaaki Hirose
正明 廣瀬
Masaaki Nagao
長尾 雅明
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP56155915A priority Critical patent/JPS5856154A/en
Publication of JPS5856154A publication Critical patent/JPS5856154A/en
Publication of JPS6126695B2 publication Critical patent/JPS6126695B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

Abstract

PURPOSE:To automatically release temporary linkage between different programs from being set, by controlling addresses where branches to other programs are caused and branch destination addresses in a table. CONSTITUTION:On the basis of an instruction read to an instruction register 1, the setting request display of a request control table RT is read out to read and hold an access source address A1, an access destination address B1, and a return instruction address B2 necessary for the linkage setting of programs A and B out of a linkage control table LT to registers 4, 5, and 6. An arithmetic circuit 7 calculates an address A1+1 and adds it to the jump instruction JUMP of a jump instruction output part 9, and a branch instruction, or data to be written in the address B2 of a memory MM is transferred to a write register 13 to be written in the address B3 of the memory MM entered into an address register 3.

Description

【発明の詳細な説明】 本発明はプログラム間自動リンケージ方弐に関し、特に
2つの異なったプログラム間を必要な場合のみリンケー
ジするために他プログラムへ分岐すべき箇所の番地と分
岐先番地をテーブルにて管理し,プログラムの版数が異
なるような場合でも自動的にテーブルを更新することで
プログラム間のリンケージをとるようにしたプログラム
間自動リンケージ方弐に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an automatic linkage method between programs, and in particular, in order to link two different programs only when necessary, the address of a point to branch to another program and the branch destination address are stored in a table. This invention relates to a method for automatic linkage between programs, which manages the programs and automatically updates tables even when the versions of the programs are different, thereby achieving linkage between programs.

従来2つの興なるプログラムA,B間を一時的にリンケ
ージを設定する場合、一般的には次のようにして行なわ
れる. (1)  あるプログラムAにおいて.他のプログラム
Bに分岐すべき命令のメモリ上の番地をアドレスリスト
により調べる。(ここでアドレスリストと社、7ステム
編集時に決定される各プログラムのメモリ配置を表わし
たものである。)(2)  前記(1)項で調べた命令
を他グログツムBへの分岐命令に変更する。
Conventionally, when temporarily setting linkage between two starting programs A and B, it is generally done as follows. (1) In a certain program A. The memory address of the instruction to be branched to another program B is checked using the address list. (This shows the address list and the memory layout of each program determined when editing the 7 stems.) (2) Change the instruction examined in item (1) above to a branch instruction to another Grogzum B. do.

(J 他プレグラムBでは、規定の処理を行なった後に
、呼出し元プp/ラムAへ復帰するため。
(J Because program B returns to the calling program program A after performing the specified processing.

呼出し元分岐命令(すなわち前記(2)項で書き替え九
分岐命令)の次命令へ復帰するように復帰命令を愛頁す
る。
The return instruction is returned so as to return to the next instruction of the calling branch instruction (ie, the nine-branch instruction rewritten in item (2) above).

(4) 前記(1)〜(3)項の手順により設定された
lyケージは、プログラムλにおいて前記+21項によ
〉変更した他プログラムBへの分岐命令をその変更前の
命令に再度変更することKよ勤解放される。
(4) The ly cage set by the steps in (1) to (3) above re-changes the branch instruction to another program B that was changed in the +21 section in program λ to the instruction before the change. Koto K was released from work.

紡配各手順の具体例を、第1図〜第5図にもとづき説明
すゐ。
Specific examples of each spinning procedure will be explained based on FIGS. 1 to 5.

ここで、第1図はプログ2ムA、Hのメモリ配置図で6
抄、第2図はアドレスリストであ抄、第5図はリンクー
ジO設定拳解放状態を示す。
Here, Figure 1 is a memory layout diagram of programs 2A and H.
2 shows an address list, and FIG. 5 shows the linkage O setting fist release state.

いまプログラムAとプログラムBとの一時的亀リンケー
ジをとる場合について説明する。ここでプログラムAの
11番地(プログラム人内の相対アドレス)のステップ
よシブログラムB 12) b1番地(プルグラムB内
の相対アドレス)のステップに分岐し、プログラムBに
よる一定旭雇終了後1wIプ胃グラムB Ob、番地(
プルグラムB内の相対アドレス)のステップより再びプ
ログツム人の1sit地の次命令(町+1番地;ここで
1番地の命令が占有するメモリ上の11地数は1番地で
あるとする)K復帰するものとした場合1次のような手
順がとられる。
Now, a case will be explained in which temporary linkage between program A and program B is established. Here, the step at address 11 (relative address within program program B) of program A branches to the step at address b1 (relative address within program B), and after the completion of the fixed period of employment by program B, 1wI program program is executed. B Ob, address (
From the step of the relative address in program B), the next instruction of the program person's 1sit location (town + 1 address; here, it is assumed that the number of 11 locations on the memory occupied by the instruction at address 1 is address 1)K returns. If so, the following steps are taken.

(lど 先ずプログ2ムムのa1番地が、メモリM上の
何番地(メモリ上の絶対アドレス)Kあるか。
First, how many addresses (absolute addresses on memory) K in memory M are address a1 of program 2 M?

またプログラムBのb1番地及びす、番地がそれぞれメ
モリM上の何番地にあるかを調べる。これはシステム編
集時に作成される。第2図に示すアドレスリストより算
出される。アドレスリストは、各プログラムA、B・・
・の先1l15i!i地、最終番地、大きさ等のメモリ
配置情報が表として作成されているものであって、プリ
ンタによシ打出されるので。
Also, it is checked at which locations in memory M the addresses b1 and b1 of program B are located. This is created when editing the system. It is calculated from the address list shown in FIG. The address list is for each program A, B...
・Ahead of 1l15i! Memory layout information such as address i, final address, size, etc. is created as a table and printed out by a printer.

これを見て前記算出を行なう。すなわち、グログ2ムA
はメモリM上ohb@地より#Iするため。
The above calculation is performed by looking at this. That is, Grog2muA
is #I from ohb@ground on memory M.

プログ2ム内の相対アドレスの前記町誉地はメモリM上
では Ah+11番地となる。を九プログツムBの先頭
は Bk喬地よシ始まるため、前記b!書地及びbt番
地はメモリM上においてそれぞれBk士b1番地及び 
Bk +bm誉地となる。このようにして分岐すべ龜命
令のメモリ上の番地を得る。
The relative address in the program 2 is address Ah+11 on the memory M. The beginning of the nine program B is Bk 喬地よし, so the above b! The writing address and bt address are Bkb1 address and b1 address on memory M, respectively.
Bk + bm honor land. In this way, the memory address of the branch instruction is obtained.

(2ど プログツム人のasI地の命令をプログ2ムB
のI)tl地への分岐命令に書き換える。すなわちメモ
リM上の Ah +11番地(プログツム人の麿1番地
)の命令を Bb 十b*番地(プログラムBのb1番
地)への分岐命令「JUMP  B、番地」に書き替え
る。
(2nd Progtum people's asI command of the earth)
I) Rewrite it to a branch instruction to tl. That is, the instruction at address Ah+11 (address 1 of program person) on memory M is rewritten to the branch instruction ``JUMP B, address'' to address Bb 10b* (address b1 of program B).

りど ま九プログラムBでは、一定処理終了後の呼出し
元への復帰命令を、プログラムAの11番地の次命令へ
分岐するように書き替える。すなわち。
In Ridoma9 program B, the instruction to return to the caller after a certain process is completed is rewritten to branch to the next instruction at address 11 of program A. Namely.

メモリM上のBh +b廖番地(プログラムB Obm
番地)の命令を+  Ah +at +1重油代の復帰
命令とする。
Address Bh +b on memory M (Program B Obm
+Ah +at +1 +1 heavy oil fee return command.

(4)′  前記(2)′及び(3)′項で設定された
リンケージは。
(4)' The linkage set in items (2)' and (3)' above.

プログラム人肉の組番地の分岐命令、つtり前記(2)
′項で書き替えた命令を書き替え前の命令に再度書き替
えることによシ解放される。それ故、メモリM上のAh
 十1.番地(プログ2五^の11番地)を分岐命令へ
の書き替え前の命令(at番地の本来の命令)に書き替
える。
Program address branch instruction, above (2)
It is released by rewriting the instruction that was rewritten in section ' with the instruction before the rewriting. Therefore, Ah on memory M
11. The address (address 11 of program 25^) is rewritten to the instruction before being rewritten to the branch instruction (the original instruction at address at).

従来では、このような前記(1ど〜4どの手J[KL九
がって手動(人為的)Kより一時的リンケージの設定及
び解放を行なっていた。しかしながらシステム開発途中
において杜、第4図に示す如く、プログラム変更に伴な
う再配置にもとづき、システム編集が数回性なわれるこ
とがらに、このため一時的リンケージの認定解放を行な
う毎にメモリ上のアドレスを版数(システム編集毎に割
付けられる識別数)に応じたアドレスリストよ抄調べて
In the past, temporary linkages were set and released manually (artificially) by the above-mentioned methods (1 to 4). However, during system development, the As shown in Figure 2, system editing is performed several times based on relocation caused by program changes. Check the address list according to the number of identifications assigned to the address.

一連の手順を人為的に行なう必要がある。このためアド
レス調査ミス等によ抄リンケージ設定の失敗が多発する
可能性がおった。
A series of steps must be performed manually. For this reason, there was a possibility that failures in setting linkage would occur frequently due to mistakes in address research.

したがって本発明の目的は、異なるプログラム間の一時
的リンケージの設定解放を人為的にアドレスリストを調
査し書替えることなく、これを自動的に行なうようKし
たプログラム間自動りンケージ方式を提供することを目
的とする。そしてこのために本発明におけるプログラム
間自動リンケージ方式では、Il数の興なるプログラム
をりンケージした抄解放する場合において、プログラム
に命令を記入する命令記入手段と、リンケージ先のプロ
グラムのアドレスにおける呼出し先番地とリンケージを
行なうプログ2ムのアドレスにおける呼出し元番地とも
とのプログラムへ復帰する命令が記入されている復帰命
令番地がそれぞれ記入されているアドレス保持手段と、
命令作成手段と。
Therefore, an object of the present invention is to provide an automatic linkage method between programs that automatically sets and releases temporary linkages between different programs without having to manually investigate and rewrite the address list. With the goal. For this reason, in the program-to-program automatic linkage method of the present invention, when a program with a number of Il numbers is linked and released, an instruction writing means for writing an instruction into the program, and a call destination at the address of the linkage destination program are provided. an address holding means in which a call source address and a return instruction address in which an instruction to return to the original program is written at an address of a program that performs linkage with the address;
Instruction creation means.

リンケージの設定あるいは解放を指示する設定指示手段
および解放指示手段を設け、リンケージの設定指示のあ
るときに前記アドレス保持手段を読出してりンケージに
必要な命令を前記命令作成手段で作成し、この作成した
命令を!1tl記命令記入手段によりa該プログラムに
自動的に記入し、またリンケージの解放指示のあるとき
に前記プログラムの呼出し元査地顛記入した命令を自動
的に変更するようにしたことを特徴とする。
Setting instruction means and release instruction means are provided for instructing setting or release of linkage, and when a linkage setting instruction is given, the address holding means is read and an instruction necessary for linkage is created by the instruction creation means, and the instruction creation means is provided. That command! 1tl instruction entry means automatically writes the instruction into the program, and when a linkage release instruction is issued, automatically changes the instruction written in the calling source address of the program. .

本発明な一夾施例にもとづき詳述するに先立ちその動作
原理を説明する。
Prior to detailed description of one embodiment of the present invention, its operating principle will be explained.

■、システムの前提機能 本発明の方式には次のa、bで説明する2つの機能が必
要である。
(2) Prerequisite functions of the system The system of the present invention requires two functions described in the following a and b.

1、プログラムの起動要求(タイ建ング又は他のプログ
ラムよりの要求)Kより、要求されているプログラムに
制御を移行するモニタ機能、つま抄プ胃グラムが、X、
Y、・・・の順で起動することがわかっているとき、プ
ログラムXが終ったら次のプログラムYを起動する手段
が必要である。
1. A monitor function that transfers control from a program startup request (request from a tie-up or another program) to the requested program.
When it is known that programs Y, .

b、システム編集時、プログラムのソース上で規定され
た記号ラベルに対するメモリ上の絶対番地を算出し、該
記号ラベルを参照しているエリアに対して該絶対番地を
書き込むエディツト機能が必要である。
b. When editing the system, it is necessary to have an editing function that calculates the absolute address in memory for the symbol label defined on the program source and writes the absolute address to the area that refers to the symbol label.

夏、 リンケージ管理テーブル リンケージ管理テーブルは、リンケージを設定又は解放
するために必要な番地情報を管理するテーブルである。
Summer, Linkage Management Table The linkage management table is a table that manages address information necessary to set or release linkages.

このリンケージ管理テーブルは。This linkage management table.

第5図においてLTとして示されるものであって。It is shown as LT in FIG.

必要な番地情報は、該当するプログラムのソース上で、
呼出し元ステップ、呼出し先ステップ、復帰命令ステッ
プに対して該ステップの先買に記号ラベル(Lab@I
 C,D、B等)を付与し、かつリンケージ管理テーブ
ルのソーステーブル8T Kよりまとめておき、システ
ム編集時のエディツト機能HDを用いてリンケージ管理
テーブルI、Tを作成するときにその該当する欄の該当
記号ラベルを絶対番地に変換するととKよ1このリンケ
ージ管理テーブルLT K呼出し元人1番地(ここでA
、=Ah十烏I)、呼出し先Btli地(B1−Bh+
bt)−徨帰命令B、番地(B、−Bh+bm )を書
込むことになる。
The necessary address information can be found on the source of the relevant program.
For the calling step, the called step, and the return instruction step, a symbolic label (Lab@I
C, D, B, etc.) and summarize them from source table 8TK of the linkage management table, and use the corresponding fields when creating linkage management tables I and T using the edit function HD during system editing. Converting the corresponding symbol label to an absolute address will result in K 1 This linkage management table LT K caller 1 address (here A
,=AhJukarasu I), callee Btli land (B1-Bh+
bt) - Return instruction B, address (B, -Bh+bm) will be written.

第5図は、システム編集時におけるこれらの処理の概略
を図示したものである。
FIG. 5 shows an outline of these processes during system editing.

璽、 リンケージ設定解放プログラム プログラムAとプログラムBとのリンケージ設定要求お
よび設定したリンケージの解放要求1114つた場合、
リンケージ管理テーブルLT内の各情報にしたがって各
プログラム間のリンケージの設定及び解放を行なうため
Kこのリンケージ設定解放プログラムが設けられる。第
7図に示す如く。
1114 Linkage setting release program When a linkage setting request between program A and program B and a request to release the set linkage are made,
A linkage setting release program is provided to set and release linkages between programs according to each piece of information in the linkage management table LT. As shown in FIG.

このリンケージ設定解放プログラムは、モニタ機能を有
するオペレーテング制御部OCから一定時間毎に周期起
動される。そしてこのリンケージ設定解放プログラムの
動作70−が第6図に示される。そしてこのリンケージ
設定時のデータと処理の流れ状態が第7図に示されてい
る。この第7図の数字は第6図の各処理ステップの数字
に対応するものである。
This linkage setting release program is activated periodically at fixed time intervals by the operating control unit OC having a monitoring function. The operation 70- of this linkage setting release program is shown in FIG. The flow of data and processing at the time of linkage setting is shown in FIG. The numbers in FIG. 7 correspond to the numbers of each processing step in FIG.

次にこのリンケージ設定解放プログラムについて第6図
、第7図に%とづき説明する。
Next, this linkage setting release program will be explained with reference to % in FIGS. 6 and 7.

(イ)先ずリンケージ設定解放プログラムが起動される
と、要求管理テーブルRTを読出す。この要求管理テー
ブルRT Kおける設定要求表示はオペレータの操作に
よっても、また別のプログラムによっても行なうことが
できる。そしてこれが設定要求表示が行なわれて要求有
りの場合には次の制御が行なわれる。
(a) First, when the linkage setting release program is activated, it reads the request management table RT. The setting request display in the request management table RTK can be performed by an operator's operation or by another program. Then, a setting request is displayed, and if there is a request, the following control is performed.

■ リンケージ設定解放プログラムは、りンケージ管層
テーブルLTより呼出し先番地B1を抽出し、呼出し先
グログ2ムBへの分岐命令J U M P Bsを作成
する。
(2) The linkage setting release program extracts the call destination address B1 from the linkage layer table LT and creates a branch instruction JUMP Bs to the call destination log 2B.

■ 次にりンケージ管理テーブルLTよj呼出し先番地
A1を抽出してプログラムAへの復帰先番地A1+1を
算出し、呼出し元プログラム人への分岐命令JUMPA
□+1を作成する。
■ Next, extract the call destination address A1 from the linkage management table LT, calculate the return destination address A1+1 to program A, and issue a branch instruction JUMPA to the calling program person.
□Create +1.

■ さらにリンケージ管理テーブルLTよシ復帰命令I
I地B、を抽出し、前記■で作成した分岐命令JUMP
A1+1を書込む。
■ Furthermore, linkage management table LT return command I
Extract I, B, and create the branch instruction JUMP in step ① above.
Write A1+1.

■ を九リンケージ管理テーブルLTより呼出し先番地
AIを抽出し、前記■で作成した分岐命令JUNPB、
を書込む。
■ Extract the call destination address AI from the nine linkage management table LT, and write the branch instruction JUNPB created in the above ■.
Write.

■ それから要求管理テーブルRT Kおける設定要求
表示を落して要求無しとする・ (ロ) また前記(イ)において勇初に要求管理テーブ
ルRTの設定要求表示が要求無しの場合には、同テーブ
ルRTの解放要求表示をみてりンケージ解放要求表示の
有無をみる。そしてこれが解放要求有りの場合には、呼
出し先番地AIK記入されてiるJUMPB、を消して
本来の命令に復元する。それから要求管理テーブルRT
の解放要求表示を要求無しとする。もしもこの項の初め
において解放要求表示をみて解放要求無しの場合にはこ
のリンケージ設定解放プログラムの動作はその11終了
することKなる。
■Then, the setting request display in the request management table RTK is dropped to indicate that there is no request. Check the linkage release request display to see if there is a linkage release request display. If there is a release request, the call destination address AIK (JUMPB) is deleted and the original instruction is restored. Then request management table RT
The release request display is set to no request. If there is no release request when looking at the release request display at the beginning of this section, the operation of this linkage setting release program ends in step 11.

上記(イ)、(ロ)で説明したリンケージ設定解放プロ
グツムにおけるリンケージ設定時の処理概念及び解放処
理概念を第8図及び第9図について簡単に説明する。
The concept of processing at the time of linkage setting and the concept of release processing in the linkage setting and release program explained in (a) and (b) above will be briefly explained with reference to FIGS. 8 and 9.

第8図においてオペレーテング制御部ocからの通常起
動にもとづき、プログラム人が通常の処理を行なってい
る・このときユーザの要求により。
In FIG. 8, the programmer is performing normal processing based on normal activation from the operating control unit oc. At this time, the programmer is performing normal processing at the request of the user.

あるいは他のプログラムの要求によシ各種要求表示設定
部Eが動作し要求管理テーブルRT Kおける設定要求
表示を要求有に記入する。そしてオペレーテング制御部
OCKより周期的に起動するリンケージ設定解放プログ
ツムが動作して、先ずその設定要求表示をみる。このと
き、もしもこれに要求無しが記入されておればこのリン
ケージ設定解放グログ2ムの動作は何も行なわれないま
ま終了するが、この場合Kii要求有が表示されている
ので、これをみてりンケージ設定解放プログ2ムは、リ
ンケージ管理テーブルLTを参照して上記(イ)に説明
した如く命令の書替を行なう、それから設定要求表示に
おける要求有有の表示を消す。
Alternatively, the various request display setting section E operates in response to a request from another program and writes the setting request display in the request management table RTK as requested. Then, the linkage setting release program, which is activated periodically by the operating control unit OCK, operates, and the setting request display is first seen. At this time, if no request is entered here, the operation of this linkage setting release log 2m will end without doing anything, but in this case, Kii request is displayed, so check this. The linkage setting release program 2 refers to the linkage management table LT, rewrites the command as explained in (a) above, and then erases the indication of the presence of a request in the setting request display.

これKよ#)第9図に示す如く、プログラム人の呼出し
元番地人、にはプログラムBK対する分岐命令JUMP
B、が記入され、プログラムBの復帰命令番地BIKは
プルグラム人への復帰先の分岐命令JUMPAI+1が
記入されるととKなる。そしてオペレーテング制御部O
Cからの通常起動によりプログラム人が動作されるとき
、プログラムBK対する分岐が行なわれ、プログラムB
Kもとづく制御処理動作も行なわれるととKなる。そし
てこのグログラムBKもとづく動作は、要求管理テーブ
ルRTの解放要求表示が要求有を表示するまで続けられ
る。
This is K#) As shown in Figure 9, the caller address of the program person has a branch instruction JUMP for program BK.
B is written, and the return instruction address BIK of program B becomes K when the branch instruction JUMPAI+1 to return to the programming language is written. and operating control unit O
When a program is run by normal startup from C, a branch is made to program BK, and program B
If the control processing operation based on K is also performed, then it becomes K. The operation based on this gramogram BK is continued until the release request display in the request management table RT indicates that there is a request.

そして解放要求表示に要求有が記入され九後K。Then, “Requested” is entered in the release request display and K is released after nine.

オペレーテング制御部OCが周期起動によりリンケージ
設定解放プログラムを起動すれば、先ずこのリンケージ
設定解放プログラムは要求管理テーブルをみて解放要求
表示に要求有が記入されていることを読出し、前Nil
!(口jに説明した如く、命令の書替を行ない、グログ
ツムAとBとのリンケージ状態を解放し、それから解放
要求表示に記入されている要求有を消去する。かくして
オペレーテング制御部OCがプルグラム人を通常起動す
れば。
When the operating control unit OC starts the linkage setting release program through periodic activation, the linkage setting release program first looks at the request management table, reads that "request exists" is entered in the release request display, and then releases the previous Nil.
! (As explained above, the command is rewritten, the linkage state between Glogs A and B is released, and the presence of a request written in the release request display is erased. In this way, the operating control unit OC releases the program If you start a person normally.

グログラムAはプログラムBK分岐する仁となくその処
理を行なうととKなる。
If program A is processed without branching to program BK, it becomes K.

次に9以上説明したような動作を行なう本発明のプログ
ラム間自動リンケージ方式を第10図にもとづき説明す
る。
Next, the program-to-program automatic linkage system of the present invention, which performs the operations described above in 9 above, will be explained based on FIG. 10.

図中、1は命令レジスタ、2はデコーダ、5はアドレス
−レジスタ、4〜6はレジスタ、7は第1演算回路、8
は第2演算回路、9はジャンプ命令出力部であって分岐
命令作成に必要なジャンプ命令コードJUMPを出力す
るもの、10け+1加算回路、11.12はレジスタ、
15は書込レジスIてl−)て、メモリMM中に格納さ
れているプログラム間及びBK記入すべき命令等が書込
まれる屯の、14はデータ保持レジスタである。
In the figure, 1 is an instruction register, 2 is a decoder, 5 is an address register, 4 to 6 are registers, 7 is a first arithmetic circuit, and 8
9 is a jump instruction output unit that outputs the jump instruction code JUMP necessary for creating a branch instruction, 10+1 addition circuit, 11.12 is a register,
Reference numeral 15 designates a write register I-) into which commands to be written between programs and BK stored in the memory MM are written, and reference numeral 14 designates a data holding register.

*1a図においてリンケージ設定解放グログツムLSR
Pはオペレーテング制御部ocにより起動はれる。そし
てリンケージ設定解放プログラムが実行されると、仁の
プログラムを構成する各命令が順次命令レジスタIK読
出され、これがデコーダ2により解読され、要求管理テ
ーブルRTを読出したに、各レジスタ等のゲートを制御
した抄して、データ処理を順次実行する。
*In figure 1a, linkage setting release Groguzum LSR
P is activated by the operating control unit oc. When the linkage setting release program is executed, each instruction constituting the Jin program is sequentially read from the instruction register IK, which is decoded by the decoder 2, and after reading the request management table RT, controls the gates of each register, etc. Then, data processing is performed sequentially.

先ず命令レジスタ1に読出された命令をデコーダ2で解
読し、その指令にもとづき要求管理テーブルRTの設定
要求表示を読出し、要求有をg識する0次にリンケージ
管理テーブルLTから、グル/ラム人とプログラムBと
のリンケージ設嚢に必要な、呼出し元番地ん、呼出し先
番地B、および復帰命令番地B1をそれぞれレジスタ4
,5.6に読出し、保持する。そして先ずレジスタ4に
記入され九人1番地をアドレス会レジスタ5にセットし
First, the instruction read out to the instruction register 1 is decoded by the decoder 2, and based on the instruction, the setting request display of the request management table RT is read out. The call source address, call destination address B, and return instruction address B1, which are necessary for establishing linkage between program B and program B, are stored in register 4.
, 5.6 and held. First, the address of 9 people 1, which is entered in register 4, is set in address register 5.

メモリMMをアクセスする。このメモリMMのアクセス
に先立ち、レジスタ5よりB、を第2演算回路8に出力
し、またジャンプ命令出方部9かもジャンプ命令JUM
Pを第2演算回jlBK出カしてこのB1とJUMPを
合成して、メモリMMのA1番地に書込むべきデータで
ある分岐命令jJUMPB、XXX」を作成し、この分
岐命令をレジスタ12を経由して書込みレジスタ13に
セットする。そして前記アドレス書レジスタ3に記入さ
れた人!番地Kt(Df+岐命令rJUMPBxxxX
J *記入f;b。
Access memory MM. Prior to accessing this memory MM, B is output from the register 5 to the second arithmetic circuit 8, and the jump instruction output unit 9 also outputs the jump instruction JUM.
Output P in the second calculation cycle jlBK, combine this B1 and JUMP, create a branch instruction "jJUMPB, XXX" which is data to be written to address A1 of memory MM, and write this branch instruction via register 12. and set it in the write register 13. And the person entered in the address book register 3! Address Kt(Df+branch instruction rJUMPBxxxX
J *Enter f; b.

この間に第1演算回路7で社、レジスタ4がら伝達され
たA1と+1加算回路より出方された+IKより A1
+1の演算が行なわれ、これにジャンプ命令出力部9か
ら出力されたジャンプ命令J UMPとが合成されて、
メモリMMのB1番mK書込むべきデータである分岐命
令[JUMPA、XXX+IJが作成されレジスタ11
に保持される。そして今度はこの分岐命令「J UMP
A4X X X +I Jが書込レジスタ13に伝達さ
れ、これがレジスタ6がら伝達されてアドレス・レジス
タ3に記入されているメモリMM OB3番地に書込ま
れることになる。
During this time, the first arithmetic circuit 7 outputs A1 transmitted from the register 4 and +IK output from the +1 adder circuit.
+1 operation is performed, and the jump instruction JUMP output from the jump instruction output unit 9 is combined with this,
A branch instruction [JUMPA, XXX+IJ, which is the data to be written to B1 mK of memory MM, is created and register 11
is maintained. And this time, this branch instruction “J UMP
A4X

このようにしてグログ’)bAとBとのリンケージが設
定されることになる。
In this way, the linkage between grog')bA and B is established.

また、このリンケージを解放する場合には、初めK A
t番地にアクセスしたとき読出した。該ん番地に記入さ
れていえ原命令を保持している。データ保持レジスタ1
4からこの原命令が書込レジスタ13に記入される。一
方、レジスタ4から出力ばれたA、番地がアドレス・レ
ジスタ5にセットされ、かくしてメモIJMMのA1番
地に原命令が再び記入される。そしてこれKよりプロゲ
ラ^AとBとのリンケージが解放されることになる。な
おこの場合、11!+記メモIJMMのA1番地に記入
されていたぶ命令を保持する手段は、データ保持レジス
タに限定されるものではなく2例えばプログラムBの適
当なところにあらかじめ置いてもよく、メモリMMの適
当な番地に確保することもできる。さらKまたこれをリ
ンケージ管理テーブル等のテーブルに保持することもで
きる。
Also, when releasing this linkage, first K A
Read when accessing address t. The original command is retained even if it is written to the corresponding address. Data holding register 1
4, this original instruction is written into the write register 13. On the other hand, the address A outputted from the register 4 is set in the address register 5, and the original instruction is thus written again at address A1 of the memory IJMM. And from this K, the linkage between Progera^A and B will be released. In this case, 11! The means for holding the instructions written in the A1 address of the memo IJMM is not limited to the data holding register.2 For example, the means for holding the instructions written in the A1 address of the memo IJMM may be placed in advance at an appropriate location in the program B, and may be stored at an appropriate address in the memory MM. It can also be secured. Furthermore, this can also be held in a table such as a linkage management table.

以上説明の如く0本発明によれば、リンケージ管理テー
ブルを設けることにょ抄、プログラムの版数が異なった
場合でもシステム編集時に紋当アドレスを書込んでくれ
るため、同等テーブル及びブロク2ムを変更する必要は
ない。
As explained above, according to the present invention, by providing a linkage management table, even if the version of the program is different, the registered address is written when editing the system, so the equivalent table and block 2 system can be changed. do not have to.

また、リンケージ設定解放プログ2ムを設けることで、
リンケージの設定解放の要求時のみこのリンケージ設定
解放プログラムがテーブルに登録されたプログラム間の
リンケージを設定/解放するため、解放後は各プログラ
ム本来の処11に影響することはない。
In addition, by providing a linkage setting release program 2m,
Since this linkage setting release program sets/releases the linkage between programs registered in the table only when a linkage setting release is requested, the original processing 11 of each program is not affected after release.

このような仁とをシステムに追加することで一時的なプ
ログラム間リンケージを容易に行なうことができる。
By adding such programs to the system, temporary linkage between programs can be easily performed.

さらに本発明の他の実施例を第11図にもとづき説明す
る。
Furthermore, another embodiment of the present invention will be described based on FIG. 11.

第11図に示すものは2本体プロゲラA(プログ5 A
 A’ ) ノ必要箇所KNor命令(No 0per
ation命令)を捜入しておき、これにラベルを付与
してグローバルを出す。またリンケージされるサポート
プログラム(プログ、 J、Bl >のリンケージ設定
・解除プログラム(8ET〜RETURN)はリンケー
ジ管理テーブルLT’にて1本体プログラムにおけるN
OP命令のアドレスAhA、・・・と、サポートプログ
ラムまたはナブル−チンのエントリアドレス81#S■
・・・を対で管理し、サポートプログラムをりンケージ
するときに本体プログラム(プログラムに)のNOP命
令を、第11図の下方に示す如く、サポートプログラム
へのジャンプ命令(JUMP8.。
The one shown in Figure 11 is a two-body Progera A (Prog 5 A
A' ) ノ required part KNor instruction (No 0per
ation command), give it a label, and issue it as a global. In addition, the linkage setting/cancellation program (8ET to RETURN) of the support program (Program, J, Bl >) to be linked is determined by N in one main program in the linkage management table LT'.
OP instruction address AhA,... and support program or nub-chin entry address 81#S■
When linking the support program, the NOP command of the main program (to the program) is used as a jump command (JUMP8..) to the support program, as shown in the lower part of FIG.

JUMP8.)K書き替える。そしてサポートプログラ
ム(プログラムB’)の復帰命令(JUMP*)を本体
プログラムへの復帰命令(J UMP AHHI3゜J
UMP4十1)K書き替える。そしてサポートプログラ
ムの使用が終了し、リンケージ解放のとき。
JUMP8. )K Rewrite. Then, the return instruction (JUMP*) of the support program (program B') is sent to the main program (J UMP AHHI3゜J).
UMP411) Rewrite K. Then, when the use of the support program ends and the linkage is released.

本体プログラムのジャンプ命令をNOP命令に戻す。Change the main program's jump command back to a NOP command.

このようにすれば本体の通常処理はNOP命令以外影響
を受けないので、実際上問題は生じない。
If this is done, the normal processing of the main body will not be affected except by the NOP command, so no problem will actually occur.

また本体プログラムのV*rmlon Up  が行な
われてもサポー ドブログラムの変更(サポートプログ
ラムのジャンプ命令岬)を必要としない。
Furthermore, even if the main program is V*rmlon Up, there is no need to change the support program (jump command cape of the support program).

なお本発明では、設定要求表示は%に設定する必要がな
く、要求時のみリンケージ設定解放プログ2ムに対する
起動が行なわれればよい、すなわち前記説明ではオペレ
ーテング制御部の如きモニタ機能によりタイミングで周
期起動を行なう4のであるが、他のプログラムよりの起
動であっても効果は変らない。リンケージの解放要求表
示についても同様である。
In the present invention, the setting request display does not need to be set to %, and it is sufficient that the linkage setting release program 2 is activated only when requested. Although it is started in step 4, the effect remains the same even if it is started from another program. The same applies to the linkage release request display.

呼出し元番地にリンケージのための分岐命令を書き込ん
だ場合2本来の命令が破壊されることになる。このため
に前記説明では破壊した命令と同一命令を呼出し先プロ
グ2ム内に置き身代シ処理を行なうことと屯したが、破
壊される命令をNOP命令(無処理命令)とすることK
よ抄身代り処理を行なう必要がなくなる。さらにリンケ
ージ解放時に破壊命令を復元する必要から破壊命令をテ
ーブル内郷で記憶しておくこととしたが、破壊命令をN
OP命令とした場合は、復元する処理が一意的であるた
め容易に行なうことが可能である。この他に4破壊命令
に対する処置が考えられるが本発明としての効果は変わ
らない。
If a branch instruction for linkage is written to the caller address, the original instruction will be destroyed. For this reason, in the above explanation, the same instruction as the destroyed instruction is placed in the called program and the substitute processing is performed, but the instruction to be destroyed is set as a NOP instruction (no processing instruction).
There is no need to perform a substitute process. Furthermore, since it was necessary to restore the destruction command when the linkage was released, we decided to store the destruction command in the table, but the destruction command was
If it is an OP instruction, the restoration process is unique and can be easily performed. Other measures for the 4 destruction commands may be considered, but the effects of the present invention will not change.

またリンケージはすべて分岐命令で構成したが。Also, all linkages are made up of branch instructions.

計算機によっては復帰アドレスを用意して分岐する命令
(例えばBAL命令: Branch and Lin
k  を行なうもので、BAL:B、、R,という命令
は指定番地B1への分岐とレジスタRsK&l!入され
た番地への復帰を示している)が使用可能なものもある
が。
Depending on the computer, an instruction that prepares a return address and branches (for example, BAL instruction: Branch and Lin)
k, and the instructions BAL:B,,R, branch to the specified address B1 and register RsK&l! (indicating a return to the address entered) can be used.

本発明としての効果は変らない。その他様々な命令が考
えられるが、制御を他番地へ移行することが可能な命令
であれば効果は変らない。
The effects of the present invention remain unchanged. Various other commands are possible, but the effect will remain the same as long as the command can transfer control to another address.

リンケージ管理テーブルへの分岐情報は、システム編集
時に記号2ペルを用iて書き込むこととしたが他プログ
ラムによる書き込みが行なわれても効果は変らない。
Branch information to the linkage management table is written using the symbol 2-pel i during system editing, but the effect remains the same even if writing is performed by another program.

本実施例は、初めくりンケージが1つの場合について示
し九が、検数のリンケージを設定解放する場合も同様で
ある。
This embodiment shows the case where there is one initial linkage, but the same applies to the case where the linkage of the count is set and released.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はプログ?五人、Bのメモリ配置図、第2図はメ
(−リ装置リスト、第5図は一時的プログラムリンケー
ジの説明図、第4図はプルグラム変更にともなうメモリ
再配置図、第5図は本発明において使用するりンケージ
管理テーブルへの番地情報設定説明図、第6図は本発明
において使用するリンケージ設定解放プログラムの概略
7四−2#17図はリンケージ設定時の説明図、第8図
及び第9図は本発明におけるリンケージ設定時及び解放
時の処理状態説明図、第10図は本発明の一笑施例構成
図、第11図は本発明の詳細な説明図である。 図中、1は命令レジスタ、2はデコーダ、3はアドレス
・レジスタ、4〜6はレジスタ、7は第1演算回路、8
は第2演算回路、9はジャフグ命令出力部、10は+1
加算回路、11.12はレジスタ、13は書込レジスタ
、14はデータ保持レジスタをそれぞれ示す。 特杵出願人 富士通株式金社 代理人弁理士 山 谷 晧 榮 才4昆 fS図 す7図 T
Is Figure 1 a prog? Figure 2 is a memory allocation diagram of the five people and B, Figure 2 is a memory device list, Figure 5 is an explanatory diagram of temporary program linkage, Figure 4 is a diagram of memory relocation due to program change, and Figure 5 is a diagram of the book. FIG. 6 is an explanatory diagram of address information setting in the linkage management table used in the present invention. FIG. 6 is an outline of the linkage setting release program used in the present invention. FIG. FIG. 9 is an explanatory diagram of processing states at the time of linkage setting and release in the present invention, FIG. 10 is a configuration diagram of a simple embodiment of the present invention, and FIG. 11 is a detailed explanatory diagram of the present invention. is an instruction register, 2 is a decoder, 3 is an address register, 4 to 6 are registers, 7 is a first arithmetic circuit, 8
is the second arithmetic circuit, 9 is the jafugu instruction output unit, 10 is +1
The adder circuit, 11 and 12 are registers, 13 is a write register, and 14 is a data holding register, respectively. Applicant: Fujitsu Kinsha, Patent Attorney, Akira Yamatani, Eisai 4KonfSFig.7T

Claims (1)

【特許請求の範囲】[Claims] (1)複数の異なるプログラムをリンケージしたり解放
する場合において,プログラムに命令を記入する命令記
入手段と,リンケージ先のプログラムのアドレスにおけ
る呼出し先番地とリンケージを行なうプログラムのアド
レスにおける呼出し元番地ともとのプログラムへ復帰す
る命令が記入されている復帰命令番地がそれぞれ記入さ
れているアドレス保持手段と,命令作成手段と、リンケ
ージの設定あるいは解放を指示する設定指示手段および
解放指示手段を設け,リンケージの設定指示のあるとき
に前記アドレス保持手段を読出してリンケージに必要な
命令を前記命令作成手段で作成し,この作成した命令を
前記命令記入手段により当該プログラムに自動的に記入
し,またリンケージの解放指示のおるときに前記プログ
ラムの呼出し元番地に記入した命令を自動的に変更する
ようにしたことを特徴とするプログラム間自動リンケー
ジ方式.
(1) When linking or releasing multiple different programs, an instruction entry means for writing instructions into the program, a call destination address in the address of the program to be linked, a call source address in the address of the program to be linked, and the original address. address holding means in which the return instruction addresses of instructions for returning to the program are written, instruction creation means, setting instruction means and release instruction means for instructing the setting or release of the linkage. When a setting instruction is given, the address holding means is read, an instruction necessary for linkage is created by the instruction creation means, the created instruction is automatically written into the program by the instruction entry means, and the linkage is released. An automatic linkage method between programs, characterized in that an instruction written in a call source address of the program is automatically changed when an instruction is received.
JP56155915A 1981-09-30 1981-09-30 Automatic interprogram linkage system Granted JPS5856154A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56155915A JPS5856154A (en) 1981-09-30 1981-09-30 Automatic interprogram linkage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56155915A JPS5856154A (en) 1981-09-30 1981-09-30 Automatic interprogram linkage system

Publications (2)

Publication Number Publication Date
JPS5856154A true JPS5856154A (en) 1983-04-02
JPS6126695B2 JPS6126695B2 (en) 1986-06-21

Family

ID=15616286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56155915A Granted JPS5856154A (en) 1981-09-30 1981-09-30 Automatic interprogram linkage system

Country Status (1)

Country Link
JP (1) JPS5856154A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0263447A2 (en) * 1986-10-10 1988-04-13 International Business Machines Corporation A method and apparatus for implementing a branch and return on address instruction in a digital data processing system
US4946019A (en) * 1988-03-07 1990-08-07 Mitsubishi Jukogyo Kabushiki Kaisha Coin discriminator with phase detection
JP2008274776A (en) * 2007-04-25 2008-11-13 Yamaha Motor Powered Products Co Ltd Canister arranging structure in generator set

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0263447A2 (en) * 1986-10-10 1988-04-13 International Business Machines Corporation A method and apparatus for implementing a branch and return on address instruction in a digital data processing system
US4946019A (en) * 1988-03-07 1990-08-07 Mitsubishi Jukogyo Kabushiki Kaisha Coin discriminator with phase detection
JP2008274776A (en) * 2007-04-25 2008-11-13 Yamaha Motor Powered Products Co Ltd Canister arranging structure in generator set

Also Published As

Publication number Publication date
JPS6126695B2 (en) 1986-06-21

Similar Documents

Publication Publication Date Title
JPH0883197A (en) Method for debugging of software program and computer system
DE69727177T2 (en) Emulation of asynchronous signals with a branching mechanism
US10295976B2 (en) System development device, system development method, and system development program
CN109766139B (en) Configuration method and device of configuration file
CN105468373A (en) Branch merging method and device
JPH0254337A (en) Data processing system for facilitating generation of executable image
JP3382080B2 (en) Method and system for collating instruction execution order consistency
US7865883B1 (en) Parallel and asynchronous debugger and debugging method for multi-threaded programs
JPS5856154A (en) Automatic interprogram linkage system
JP2000172808A (en) Ic card and application managing method
JP3131098B2 (en) Simulator
JPH0454529A (en) Available period limit system for evaluating software
JP3067651B2 (en) Configuration data recovery device
CN104937560A (en) Methods and apparatus for debugging of remote systems
WO2022269793A1 (en) Control device and address management method
JPH03216743A (en) Parallel saving system for data base
JP2841363B2 (en) External module acquisition method
JPS6214240A (en) Program inspecting system
JPH0659960A (en) File protection system
CN117873556A (en) Version management method, system, device, equipment and medium for chip verification
JPH0375942A (en) Editing history control system for file
JPH02284236A (en) Program debugging processor
JPH03175542A (en) Queue operation instruction executing system
JPH06168152A (en) Task degeneracy managing device
JPH08161347A (en) System for generating linkage between information files