JPH0264731A - Data area initializing and processing system - Google Patents

Data area initializing and processing system

Info

Publication number
JPH0264731A
JPH0264731A JP21591788A JP21591788A JPH0264731A JP H0264731 A JPH0264731 A JP H0264731A JP 21591788 A JP21591788 A JP 21591788A JP 21591788 A JP21591788 A JP 21591788A JP H0264731 A JPH0264731 A JP H0264731A
Authority
JP
Japan
Prior art keywords
program
data area
internal
area
data
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
Application number
JP21591788A
Other languages
Japanese (ja)
Inventor
Isao Funaki
勇夫 舟木
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 JP21591788A priority Critical patent/JPH0264731A/en
Publication of JPH0264731A publication Critical patent/JPH0264731A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To make it unnecessary for an internal program itself to have an initial value data and to reduce a data area by providing an initialization processing part in a data processing part and loading partially only the data area again if necessary. CONSTITUTION:While a load module 51 in a data processing part 1 is executed, an internal program 61 calls another internal program 71 by a call instruction, and when a control is transferred to the program 71, a necessary processing is executed. When, for example, the contents of a data area 81 are rewritten and called again by the call instruction, the contents of the area 81 goes to ones different from tan initial value. When the program 71 is canceled by a cancel instruction after the control is returned to the program 61, the program 61 informs the initialization processing part 4 of the necessity to initialize the area 81. Thus, when the program 71 is called again, the processing part 4 loads the contents of a data area 82 having the initial value of the area 81 into the area 81 the contents of the area 81 are initialized. Thus, the area occupied by the internal program can be reduced.

Description

【発明の詳細な説明】 〔概要〕 内部プログラムのデータ域の初期化処理方式に関し。[Detailed description of the invention] 〔overview〕 Concerning the initialization processing method of the data area of the internal program.

内部プログラムが占める領域を小さくすることを目的と
し。
The purpose is to reduce the area occupied by internal programs.

少なくとも1つが内部にデータ域を有する複数の内部プ
ログラムを含むロードモジュールを格納する外部記憶装
置を備え、前記ロードモジュールを主メモリにローディ
ングして、内部にデータ域を有する内部プログラムを含
むロードモジュールとし、データ処理部での前記ロード
モジュールの実行に伴って、前記データ域の内容が変更
されるデータ処理装置において、前記データ域の内容を
初期化する初期化処理部を設け、前記データ域の内容の
初期化が必要となった時に、前記初期化処理部が、前記
外部記憶装置の前記データ域の内容を、前記主メモリの
前記データ域ヘローディングするように構成する。
The external storage device stores load modules including a plurality of internal programs, at least one of which has a data area therein, and the load module is loaded into main memory as a load module including internal programs each having an internal data area. , in a data processing device in which the contents of the data area are changed as the load module is executed in the data processing unit, an initialization processing unit that initializes the contents of the data area is provided; The initialization processing unit is configured to load the contents of the data area of the external storage device into the data area of the main memory when initialization of the data area becomes necessary.

[産業上の利用分野〕 本発明はデータ域の初期化処理方式に関し、更に詳しく
は、内部プログラムのデータ域の初期化処理方式に関す
る。
[Industrial Application Field] The present invention relates to a data area initialization processing method, and more particularly to a data area initialization processing method for an internal program.

C0BOLにおいては、プログラムに含まれるデータ域
の内容は、ある特定の命令がある特定のタイミングで実
行された場合には次に参照され為時には初期値となって
いなければならないという規定がある。
In COBOL, there is a regulation that the contents of a data area included in a program must be referenced next time when a certain instruction is executed at a certain timing, and then be set to an initial value.

なお、プログラムの実行によって主メモリ上の当該プロ
グラムのデータ域の内容が変更されても。
Note that even if the contents of the data area of the program in main memory are changed by executing the program.

通常のデータとは異なり、変更の都度、外部記憶装置に
出力される(外部記憶装置上の当該ブロク゛ラムのデー
タ域が同様に変更される)とむ1うことはない。
Unlike normal data, it is inevitable that the data is output to the external storage device each time it is changed (the data area of the block in question on the external storage device is similarly changed).

〔従来の技術〕 データ域の内容を初期値とする処理(データ域の初期化
処理)は、従来、プログラムの種類に応じて9次のよう
な方式とされていた。
[Prior Art] Conventionally, the process of setting the contents of a data area as an initial value (data area initialization process) has been performed using the following nine methods depending on the type of program.

(1)外部プログラムのデータ域の初期化外部プログラ
ム(1つのロードモジュール自体が1つのプログラムと
されているもの)のデータ域の初期化は、従来、第6図
に図示するように行っていた。
(1) Initialization of data area of external program Initialization of data area of external program (one load module itself is considered as one program) was conventionally performed as shown in Figure 6. .

主メモリ3上の1つの外部プログラム91が。One external program 91 on main memory 3.

命令rCALL“A″Jにより、プログラムAなる他の
外部プログラムを呼び出す、これGこより、外部記憶装
置2の外部プログラム93力曵主メモリ3上にローディ
ングされ、外部ブロク゛ラム92とされる。制御が外部
プログラム92に渡ると、外部プログラム92は必要な
処理を行う、これにより1例えば、外部プログラム92
のデータ域82の内容が、書き換えられる。従って、再
度、命令rcALL’Aゝ」により外部プログラム92
が呼び出された時は、データ域82の内容は初期値では
ない。
The command rCALL "A"J calls another external program called program A, which causes the external program 93 in the external storage device 2 to be loaded onto the main memory 3 and becomes an external block program 92. When control passes to external program 92, external program 92 performs the necessary processing, thereby causing one, e.g.
The contents of the data area 82 are rewritten. Therefore, once again, the command rcALL'A'' causes the external program 92 to
is called, the contents of data area 82 are not initial values.

次に、制御が外部プログラム91に戻った後。Then, after control returns to external program 91.

外部プログラム91が、命令rcANcEL“A”Jに
より、外部プログラム92を取り消したとする。この命
令があった場合には9次にプログラムAなる外部プログ
ラムが参照された時には、そのデータ域の内容は初期値
となっていなければならない、そこで、外部プログラム
92は主メモリ3上から消去される。
Assume that the external program 91 cancels the external program 92 by the command rcANcEL"A"J. If this instruction exists, the next time the external program called program A is referenced, the contents of the data area must be the initial value, so the external program 92 is erased from the main memory 3. Ru.

次に、再び、外部プログラム91がプログラム八なる外
部プログラムを呼び出すと、外部記憶装置2の外部プロ
グラム93が主メモリ3にローディングされ、外部プロ
グラム94とされる。これにより、プログラムAのデー
タ域84の内容は初期値とされる。
Next, when the external program 91 calls an external program called program 8 again, the external program 93 in the external storage device 2 is loaded into the main memory 3 and becomes an external program 94. As a result, the contents of the data area 84 of program A are set to initial values.

(2)内部プログラムのデータ域の初期化内部プログラ
ム(1つのロードモジュール内に含まれる別単位のプロ
グラム)のデータ域の初期化は、従来、第7図に図示す
るように行っていた。
(2) Initialization of the data area of an internal program The data area of an internal program (a separate program included in one load module) has conventionally been initialized as shown in FIG.

主メモリ3上にローディングされた1つのロードモジュ
ール95は、別単位の(互いに独立に実行できる)2つ
の内部プログラム96及び97を含んでいる。
One load module 95 loaded onto the main memory 3 includes two internal programs 96 and 97 in separate units (which can be executed independently of each other).

プログラムMなる1つの内部プログラム96が、命令r
CALL″A“」により、プログラムAなる他の内部プ
ログラム97を呼び出す。
One internal program 96, program M, has an instruction r
CALL "A" calls another internal program 97 called program A.

制御が内部プログラム97に渡ると、内部プログラム9
7は必要な処理を行う、これにより。
When control passes to internal program 97, internal program 9
7 performs the necessary processing.

例えば、内部プログラム97のデータ域87の内容が、
書き換えられる。従って、再度、命令rCALL“A″
」により内部プログラム97が呼び出された時は、デー
タ域87の内容は初期値ではない。
For example, the contents of the data area 87 of the internal program 97 are
Can be rewritten. Therefore, once again, the command rCALL “A”
When the internal program 97 is called by ``, the contents of the data area 87 are not initial values.

次に、制御が内部プログラム96に戻った後。Then, after control returns to internal program 96.

内部プログラム96が、命令rCANCEL“A”」に
より、内部プログラム97を取り消したとする。この命
令があった場合には1次にプログラムAなる内部プログ
ラム97が参照された時には、そのデータ域87の内容
は初期値となっていなければならない、しかし、データ
域87又は内部プログラム97を主メモリ3上から消去
しようとすると、ロードモジュール95も消去されてし
まうので、消去できない、そこで、初期化のために、内
部プログラム97内に初期値データを格納する領域88
を別に設ける。
Assume that the internal program 96 cancels the internal program 97 by the command rCANCEL "A". When this instruction is issued, the contents of the data area 87 must be the initial value when the internal program 97, which is program A, is referenced. However, the data area 87 or the internal program 97 must be If you try to erase from the memory 3, the load module 95 will also be erased, so it cannot be erased.Therefore, for initialization, an area 88 for storing initial value data in the internal program 97 is created.
will be provided separately.

次に、再び、内部プログラム96がプログラムAなる内
部プログラム97を呼び出すと、命令rCANCEL″
A″」があったことを知り。
Next, when the internal program 96 calls the internal program 97 called program A again, the command rCANCEL''
I learned that there was a "A".

領域8Bから初期値データがデータ域87にコピーされ
る。これにより、データ域87の内容は初期値とされる
Initial value data is copied from area 8B to data area 87. As a result, the contents of the data area 87 are set to initial values.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

前述のように、内部プログラムのデータ域の初期化にお
いては、外部プログラムと同様の方式。
As mentioned above, the internal program's data area is initialized in the same way as the external program.

即ち、 (内部)プログラムを消去した後再度ローディ
ングすることにより初期化をする方式は採用できない、
このため、 (内部)プログラムが自分の中に初期値デ
ータを持つ必要が生じ、領域88が必要となる。
In other words, it is not possible to initialize by deleting the (internal) program and then reloading it.
Therefore, the (internal) program needs to have initial value data within itself, and the area 88 is required.

このようにデータ域87と同サイズの領域8Bが別に必
要となるため、外部記憶装置2及び主メモリ3において
、内部プログラム(又はロードモジュール)が大きな領
域を占めてしまうという問題があった。
Since an area 8B of the same size as the data area 87 is thus separately required, there is a problem in that the internal program (or load module) occupies a large area in the external storage device 2 and main memory 3.

本発明は、内部プログラムが占める領域を小さくするこ
とが可能な内部プログラムのデータ域の初期化処理方式
を提供することを目的とする。
SUMMARY OF THE INVENTION An object of the present invention is to provide an initialization processing method for a data area of an internal program that can reduce the area occupied by the internal program.

〔課題を解決するための手段〕[Means to solve the problem]

第1図は本発明の原理構成図であり1本発明によるデー
タ処理装置を示している。
FIG. 1 is a diagram illustrating the principle of the present invention and shows a data processing apparatus according to the present invention.

第1図において、1はデータ処理部、2は外部記憶装置
、3は主メモリ、4は初期化処理部、51及び52はロ
ードモジュール、61,62,71及び72は内部プロ
グラム、81及び82はデータ域である。
In FIG. 1, 1 is a data processing section, 2 is an external storage device, 3 is a main memory, 4 is an initialization processing section, 51 and 52 are load modules, 61, 62, 71 and 72 are internal programs, 81 and 82 is a data area.

外部記憶装置2はロードモジュール52を格納している
。ロードモジエール52は、互いに独立の(別単位の)
複数(この場合は2つ)の内部プログラム62及び72
を含む、少なくとも1つの内部プログラム72は、その
内部にデータ域82を有する。
The external storage device 2 stores a load module 52. The load mosier 52 is mutually independent (separate units).
Multiple (two in this case) internal programs 62 and 72
At least one internal program 72 includes a data area 82 therein.

ロードモジュール52は、外部記憶装置2から主メモリ
3ヘローデイングされる。これにより。
The load module 52 is loaded from the external storage device 2 to the main memory 3 . Due to this.

主メモリ3には、ロードモジュール52と同一内容のロ
ードモジュール51が格納される。従って。
A load module 51 having the same contents as the load module 52 is stored in the main memory 3 . Therefore.

ロードモジュール51は、内部プログラム62及び72
と同一の内部プログラム61及び71を含み、内部プロ
グラム71はデータ域81を有する。
The load module 51 has internal programs 62 and 72.
The internal program 71 includes the same internal programs 61 and 71, and the internal program 71 has a data area 81.

データ処理部1は、中央処理装置(CP U)と主メモ
リ3とから構成され、主メモリ3内のロードモジュール
51の処理を実行する。
The data processing unit 1 is composed of a central processing unit (CPU) and a main memory 3, and executes processing of a load module 51 in the main memory 3.

初期化処理部4は、主メモリ3内の内部プログラム71
のデータ域81の初期化が必要となった時に、外部記憶
装置2内の内部プログラム72のデータ域82の内容を
、データ域81ヘローデイングする。
The initialization processing unit 4 executes an internal program 71 in the main memory 3.
When it becomes necessary to initialize the data area 81, the contents of the data area 82 of the internal program 72 in the external storage device 2 are loaded into the data area 81.

〔作用〕[Effect]

データ処理部1においてロードモジュール51の実行中
に、内部プログラム61が、命令rCALL“A”」に
より、他の内部プログラム71(プログラムA)を呼び
出す。制御が内部プログラム71に渡ると、内部プログ
ラム71は必要な処理を行う、これにより9例えば、内
部プログラム71のデータ域81の内容が、書き換えら
れる。
While the load module 51 is being executed in the data processing unit 1, the internal program 61 calls another internal program 71 (program A) with the instruction rCALL "A". When control is passed to the internal program 71, the internal program 71 performs necessary processing, thereby rewriting, for example, the contents of the data area 81 of the internal program 71.

従って、再度、命令rcALL”A’″」により内部プ
ログラム71が呼び出された時は、データ域81の内容
は初期値ではない。
Therefore, when the internal program 71 is called again by the instruction rcALL "A'", the contents of the data area 81 are not the initial values.

次に、制御が内部プログラム61に戻った後内部プログ
ラム61が、命令rcANcEL“A”」により、内部
プログラム71を取り消したとする。この命令があった
場合には1次に内部プログラム7!が参照された時には
、そのデータ域81の内容は初期値となっていなければ
ならない。
Next, assume that after control returns to the internal program 61, the internal program 61 cancels the internal program 71 by using the command rcANcEL "A". If this command is issued, the internal program 7! When referenced, the contents of the data area 81 must be the initial value.

そこで、内部プログラム61は、内部プログラム71を
取り消すと共に、初期化処理部4に対して、データ域8
1の初期化が必要であることを通知する。
Therefore, the internal program 61 cancels the internal program 71 and requests the initialization processing unit 4 to
Notifies that 1 initialization is required.

次に、再び、内部プログラム61が内部プログラム71
を呼び出すと、先に前述の通知を受けた初期化処理部4
は、データ域82の内容をデータ域81ヘローデイング
する。これにより、データ域81の内容は初期値とされ
る。
Next, the internal program 61 again
When , the initialization processing unit 4 that received the above notification first
loads the contents of data area 82 into data area 81. As a result, the contents of the data area 81 are set to initial values.

このように2元のロードモジュール52のうちの必要な
一部分(即ち、初期化が必要となったデータ域81の部
分)のみが9部分的に、再度ローディングされる。これ
により、内部プログラム自体に初′M値データを持つ必
要がなくなる。従って。
In this way, only a necessary portion of the binary load module 52 (ie, the portion of the data area 81 that required initialization) is partially loaded again. This eliminates the need for the internal program itself to have initial M value data. Therefore.

内部プログラムの占める領域を小さくでき、かつ。The area occupied by internal programs can be reduced.

主メモリ上の内部プログラムのデータ域の初期化を行う
ことができる。
The internal program data area in main memory can be initialized.

〔実施例〕〔Example〕

第2図は実施例説明図であり、同図において40は初期
化フラグ、41はフラグ設定部、42はフラグ判定部、
43は部分ローディング処理部85及び86は必須パラ
メタである。
FIG. 2 is an explanatory diagram of the embodiment, in which 40 is an initialization flag, 41 is a flag setting section, 42 is a flag determination section,
Reference numeral 43 indicates that the partial loading processing units 85 and 86 are essential parameters.

フラグ設定部41は、内部プログラム61(プログラム
M)が呼び出している他の内部プログラム71(プログ
ラムA)を命令rCANCEL“A″」により取り消す
と、取り消された内部プログラム71のデータ域81の
初期化が必要であることを示すフラグを設定する。即ち
、内部プログラム71についての初期化フラグ40に「
初期化必要」を設定する。
When the internal program 61 (program M) calls another internal program 71 (program A) using the command rCANCEL "A", the flag setting unit 41 initializes the data area 81 of the canceled internal program 71. Set a flag to indicate that it is required. That is, the initialization flag 40 for the internal program 71 is set to "
Set "Initialization required".

フラグ判定部42は、内部プログラム61が他の内部プ
ログラム71を命令rCALL″A“°」により呼び出
すと、呼び出された内部プログラム71についての初期
化の必要性を判定する。即ち内部プログラム71につい
ての初期化フラグ40の状態を判定する。
When the internal program 61 calls another internal program 71 using the command rCALL''A''°, the flag determining unit 42 determines whether the called internal program 71 needs to be initialized. That is, the state of the initialization flag 40 for the internal program 71 is determined.

部分ローディング処理部43は、フラグ判定部42にお
いて初期化が必要であると判定されると。
When the flag determining unit 42 determines that initialization is necessary, the partial loading processing unit 43 performs the initialization.

これを受けて、データ域81の初期化を行う。即ち、実
行中のロードモジュール51の元のロードモジュール5
2のうちデータ域82のみを、必須パラメタ86を用い
て5部分的にデータ域81ヘローデイングする0部分ロ
ーディングが終了すると2部分ローディング処理部43
は初期化フラグ40に「初期化不要」を設定する。
In response to this, the data area 81 is initialized. That is, the original load module 5 of the load module 51 being executed
2, only the data area 82 is partially loaded into the data area 81 using the essential parameter 86. 0 When the partial loading is completed, the 2 partial loading processing unit 43
sets the initialization flag 40 to “initialization not required”.

必須パラメタ86は、呼び出しの対象となる内部プログ
ラム71に含まれるようにされ6元のロードモジュール
名(ロードモジュール52であること)、ロードモジュ
ール52におけるデータ域82のアドレスとサイズ、主
メモリ3にローディングされた時の(ロードモジエール
51における)データ域81のアドレスを含む。
The required parameters 86 are included in the internal program 71 to be called, and include the name of the original load module (which must be the load module 52), the address and size of the data area 82 in the load module 52, and the information stored in the main memory 3. Contains the address of the data area 81 (in the load module 51) at the time of loading.

第3図はデータ域の初期化処理フローである。FIG. 3 is a flowchart of data area initialization processing.

■ 内部プログラム61において最初のCALL命令(
CALL“A”)があると、内部プログラム71が呼び
出され、制御が内部プログラム71に渡る(分岐する)
■ The first CALL instruction (
When there is a CALL “A”), the internal program 71 is called and control passes to the internal program 71 (branches).
.

■ 内部プログラム71の人口において、まず初期化フ
ラグ40の状態が判定される。
(2) In the population of the internal program 71, the state of the initialization flag 40 is first determined.

この時点では、初期化フラグ40が初期化不要とされて
いるので、内部プログラム71の各命令の処理が実行さ
れる。
At this point, since the initialization flag 40 indicates that initialization is not necessary, each instruction of the internal program 71 is executed.

■ 内部プログラム61に制御が戻った後、内部プログ
ラム61においてCANCEL命令(CANCEL″A
″″)があると、初期化フラグ40に「初期化必要」が
設定される。
■ After control returns to the internal program 61, the internal program 61 issues a CANCEL command (CANCEL''A
″″), “initialization required” is set in the initialization flag 40.

■ この後、内部プログラム61において再びCALL
命令があると、内部プログラム71に分岐する。
■ After this, CALL again in internal program 61.
If there is an instruction, the program branches to an internal program 71.

■ 内部プログラム71の入口において、初期化フラグ
40の状態が判定される。
(2) At the entrance of the internal program 71, the state of the initialization flag 40 is determined.

この時点では、先のCANCEL命令によって初期化フ
ラグ40が「初期化必要」とされているので、以下の処
理■ないし■が行われる。
At this point, the initialization flag 40 has been set to "initialization required" by the previous CANCEL command, so the following processes (1) to (2) are performed.

即ち、内部プログラム71の各命令の処理の実行に先立
って、データ域81の初期化が行われ■ ロードモジュ
ール52のうちのデータ域82をデータ域81へ部分的
にローディングするための必須パラメタ86がローダ(
部分ローディング処理部43)に設定される。
That is, prior to execution of processing of each instruction of the internal program 71, the data area 81 is initialized; is the loader (
It is set in the partial loading processing section 43).

■ 必須パラメタ86に従って、データ域82の内容が
データ域81に部分的にローディングされる。
■ The contents of data area 82 are partially loaded into data area 81 according to mandatory parameters 86;

■ 部分的なローディングが終了すると、初期化フラグ
40が「初期化不要」に設定される。
(2) When the partial loading is completed, the initialization flag 40 is set to "initialization not required."

この後、データ域81の初期化された内部プログラム7
1の各命令の処理が実行される。
After this, the initialized internal program 7 in the data area 81
The processing of each instruction of 1 is executed.

■ この後、内部プログラム61においてCALL命令
があると、内部プログラム71に分岐する。
(2) Thereafter, when there is a CALL instruction in the internal program 61, the program branches to the internal program 71.

■ 内部プログラム71の入口において、初期化フラグ
40の状態が判定される。
(2) At the entrance of the internal program 71, the state of the initialization flag 40 is determined.

この時点では、初期化フラグ40が「初期化不要」とさ
れているので、内部プログラム71の各命令の処理が実
行される。
At this point, since the initialization flag 40 is set to "initialization not required", each instruction of the internal program 71 is executed.

以上の処理を可能とするために、ロードモジュール52
を得る過程において、原始プログラムを翻訳(コンパイ
ル)して目的プログラムを生成する時に、以下のコンパ
イル処理が行われる。
In order to enable the above processing, the load module 52
In the process of obtaining the target program, the following compilation process is performed when the source program is translated (compiled) to generate the target program.

第4図はコイパイル処理の概要を示しており。Figure 4 shows an overview of coil pile processing.

同図において、101はコンパイラ、102は原始プロ
グラム、103は目的プログラムである。
In the figure, 101 is a compiler, 102 is a source program, and 103 is a target program.

原始プログラム102におけるプログラムAを呼び出す
命令rCALL ’“A″」は、コンパイラ101によ
り、目的プログラム103において「プログラムAのア
ドレスへのサブルーチンコール」とされる。
The compiler 101 converts the instruction rCALL ``A'' that calls program A in the source program 102 into a ``subroutine call to the address of program A'' in the target program 103 .

同様に、命令rCANCEL″A″」は、「プログラム
Aにおいてデータ域の初期化が必要である事を示すフラ
グを設定」とされる、この時、データ域の部分ローディ
ングを行うようにはコンパイル処理されない、これは、
命令rcANcEL“A′″」の後に命令rCALL 
”A″」が存在しない場合には、データ域の部分ローデ
ィングが無駄な処理となってしまうからである。
Similarly, the instruction rCANCEL ``A'' is used to ``set a flag indicating that the data area needs to be initialized in program A.'' At this time, the compile process does not allow partial loading of the data area. This is not done.
After the instruction rcANcEL “A′″”, the instruction rCALL
This is because if "A" does not exist, partial loading of the data area becomes a wasteful process.

一方、同一の原始プログラム102において、他のプロ
グラム(この場合はプログラムM)から呼び出されるプ
ログラム(この場合はプログラムA)は、そのプログラ
ムの入口において1次のようにされる。
On the other hand, in the same source program 102, a program (in this case, program A) that is called from another program (in this case, program M) is made primary at the entrance of that program.

原始プログラム102におけるプログラムAの入口のr
PROcEDURE  DIVISIONJが、コンパ
イラ101により、第4図図示の如くにコンパイル処理
される。即ち、この時、データ域の部分ローディングを
行うようにされる。また。
r at the entrance of program A in the source program 102
PROcEDURE DIVISIONJ is compiled by the compiler 101 as shown in FIG. That is, at this time, partial loading of the data area is performed. Also.

このために必要なデータが必須パラメタとして。The data required for this purpose is as a required parameter.

コンパイラ101により目的プログラム103に加えら
れる。必須パラメタは1例えば、当該目的プログラム1
03がロードモジュール52とされること(ロードモジ
エール名)、ロードモジュール52におけるデータ域8
2のアドレスとサイズ、主メモリ3にローディングされ
た時のデータ域81のアドレスを含む。
It is added to the target program 103 by the compiler 101. The required parameter is 1. For example, the target program 1
03 is the load module 52 (load module name), data area 8 in the load module 52
2, including the address and size of data area 81 when loaded into main memory 3.

なお、第5図に、各命令に対応して生成された目的プロ
グラムの処理内容を示す。
Incidentally, FIG. 5 shows the processing contents of the target program generated corresponding to each instruction.

第4図図示の如く生成された目的プログラム103は、
データ処理部1において、第5図図示の如き処理を行う
、実際は、目的プログラム103は。
The target program 103 generated as shown in FIG.
In the data processing section 1, the target program 103 actually performs the processing shown in FIG.

例えば、リンケージエディタにおいてデータと結合され
、実行可能なロードモジュール52とされる。このデー
タは、データ域81内のデータとは異なるものである。
For example, it is combined with data in a linkage editor and made into an executable load module 52. This data is different from the data in data area 81.

以上1本発明を実施例により説明したが1本発明はその
主旨に従い種々の変形が可能である。
Although the present invention has been described above with reference to embodiments, the present invention can be modified in various ways according to its gist.

例えば、7′−夕域81の初期化処理のための部分ロー
ディングが、内部プログラム71の入口ではなく、内部
プログラム61におけるCANCEL命令に伴って行わ
れるようにしてもよい、即ち。
For example, the partial loading for the initialization process of the 7'-event area 81 may be performed not at the entrance of the internal program 71, but in response to a CANCEL command in the internal program 61, that is.

第3図の処理■ないし■(各命令の処理の実行を除く)
が、内部プログラム61におけるCANCEL命令に対
応するようにされる。この場合には。
Processing in Figure 3 ■ or ■ (excluding execution of each instruction process)
is made to correspond to the CANCEL command in the internal program 61. In this case.

初期化フラグ40の設定は不要となる。Setting of the initialization flag 40 becomes unnecessary.

また、初期化フラグ40を利用することにより。Also, by using the initialization flag 40.

内部プログラム61におけるCANCEL命令の有無と
は無関係に、データ域81の初期化を行うようにしても
よい0例えば、内部プログラム71の出口(内部プログ
ラム61に制御を戻す時)において、初期化フラグ40
に「初期化必要」のフラグをたてるようにすることがで
きる。この場合には、内部プログラム71が呼び出され
ると、常に、そのデータ域81の初期化が行われる。こ
れは、言語仕様の規定により初期化が必要とされる場合
9例えば、内部プログラム71が内部プログラム61に
対してINITIAL属性を持つような場合に有効であ
る。
The data area 81 may be initialized regardless of the presence or absence of a CANCEL command in the internal program 61. For example, at the exit of the internal program 71 (when returning control to the internal program 61), the initialization flag 40
can be flagged as "needs initialization". In this case, whenever the internal program 71 is called, its data area 81 is initialized. This is effective when initialization is required according to the language specifications, for example, when the internal program 71 has an INITIAL attribute with respect to the internal program 61.

(発明の効果) 以上説明したように2本発明によれば、C0BOLにお
ける内部プログラムのデータ域の初期化処理において、
データ域のみを必要に応じて部分的に再度ローディング
することにより、内部プログラム自体が初期値データを
持つ必要を無くすことができるので、内部プログラムが
占める領域を小さくすることができる。
(Effects of the Invention) As explained above, according to the present invention, in the initialization process of the data area of the internal program in COBOL,
By partially reloading only the data area as necessary, the internal program itself does not need to have initial value data, so the area occupied by the internal program can be reduced.

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

第1図は本発明の原理構成図。 第2図は実施例説明図。 第3図は初期化処理フロー 第4図はコンパイル処理を示す図。 第5図は目的プログラムの処理内容を示す図第6図及び
第7図は従来技術説明図。 1はデータ処理部、2は外部記憶装置、3は主メモリ、
4は初期化処理部、40は初期化フラグ41はフラグ設
定部、42はフラグ判定部、43は部分ローディング処
理部、51及び52はロードモジュール、61,62.
71及び72は内部プログラム、81及び82はデータ
域である。
FIG. 1 is a diagram showing the principle configuration of the present invention. FIG. 2 is an explanatory diagram of the embodiment. FIG. 3 is an initialization process flow. FIG. 4 is a diagram showing a compile process. FIG. 5 shows the processing contents of the target program, and FIGS. 6 and 7 are explanatory diagrams of the prior art. 1 is a data processing unit, 2 is an external storage device, 3 is a main memory,
4 is an initialization processing section, 40 is an initialization flag 41 is a flag setting section, 42 is a flag determination section, 43 is a partial loading processing section, 51 and 52 are load modules, 61, 62 .
71 and 72 are internal programs, and 81 and 82 are data areas.

Claims (1)

【特許請求の範囲】 主メモリ(3)を有するデータ処理部(1)と、少なく
とも1つが内部にデータ域(82)を有する複数の内部
プログラム(72)を含むロードモジュール(52)と
、 前記ロードモジュール(52)を格納する外部記憶装置
(2)とを備え、 前記ロードモジュール(52)を前記主メモリ(3)に
ローディングして、内部にデータ域(81)を有する内
部プログラム(71)を含むロードモジュール(51)
とし、前記データ処理部(1)での前記ロードモジュー
ル(51)の実行に伴って、前記データ域(81)の内
容が変更されるデータ処理装置において、 前記データ域(81)の内容を初期化する初期化処理部
(4)を設け、 前記データ域(81)の内容の初期化が必要となった時
に、前記初期化処理部(4)が、前記外部記憶装置(2
)の前記データ域(82)の内容を、前記主メモリ(3
)の前記データ域(81)へローディングする ことを特徴とするデータ域の初期化処理方式。
[Scope of Claims] A load module (52) including a data processing unit (1) having a main memory (3) and a plurality of internal programs (72), at least one of which has a data area (82) therein; an external storage device (2) that stores a load module (52); an internal program (71) that loads the load module (52) into the main memory (3) and has a data area (81) therein; Load module (51) including
In a data processing device in which the contents of the data area (81) are changed with the execution of the load module (51) in the data processing unit (1), the contents of the data area (81) are initialized. An initialization processing unit (4) is provided to initialize the contents of the data area (81), and when it becomes necessary to initialize the contents of the data area (81), the initialization processing unit (4)
) of the data area (82) of the main memory (3).
) is loaded into the data area (81) of the data area (81).
JP21591788A 1988-08-30 1988-08-30 Data area initializing and processing system Pending JPH0264731A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21591788A JPH0264731A (en) 1988-08-30 1988-08-30 Data area initializing and processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21591788A JPH0264731A (en) 1988-08-30 1988-08-30 Data area initializing and processing system

Publications (1)

Publication Number Publication Date
JPH0264731A true JPH0264731A (en) 1990-03-05

Family

ID=16680397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21591788A Pending JPH0264731A (en) 1988-08-30 1988-08-30 Data area initializing and processing system

Country Status (1)

Country Link
JP (1) JPH0264731A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5911344B2 (en) * 1976-10-31 1984-03-14 財団法人雑賀技術研究所 Soundproof rice milling equipment
JPS59125421A (en) * 1983-01-04 1984-07-19 Nec Corp Initialization system of computer applied equipment
JPS61214054A (en) * 1985-03-20 1986-09-22 Hitachi Ltd Processing system for preset data of terminal equipment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5911344B2 (en) * 1976-10-31 1984-03-14 財団法人雑賀技術研究所 Soundproof rice milling equipment
JPS59125421A (en) * 1983-01-04 1984-07-19 Nec Corp Initialization system of computer applied equipment
JPS61214054A (en) * 1985-03-20 1986-09-22 Hitachi Ltd Processing system for preset data of terminal equipment

Similar Documents

Publication Publication Date Title
US4607332A (en) Dynamic alteration of firmware programs in Read-Only Memory based systems
EP0474425B1 (en) Arrangement for efficiently transferring program execution between subprograms
JP2000347874A (en) Method and device for structuring call rule prolog and epilog codes using register allocator
US20060071933A1 (en) Application binary interface for multi-pass shaders
EA012057B1 (en) Dependency graph parameter scoring
US20160154657A1 (en) Extensible Firmware Abstraction
US6901583B1 (en) Method for testing of a software emulator while executing the software emulator on a target machine architecture
JPH0254337A (en) Data processing system for facilitating generation of executable image
WO2003001373A1 (en) Java rule engine framework
CN117193882A (en) ELF loading method based on microkernel operating system
US6101326A (en) Method and apparatus for frame elimination for simple procedures with tail calls
US20070169028A1 (en) Partitioning of non-volatile memories for vectorization
US20030079210A1 (en) Integrated register allocator in a compiler
US20040068480A1 (en) Method and apparatus for initializing romized system classes at virtual machine build time
JPH06275084A (en) Nonvolatile semiconductor storage and data processor using the same
JPH0264731A (en) Data area initializing and processing system
EP0870237A1 (en) Processing system and method for reading and restoring information in a ram configuration
US11544090B2 (en) Implementing dependency injection via direct bytecode generation
EP0417916B1 (en) Procedure state descriptor system for digital data processors
Hamlin Jr et al. Configurable applications for graphics employing satellites (CAGES)
JPH07152551A (en) Computer system and program executing method
US5875337A (en) Modifier for a program executing parallel processes that reduces wait time for access to a shared resource
JP2003076558A (en) Method and program for controlling program execution
JP3006505B2 (en) Apparatus and method for modifying a program including a parallel process, and a storage medium for storing the modified program
JPH05217007A (en) Method for controlling execution of data flow program