JPH05224947A - Language processing program executing device - Google Patents

Language processing program executing device

Info

Publication number
JPH05224947A
JPH05224947A JP4022886A JP2288692A JPH05224947A JP H05224947 A JPH05224947 A JP H05224947A JP 4022886 A JP4022886 A JP 4022886A JP 2288692 A JP2288692 A JP 2288692A JP H05224947 A JPH05224947 A JP H05224947A
Authority
JP
Japan
Prior art keywords
subroutine
information
interrupt
source program
access memory
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
JP4022886A
Other languages
Japanese (ja)
Other versions
JP2932812B2 (en
Inventor
Hiroko Isozaki
博子 磯崎
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP4022886A priority Critical patent/JP2932812B2/en
Publication of JPH05224947A publication Critical patent/JPH05224947A/en
Application granted granted Critical
Publication of JP2932812B2 publication Critical patent/JP2932812B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To curtail or delete the size for saving and reset of a internal variable area in pre-and post-processings of an interruption subroutine. CONSTITUTION:The device is provided with a syntax analyzing part 104 for obtaining interruption subroutine information obtained by analyzing a source program information file containing the interruption subroutine information, and correlation information of a call of each subroutine, and an internal variable arrangement processing part 106 which is contained in the syntax analyzing part 104, and allocates an internal variable of each interruption subroutine and the subroutine called from the interruption subroutine into an exclusive high speed access memory of each interruption suroutine group. Accordingly, there is an effect for improving an execution time of a generated object and shortening the size.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、命令によってデータを
高速に読み出しおよび書き込み可能な特定のメモリ領域
(以下、高速アクセスメモリという)をもち、かつ複数
の割り込み機能を持つマイクロコンピュータ用の言語処
理プログラムの実行手段に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to language processing for a microcomputer having a specific memory area (hereinafter referred to as high speed access memory) in which data can be read and written at high speed by an instruction and having a plurality of interrupt functions. It relates to a program execution means.

【0002】[0002]

【従来の技術】言語処理プログラムが入力したソースを
翻訳し、その結果として生成したファイルをオブジェク
トモジュール(以下、オブジェクトという)と呼ぶ。マ
イクロコンピュータ特にシングルチップマイクロコンピ
ュータでは、コストの低減を図るために性能面では制限
が生じる傾向にある。したがって、言語処理プログラム
では、言語処理を行った結果であるオブジェクトの実行
が速いこととオブジェクトのサイズが小さいこととが望
まれている。一般にマイクロコンピュータでは、短い命
令コードによりアクセスできるメモリ領域を持つことが
普通であり、これを高速アクセスメモリと呼ぶ。短いコ
ードによりアクセスできるので、命令バイト数を小さく
することができるだけでなく命令フェッチおよび命令デ
コードが高速にでき、命令実行時間も短くなる利点があ
る。したがって、従来の言語処理プログラムの実行方式
では、サブルーチン内部でのみ使用されサブルーチンが
実行されている間のみメモリ上にデータが保持される一
時的な変数(以下、内部変数という)を、以前はメモリ
上で一時的に使用可能な領域(以下、スタックという)
に割り当てていたものを高速アクセスメモリに割り当て
ることにより高速化を図っている。
2. Description of the Related Art A file generated by translating a source input by a language processing program is called an object module (hereinafter referred to as an object). Microcomputers, especially single-chip microcomputers, tend to be limited in performance in order to reduce costs. Therefore, in the language processing program, it is desired that the object that is the result of the language processing be executed quickly and that the size of the object be small. Generally, a microcomputer usually has a memory area that can be accessed by a short instruction code, which is called a high speed access memory. Since it can be accessed by a short code, it has the advantages that not only the number of instruction bytes can be reduced, but also instruction fetch and instruction decoding can be speeded up, and instruction execution time can be shortened. Therefore, in the conventional language processing program execution method, a temporary variable (hereinafter referred to as an internal variable) that is used only inside the subroutine and holds data in the memory only while the subroutine is being executed is called Area that can be temporarily used above (hereinafter referred to as stack)
The high-speed access memory is assigned to the one that was assigned to, in order to increase the speed.

【0003】高速アクセスメモリに割り当てる変数には
三種類ある。一つは、サブルーチン内部から自分自身を
含む他のサブルーチンを呼んでいるサブルーチンの内部
変数である。これは、サブルーチン内で使用する内部変
数用の領域をそれぞれ使用前に退避しておき、使用後に
復帰している。残る二つは、サブルーチン内部から自分
自身を含む他のサブルーチンを呼ばないサブルーチンす
なわちリーフ関数の引数と内部変数とである。リーフ関
数の引数と内部変数とは高速アクセスメモリ中のある固
定領域に割り当てられており、関数から他のサブルーチ
ンを呼ばないので、通常は割り当てる領域を退避しまた
復帰することなくそのまま使用するだけで良い。ただ
し、リーフ関数処理中に割り込みが発生して他の割り込
みサブルーチンが実行されると、リーフ関数の引数およ
び内部変数領域が破壊される危険性があるので、割り込
みサブルーチンの本体処理の前後では、リーフ関数の引
数と内部変数とを割り当てる高速アクセスメモリ中の固
定領域全体(以下、リーフ関数用高速アクセスメモリと
いう)を退避しまた復帰しなければならなかった。
There are three types of variables assigned to the high speed access memory. One is an internal variable of a subroutine that calls another subroutine including itself from inside the subroutine. This is to save the area for the internal variable used in the subroutine before use, and to restore after use. The remaining two are a subroutine that does not call other subroutines including itself from inside the subroutine, that is, an argument of the leaf function and an internal variable. The argument of the leaf function and the internal variable are assigned to a fixed area in the high-speed access memory, and other subroutines are not called from the function, so normally the area to be assigned is saved and used as is without returning. good. However, if an interrupt occurs during processing of a leaf function and another interrupt subroutine is executed, the arguments and internal variable areas of the leaf function may be destroyed. It was necessary to save and restore the entire fixed area (hereinafter referred to as the leaf function high-speed access memory) in the high-speed access memory to which the function argument and the internal variable are allocated.

【0004】図12に示したサブルーチンの処理の流れ
を参照して説明する。まず、着目したサブルーチンが割
り込み時のサブルーチンかを調べる(ステップ120
1)。割り込み時のサブルーチンならば、リーフ関数用
全高速アクセスメモリを退避する(ステップ120
2)。次に、サブルーチン内で使用する内部変数用高速
アクセスメモリを退避する(ステップ1203)。そし
て、割り込み処理本体のオブジェクトを出力し(ステッ
プ1204)、ステップ1203で退避した内部変数用
高速アクセスメモリを復帰し(ステップ1205)、ス
テップ1202で退避したリーフ関数用全高速アクセス
メモリを復帰し(ステップ1206)、サブルーチンの
処理を終了する(ステップ1207)。割り込み時のサ
ブルーチンではないすなわち通常のサブルーチンなら
ば、サブルーチン内で使用する分の内部変数用高速アク
セスメモリを退避し(ステップ1208)、サブルーチ
ン本体のオブジェクトを出力し(ステップ1209)、
ステップ1208で退避した高速アクセスメモリを復帰
し(ステップ1210)、サブルーチンの処理を終了す
る(ステップ1207)。
Description will be made with reference to the flow of processing of the subroutine shown in FIG. First, it is checked whether the focused subroutine is a subroutine at the time of interruption (step 120).
1). If it is a subroutine at the time of interruption, the leaf function full high-speed access memory is saved (step 120).
2). Next, the internal variable high-speed access memory used in the subroutine is saved (step 1203). Then, the object of the interrupt processing body is output (step 1204), the internal variable high-speed access memory saved in step 1203 is restored (step 1205), and the leaf function full-speed access memory saved in step 1202 is restored ( (Step 1206) and the processing of the subroutine is finished (step 1207). If it is not a subroutine at the time of interruption, that is, if it is a normal subroutine, the internal variable high-speed access memory used in the subroutine is saved (step 1208), and the object of the subroutine body is output (step 1209).
The high-speed access memory saved in step 1208 is restored (step 1210), and the processing of the subroutine ends (step 1207).

【0005】[0005]

【発明が解決しようとする課題】このような従来例で
は、高速アクセスメモリに変数類を割り当てることによ
り内部変数を取り扱う処理で出力されるオブジェクトは
短くかつ実行が速くなるが、割り込み時のサブルーチン
本体処理の前後にリーフ関数用高速アクセスメモリを全
て退避および復帰しなければならないので、オブジェク
トの増大と実行速度の低下とが発生し、全体的に見て内
部変数を高速アクセスメモリに割り当てたメリットが低
下または逆に割り当てたためにオブジェクトが悪化する
問題が発生する。
In such a conventional example, by allocating variables to the high-speed access memory, the object output in the process of handling the internal variables is short and the execution is fast, but the subroutine body at the time of interruption is Before and after processing, all high-speed access memory for leaf functions must be saved and restored, which causes an increase in objects and a reduction in execution speed. Overall, the advantage of allocating internal variables to high-speed access memory is There is a problem that the object gets worse because it is degraded or vice versa.

【0006】仮に、内部変数をスタックから高速アクセ
スメモリに割り当てることにより、その内部変数を1回
取り扱うにつきオブジェクトが1バイト短く、また実行
速度が1クロック速くなるとする。同時に、割り込みサ
ブルーチン本体処理の前後でリーフ関数用全高速アクセ
スメモリを退避しまた復帰するのに、オブジェクトが5
バイト、リーフ関数用高速アクセスメモリとスタック間
の1バイトの転送に8クロック、リーフ関数用高速アク
セスメモリが全部で10バイトあるとすれば、ブロック
転送命令を持たないマイクロコンピュータでは約8クロ
ック×10バイト=80クロックの実行時間を必要とす
ると仮定する。あるソースプログラムで二つの割り込み
サブルーチンがあり、片方の割り込みサブルーチンから
呼ばれる別な一つのサブルーチン(リーフ関数)でのみ
内部変数が1個定義され、3回参照されている場合に
は、高速アクセスメモリに割り当てることにより、オブ
ジェクトが3バイト短く、実行速度が3クロック速くな
る。しかし、割り込みサブルーチンの前処理および後処
理でリーフ関数用全高速アクセスメモリを退避しまた復
帰するのに、オブジェクトが5×2=10バイト増加
し、クロック数が80×2=160クロック増加する。
トータルでは、オブジェクトが10−3=7バイト増加
し、クロック数が160−3=157クロック増加して
しまい、明らかにオブジェクトが悪化している。実際に
は内部変数の使用個数や使用頻度により、全体的なオブ
ジェクトが悪化するか改善されるかが変化する。しか
し、シングルチップマイクロコンピュータでは、元々メ
モリが少なくスタックへのアクセスが遅いことから、プ
ログラム作成者が外部変数データの管理を行い、内部変
数はそれほど多く使用されず、また割り込み機能の種類
が豊富であるので、前例のようにオブジェクトがかえっ
て悪化してしまう可能性は高い。
It is assumed that, by allocating an internal variable from the stack to the high speed access memory, the object is shortened by 1 byte and the execution speed is increased by 1 clock for each handling of the internal variable. At the same time, before and after the interrupt subroutine body processing, the object can be saved and restored by saving all full-speed access memory for leaf functions.
8 clocks for transferring 1 byte between the byte and leaf function high-speed access memory and the stack, and 10 bytes in total for the leaf function high-speed access memory, about 8 clocks x 10 in a microcomputer without a block transfer instruction. Suppose you need an execution time of Byte = 80 clocks. If there are two interrupt subroutines in a certain source program, and one internal variable is defined only in another subroutine (leaf function) called from one interrupt subroutine, and it is referred to three times, it is stored in the high-speed access memory. By allocating, the object is 3 bytes shorter and the execution speed is 3 clocks faster. However, the object increases by 5 × 2 = 10 bytes and the number of clocks increases by 80 × 2 = 160 clocks in saving and restoring all the leaf function high-speed access memories in the preprocessing and postprocessing of the interrupt subroutine.
In total, the number of objects has increased by 10−3 = 7 bytes, and the number of clocks has increased by 160−3 = 157 clocks, which clearly makes the object worse. Actually, depending on the number of used internal variables and the frequency of use, whether the overall object is deteriorated or improved is changed. However, in a single-chip microcomputer, since the memory is originally small and access to the stack is slow, the program creator manages the external variable data, the internal variables are not used so much, and the variety of interrupt functions are available. Therefore, there is a high possibility that the object will get worse as in the previous example.

【0007】本発明は、割り込みサブルーチンであるこ
とを示す情報と各サブルーチンの呼び出しの相関関係情
報とから各サブルーチンの内部変数を各割り込みサブル
ーチン群専用の高速アクセスメモリに割り当てることに
より、割り込みサブルーチン本体処理の前後に必要とし
ていたリーフ関数用高速アクセスメモリの退避および復
帰処理および割り込みサブルーチン自身で使用している
内部変数用の高速アクセスメモリの退避および復帰処理
を削除し、出力するオブジェクトのサイズおよび実行速
度を向上させることができる言語処理プログラム実行装
置を提供することを目的とする。
The present invention allocates the internal variables of each subroutine to the high-speed access memory dedicated to each interrupt subroutine group based on the information indicating that the subroutine is an interrupt and the correlation information of the call of each subroutine, thereby processing the interrupt subroutine itself. The save and restore processing of the high-speed access memory for the leaf function and the save and restore processing of the high-speed access memory for the internal variable used in the interrupt subroutine itself, which were required before and after, are deleted, and the size and execution speed of the output object It is an object of the present invention to provide a language processing program execution device capable of improving the.

【0008】[0008]

【課題を解決するための手段】本発明は、データの高速
読み出しおよび書き込みができるメモリ領域と複数の割
り込み手段とを備えたマイクロコンピュータ用のソース
プログラム情報を入力する入力部と、この入力部で入力
されたソースプログラム情報を解析する構文解析部と、
この構文解析部で解析されたソースプログラム情報に対
応するオブジェクト情報を生成するオブジェクト出力部
とを備えた言語処理プログラム実行装置において、上記
構文解析部は、割り込み発生時に分岐するサブルーチン
であることを示す情報を含むソースプログラム情報を解
析して割り込みサブルーチン情報を生成する手段と、こ
のソースプログラム情報を解析して各サブルーチンの呼
び出しの相関関係情報を生成する手段と、このソースプ
ログラム情報中で使用する変数を割り付ける場所を確定
する変数配置処理部とを備え、上記変数配置処理部は、
上記二つの情報をもとに各割り込みサブルーチン群の変
数を上記特定のメモリ領域中に割り込み専用の領域を設
けて割り当てる内部変数配置処理部を含むことを特徴と
する。
According to the present invention, there is provided an input section for inputting source program information for a microcomputer having a memory area capable of high-speed reading and writing of data and a plurality of interruption means, and this input section. A parser that analyzes the input source program information,
In the language processing program execution device including an object output unit that generates object information corresponding to the source program information analyzed by the syntax analysis unit, it is shown that the syntax analysis unit is a subroutine that branches when an interrupt occurs. A means for analyzing the source program information including information to generate interrupt subroutine information, a means for analyzing the source program information to generate correlation information for calling each subroutine, and a variable used in the source program information And a variable arrangement processing unit that determines a place to allocate, the variable arrangement processing unit,
It is characterized in that it includes an internal variable arrangement processing section for allocating a variable of each interrupt subroutine group by providing an area dedicated to interrupt in the specific memory area based on the above two information.

【0009】[0009]

【作用】割り込みサブルーチン情報を含むソースプログ
ラム情報ファイルを解析して得られた割り込みサブルー
チン情報と各サブルーチンの呼び出しの相関関係情報と
から、各割り込みサブルーチンと割り込みサブルーチン
から呼ばれるサブルーチンの内部変数を各割り込みサブ
ルーチン群専用の高速アクセスメモリ中に割り当てる。
According to the interrupt subroutine information obtained by analyzing the source program information file including the interrupt subroutine information and the correlation information of the call of each subroutine, the internal variables of each interrupt subroutine and the subroutine called from the interrupt subroutine are set to each interrupt subroutine. Allocate in high-speed access memory dedicated to the group.

【0010】[0010]

【実施例】以下、本発明の一実施例につき図面を参照し
て説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0011】まず、第一実施例を説明する。図1は本実
施例のシステムブロック図である。言語処理プログラム
実行手段102は、図1に示すように、ソースプログラ
ム情報ファイル101からソースプログラムを入力する
入力部103と、入力されたソースプログラムを解析す
る構文解析部104と、解析されたソースプログラムに
対してオブジェクトプログラムを生成しオブジェクトフ
ァイル110に出力するオブジェクト出力部109とか
ら構成され、さらに、構文解析部104は、ソースプロ
グラム中で使用する変数を割り付ける場所を確定する変
数配置処理部105を含み、変数配置処理部105は、
構文解析部104から生成されたデータである割り込み
サブルーチン情報107と同じく構文解析部104から
生成された各サブルーチンの呼び出しの相関関係情報1
08とを参照して内部変数を各割り込みサブルーチン群
専用の高速アクセスメモリに配置する内部変数配置処理
部106を含む。すなわち、この実施例は、図1に示す
ように、データの高速読み出しおよび書き込みができる
メモリ領域と複数の割り込み手段とを備えたマイクロコ
ンピュータ用のソースプログラム情報を入力する入力部
103と、この入力部103で入力されたソースプログ
ラム情報を解析する構文解析部104と、この構文解析
部104で解析されたソースプログラム情報に対応する
オブジェクト情報を生成するオブジェクト出力部109
とを備え、さらに、本発明の特徴とする手段として、構
文解析部104は、割り込み発生時に分岐するサブルー
チンであることを示す情報を含むソースプログラム情報
を解析して割り込みサブルーチン情報を生成する手段
と、このソースプログラム情報を解析して各サブルーチ
ンの呼び出しの相関関係情報を生成する手段と、このソ
ースプログラム情報中で使用する変数を割り付ける場所
を確定する変数配置処理部105とを備え、変数配置処
理部105は、上記二つの情報をもとに各割り込みサブ
ルーチン群の変数を上記特定のメモリ領域中に割り込み
専用の領域を設けて割り当てる内部変数配置処理部10
6を含む。
First, the first embodiment will be described. FIG. 1 is a system block diagram of this embodiment. As shown in FIG. 1, the language processing program execution means 102 includes an input unit 103 for inputting a source program from a source program information file 101, a syntax analysis unit 104 for analyzing the input source program, and an analyzed source program. And an object output unit 109 that generates an object program and outputs it to an object file 110. Further, the syntax analysis unit 104 includes a variable placement processing unit 105 that determines a place to allocate a variable used in the source program. Including, the variable allocation processing unit 105
The interrupt subroutine information 107, which is data generated by the syntax analysis unit 104, and the correlation information 1 for calling each subroutine, which is also generated by the syntax analysis unit 104.
08, the internal variable arrangement processing unit 106 for arranging internal variables in the high-speed access memory dedicated to each interrupt subroutine group is included. That is, in this embodiment, as shown in FIG. 1, an input unit 103 for inputting source program information for a microcomputer provided with a memory area capable of high-speed reading and writing of data and a plurality of interruption means, and this input. A syntax analysis unit 104 that analyzes the source program information input by the unit 103, and an object output unit 109 that generates object information corresponding to the source program information analyzed by the syntax analysis unit 104.
Further, as a feature of the present invention, the syntax analysis unit 104 analyzes the source program information including information indicating that the subroutine branches when an interrupt occurs, and generates interrupt subroutine information. A variable arrangement processing is provided, which comprises means for analyzing the source program information and generating correlation information for calling each subroutine, and a variable arrangement processing unit 105 for determining a place to allocate a variable used in the source program information. The unit 105 allocates the variable of each interrupt subroutine group by providing an area dedicated to interrupt in the specific memory area and allocating the variable of each interrupt subroutine group based on the above two pieces of information.
Including 6.

【0012】次に、この実施例の動作を説明する。この
実施例では、各割り込みサブルーチン群専用の高速アク
セスメモリは高速アクセスメモリを分割することにより
確保する。また、一つのプログラム中のメインサブルー
チンも割り込みサブルーチンの一つに含まれる。ソース
プログラム情報ファイル101は、図2に示すように、
内部変数用高速アクセスメモリを何分割するかを示すメ
モリ分割指示201と、割り込み発生時に分岐するサブ
ルーチンであることを示す割り込みサブルーチン指示2
02と、通常のソースプログラム203とから構成され
る。メモリ分割指示201はキーワードA204とメモ
リの分割数205とからなり、割り込みサブルーチン指
示202はキーワードB206と割り込みサブルーチン
名207とからなる。なお、メモリ分割数は、通常は割
り込みサブルーチンの個数を指定してもらうが、分割数
が多すぎて割り当て可能な変数が減少してしまうのを避
ける場合には使用者の希望する分割数を指定することが
できる。また、この実施例では、1つのソースプログラ
ム情報ファイルにすべての割り込みサブルーチンおよび
割り込みサブルーチンから呼ばれるサブルーチン群が記
述されているとする。割り込みサブルーチン情報107
は、図3に示すように、メモリ分割数301が先頭に格
納され、以降は割り込みサブルーチン名302が順番に
格納されている。
Next, the operation of this embodiment will be described. In this embodiment, the high-speed access memory dedicated to each interrupt subroutine group is secured by dividing the high-speed access memory. The main subroutine in one program is also included in one of the interrupt subroutines. The source program information file 101, as shown in FIG.
A memory division instruction 201 indicating how many divisions the internal variable high-speed access memory is divided into, and an interrupt subroutine instruction 2 indicating that the subroutine branches when an interrupt occurs.
02 and a normal source program 203. The memory division instruction 201 includes a keyword A 204 and a memory division number 205, and the interrupt subroutine instruction 202 includes a keyword B 206 and an interrupt subroutine name 207. For the number of memory divisions, the number of interrupt subroutines is usually specified, but in order to avoid decreasing the number of assignable variables due to too many divisions, specify the number of divisions desired by the user. can do. Further, in this embodiment, it is assumed that one source program information file describes all interrupt subroutines and a subroutine group called from the interrupt subroutines. Interrupt subroutine information 107
As shown in FIG. 3, the memory division number 301 is stored at the head, and thereafter, the interrupt subroutine name 302 is stored in order.

【0013】実行手順は、まず、ソースプログラム情報
ファイル101を入力部103で入力し、構文解析部1
04でソースプログラムの解析を行う。このときに、キ
ーワードA204を認識したならばメモリ分割指示20
1であるので、オペランドのメモリ分割数205を読み
込み、割り込みサブルーチン情報107の先頭に格納す
る。キーワードB206を認識したならば割り込みサブ
ルーチン指示202であるので、オペランドの割り込み
サブルーチン名207を読み込み、割り込みサブルーチ
ン情報107に格納していく。また、構文解析部104
ではソースプログラムの解析にともなって各サブルーチ
ンの呼び出しの相関関係情報を生成する。図4に生成し
た相関関係情報のイメージ図を示す。相関関係情報生成
処理は既存の言語処理プログラムの構文解析が生成する
情報により実現が可能である。通常、構文解析にともな
って使用されている変数を格納する場所を変数配置処理
部105が決定していくが、特に内部変数に関してはす
べての割り込みサブルーチン指示を読み終り各サブルー
チンの呼び出しの相関関係を認識した後に、内部変数配
置処理部106が割り込みサブルーチン情報107およ
び相関関係情報108を参照しながら内部変数用高速ア
クセスメモリに配置する。次に、オブジェクト出力部1
09では、構文解析の結果を受けて対応するオブジェク
トプログラムを生成し、オブジェクトファイル110に
出力していく。
The execution procedure is as follows. First, the source program information file 101 is input by the input unit 103, and the syntax analysis unit 1
At 04, the source program is analyzed. At this time, if the keyword A204 is recognized, the memory division instruction 20
Since it is 1, the memory division number 205 of the operand is read and stored at the head of the interrupt subroutine information 107. If the keyword B 206 is recognized, the interrupt subroutine instruction 202 is given, and therefore the interrupt subroutine name 207 of the operand is read and stored in the interrupt subroutine information 107. Also, the syntax analysis unit 104
Then, along with the analysis of the source program, the correlation information of each subroutine call is generated. FIG. 4 shows an image diagram of the generated correlation information. The correlation information generation process can be realized by the information generated by the syntax analysis of the existing language processing program. Normally, the variable placement processing unit 105 determines the place to store the variable used during the syntax analysis. Especially, regarding the internal variables, all the interrupt subroutine instructions are read, and the correlation of the call of each subroutine is determined. After the recognition, the internal variable arrangement processing unit 106 arranges the internal variable high speed access memory while referring to the interrupt subroutine information 107 and the correlation information 108. Next, the object output section 1
At 09, the corresponding object program is generated in response to the result of the syntax analysis and is output to the object file 110.

【0014】次に、内部変数配置処理部106の処理の
流れを図5を参照して説明する。まず、構文解析により
得られた割り込みサブルーチン情報を読み込み(ステッ
プ501)、先頭のデータであるメモリ分割数を入力す
る(ステップ502)。それがN個であると、高速アク
セスメモリを1/Nに分割する(ステップ503)。分
割された領域をバンク1からバンクNと呼ぶことにす
る。ここからが内部変数を実際にメモリに割り当てる処
理である。まず、内部変数割り当ての終わっていないサ
ブルーチンが残っているか否かを調べ(ステップ50
4)、残っているならば最初のサブルーチンに着目し
(ステップ505)、相関関係情報を検索してどの割り
込みサブルーチンに属するかを調べる(ステップ50
6)。次に検索した結果である割り込みサブルーチン名
が割り込みサブルーチン情報の何番目かを調べ、m番目
であったとする(ステップ507)。次にmがN以下な
らば(ステップ508)、サブルーチン内の内部変数を
分割した高速アクセスメモリのバンクmに割り当てる
(ステップ509)。次に内部変数を割り当てる高速ア
クセスメモリが足りたか否かを調べ(ステップ51
0)、足りなければ割り当てられなかった内部変数を通
常のスタックに割り当てる(ステップ511)。以上で
一つのサブルーチンの内部変数割り当てが終了したの
で、次のサブルーチンの処理に入るために再びステップ
504に処理を戻す。ステップ508でmがNよりも大
きい場合は、すでに分割した高速アクセスメモリは使い
切っているので分割した高速アクセスメモリのバンク1
に割り当てる(ステップ512)。そして、内部変数を
割り当てる高速アクセスメモリが足りたか否かを調べ
(ステップ510)、足りなければ割り当てられなかっ
た内部変数を通常のスタックに割り当てる(ステップ5
11)。これで一つのサブルーチンの内部変数割り当て
が終了したので、再びステップ504に処理を戻す。以
上を内部変数割り当ての終わっていないサブルーチンが
なくなるまで繰り返し、なくなったときに処理が終了す
る。例として、図4の相関関係である割り込みサブルー
チンA、BおよびCとサブルーチン1〜5とが存在し、
それぞれ内部変数あるとし、メモリ分割数として「3」
を指定したとすると、高速アクセスメモリの割り当ては
図6に示す通りバンク1(601)は割り込みサブルー
チンAとサブルーチン1、バンク2(602)は割り込
みサブルーチンBとサブルーチン2および3、バンク3
(603)は割り込みサブルーチンCとサブルーチン4
および5の内部変数が割り当てられる。
Next, the processing flow of the internal variable arrangement processing unit 106 will be described with reference to FIG. First, the interrupt subroutine information obtained by the syntax analysis is read (step 501), and the memory division number, which is the first data, is input (step 502). If it is N, the high speed access memory is divided into 1 / N (step 503). The divided areas will be referred to as bank 1 to bank N. From here, the process of actually allocating the internal variables to the memory is started. First, it is checked whether or not there is a subroutine whose internal variables have not been assigned (step 50).
4) If there is any remaining, pay attention to the first subroutine (step 505) and search the correlation information to see which interrupt subroutine it belongs to (step 50).
6). Next, it is determined that the interrupt subroutine name, which is the result of the search, is the mth in the interrupt subroutine information (step 507). Next, if m is N or less (step 508), the internal variable in the subroutine is assigned to the bank m of the divided high speed access memory (step 509). Next, it is checked whether or not there is sufficient high-speed access memory to allocate the internal variable (step 51
0), allocate the internal variables that could not be allocated if not enough to the normal stack (step 511). Since the internal variable allocation of one subroutine is completed as described above, the process is returned to step 504 again to start the process of the next subroutine. If m is greater than N in step 508, the divided high-speed access memory has already been used up, and thus bank 1 of the divided high-speed access memory is used.
(Step 512). Then, it is checked whether or not there is sufficient high-speed access memory to which the internal variable is allocated (step 510), and the internal variable that cannot be allocated if it is insufficient is allocated to the normal stack (step 5).
11). This completes the allocation of the internal variables of one subroutine, so the process returns to step 504. The above is repeated until there is no subroutine whose internal variable allocation has not been completed, and when there is no subroutine, the process ends. As an example, there are the interrupt subroutines A, B and C and the subroutines 1 to 5 which are the correlations of FIG.
Assuming that each has an internal variable, the memory division number is "3"
6, the bank 1 (601) is assigned to the interrupt subroutine A and subroutine 1, and the bank 2 (602) is assigned to the interrupt subroutine B, subroutines 2 and 3, and bank 3 as shown in FIG.
(603) is an interrupt subroutine C and a subroutine 4
And 5 internal variables are assigned.

【0015】次に、オブジェクト出力部の処理の中の割
り込みサブルーチンのオブジェクト出力処理の流れを図
7を参照して説明する。割り込みサブルーチンのオブジ
ェクトを出力するときに、まずその割り込みサブルーチ
ンが割り込みサブルーチン情報の何番目のものかを調
べ、m番目であると(ステップ701)、次にmがN以
下でかつ「1」でないかを調べる(ステップ702)。
mがN以下でかつ1ではないならば、すぐに割り込みサ
ブルーチン本体のオブジェクトを出力して(ステップ7
03)終了する。ステップ702でmがNより大きいか
またはmが「1」ならば、該当割り込みサブルーチンお
よび割り込みサブルーチンから呼ばれるサブルーチン群
の内部変数は高速アクセスメモリのバンク1に割り当て
られているので、バンク1をスタックに退避し(ステッ
プ704)、サブルーチン本体の処理に制御を渡し(ス
テップ705)、本体の処理が終わったならばスタック
に退避した高速アクセスメモリのバンク1を復帰し(ス
テップ706)、割り込みサブルーチンのオブジェクト
出力が終了する。なお、割り込みサブルーチンではない
サブルーチンでリーフ関数でないものは、通常のように
サブルーチン内部で使用する内部変数用の領域のみスタ
ックに退避および復帰すれば良い。例として挙げた図4
に示したソースプログラム情報ファイルの場合は、割り
込みサブルーチンの個数とメモリ分割数が等しいので、
割り込みサブルーチンの本体処理の前後に高速アクセス
メモリの退避および復帰を行う必要はない。
Next, the flow of the object output process of the interrupt subroutine in the process of the object output section will be described with reference to FIG. When outputting the object of the interrupt subroutine, it is first checked what number of the interrupt subroutine information the interrupt subroutine has, and if it is m-th (step 701), then m is N or less and is not "1". Is checked (step 702).
If m is N or less and is not 1, the object of the interrupt subroutine body is immediately output (step 7
03) Finish. If m is greater than N or m is "1" in step 702, the internal variable of the corresponding interrupt subroutine and the subroutine group called from the interrupt subroutine is assigned to bank 1 of the high-speed access memory, so bank 1 is placed on the stack. Evacuate (step 704) and transfer control to the subroutine body processing (step 705). When the body processing is completed, restore bank 1 of the high-speed access memory saved in the stack (step 706), and interrupt subroutine object The output ends. For a subroutine that is not an interrupt subroutine and is not a leaf function, it is sufficient to save and restore to the stack only the area for internal variables used inside the subroutine as usual. Figure 4 given as an example
In the case of the source program information file shown in, since the number of interrupt subroutines and the number of memory divisions are equal,
It is not necessary to save and restore the high speed access memory before and after the main processing of the interrupt subroutine.

【0016】以上の処理を行うことによって、割り込み
サブルーチンであることを示す情報と各サブルーチンの
呼び出しの相関関係情報とをもとに割り込みサブルーチ
ン本体処理の前後に行っていた高速アクセスメモリの退
避および復帰を削除することができる。
By performing the above processing, the saving and restoration of the high-speed access memory, which was performed before and after the processing of the interrupt subroutine body, is performed based on the information indicating the interrupt subroutine and the correlation information of the call of each subroutine. Can be deleted.

【0017】次に、第二実施例をついて説明する。第一
実施例は、割り込みサブルーチン情報を含むソースプロ
グラム情報ファイルを1個入力して内容を解析し、オブ
ジェクトファイルを1個出力していたのに対し、一つの
ソフトウェアが複数のソースプログラム情報ファイルか
ら構成される場合に、複数のソースプログラム情報ファ
イルを入力して内容を解析し、複数のオブジェクトファ
イルを出力することも可能である。システム全体の構成
は、図8に示すように、ソースプログラム情報ファイル
(801−1、801−2、801−n)と、オブジェ
クトファイル(810−1、810−2、810−n)
とが複数個である以外は第一実施例の図1に等しい。ま
た、ソースプログラム情報ファイルの構成は、図9に示
すように、図2からメモリ分割指示が削除された形式で
あり、割り込みサブルーチン情報は、図10に示すよう
に、図3からメモリ分割数が削除された形式である。
Next, a second embodiment will be described. In the first embodiment, one source program information file including interrupt subroutine information is input and the content is analyzed, and one object file is output, whereas one software is composed of a plurality of source program information files. When configured, it is also possible to input a plurality of source program information files, analyze the contents, and output a plurality of object files. As shown in FIG. 8, the configuration of the entire system includes source program information files (801-1, 801-2, 801-n) and object files (810-1, 810-2, 810-n).
1 is the same as that of FIG. 1 of the first embodiment except that there are a plurality of and. As shown in FIG. 9, the structure of the source program information file is such that the memory division instruction is deleted from FIG. 2, and the interrupt subroutine information is shown in FIG. It is a deleted form.

【0018】実行手順は、まず、ソースプログラム情報
ファイル801を入力部803で入力し、構文解析部8
04でソースプログラムの解析を行う。このときにキー
ワード902を認識したならば、割り込みサブルーチン
指示であるのでオペランドの割り込みサブルーチン名9
03を読み込み、割り込みサブルーチン情報807に格
納していく。以上の入力および構文解析をソースプログ
ラム情報ファイル801の全てについて順次行う。そし
て、全構文解析が終わった後に、全プログラム情報ファ
イルに渡る各サブルーチンの呼び出しの相関関係情報を
生成する。生成した相関関係情報は第一実施例に等し
い。通常、構文解析にともなって使用されている変数を
格納する場所を変数配置処理部805が決定していく
が、特に内部変数に関しては、全てのソースプログラム
情報ファイル801の構文解析が終わった後に内部変数
配置処理部806が割り込みサブルーチン情報807お
よび相関関係情報808を参照しながら内部変数用高速
アクセスメモリに配置する。次に、オブジェクト出力部
109は構文解析の結果を受けて対応するオブジェクト
プログラムを生成し、オブジェクトファイル810に出
力していく処理を複数の出力オブジェクトに対して行
う。内部変数配置処理部806での処理は、複数のソー
スプログラム情報ファイルの解析結果をまとめて処理す
る点、および高速アクセスメモリの分割数Nを割り込み
サブルーチン情報中の割り込みサブルーチンの個数とす
る点以外は第一実施例に等しい。
In the execution procedure, first, the source program information file 801 is input by the input unit 803, and the syntax analysis unit 8
At 04, the source program is analyzed. If the keyword 902 is recognized at this time, since it is an interrupt subroutine instruction, the interrupt subroutine name 9 of the operand
03 is read and stored in the interrupt subroutine information 807. The above input and syntax analysis are sequentially performed for all the source program information files 801. Then, after the entire syntax analysis is completed, the correlation information of the call of each subroutine across all the program information files is generated. The generated correlation information is the same as in the first embodiment. Normally, the variable placement processing unit 805 determines the location to store the variable used in the syntax analysis. Especially, regarding the internal variables, the internal processing is performed after the syntax analysis of all the source program information files 801 is completed. The variable placement processing unit 806 places the variables in the internal variable high-speed access memory with reference to the interrupt subroutine information 807 and the correlation information 808. Next, the object output unit 109 receives the result of the syntax analysis, generates a corresponding object program, and outputs the object program to the object file 810 for a plurality of output objects. The processing in the internal variable placement processing unit 806 is different from the point that the analysis results of a plurality of source program information files are collectively processed and that the division number N of the high speed access memory is used as the number of interrupt subroutines in the interrupt subroutine information. Equivalent to the first embodiment.

【0019】次に、オブジェクト出力部の処理の中の割
り込みサブルーチンのオブジェクト出力処理の流れを図
11を参照して説明する。割り込みサブルーチンのオブ
ジェクトを出力するときにサブルーチン本体のオブジェ
クトを出力し(ステップ1101)、そのサブルーチン
のオブジェクト出力は終了する。割り込みサブルーチン
の個数と高速アクセスメモリの分割数とが等しいので、
割り込み発生時にはバンクを変更するだけで高速アクセ
スメモリの退避および復帰を必要としない。
Next, the flow of the object output process of the interrupt subroutine in the process of the object output section will be described with reference to FIG. When outputting the object of the interrupt subroutine, the object of the subroutine body is output (step 1101), and the object output of the subroutine ends. Since the number of interrupt subroutines is equal to the number of divisions of high-speed access memory,
When an interrupt occurs, only changing the bank does not require saving and restoring the high-speed access memory.

【0020】以上の処理を行うことによって、複数のソ
ースプログラム情報ファイルを入力し、割り込みサブル
ーチンであることを示す情報と各サブルーチンの呼び出
しの相関関係情報とをもとに、割り込みサブルーチンの
前後に行っていた高速アクセスメモリの退避および復帰
を削除できる。
By performing the above processing, a plurality of source program information files are input, and the processing is performed before and after the interrupt subroutine based on the information indicating the interrupt subroutine and the correlation information of the call of each subroutine. The saving and restoring of the high-speed access memory that was used can be deleted.

【0021】[0021]

【発明の効果】本発明は、以上のように、割り込み発生
時に分岐するサブルーチンであることを示す情報を含む
ソースプログラム情報を入力し、割り込み時サブルーチ
ン情報と各サブルーチンの呼び出しの相関関係情報をも
とに該当割り込みサブルーチンと割り込みサブルーチン
から呼ばれているサブルーチン群の変数を各割り込みサ
ブルーチン群専用の高速アクセスメモリ領域に割り当
て、割り込みサブルーチンの前後に必要としていた高速
アクセスメモリの退避および復帰処理を削除するので、
高速アクセスメモリを有効に使用し、かつ、割り込み時
に必要となる初期化および終了処理のオブジェクトを小
さくし、実行時間を短縮できる効果がある。仮に内部変
数をスタックから高速アクセスメモリに割り当てること
により、その内部変数を1回取り扱うにつきオブジェク
トが1バイト短くまた実行速度が1クロック速くなると
すると、あるソースプログラムで二つの割り込みサブル
ーチンがあり、片方の割り込みサブルーチンから呼ばれ
る別な一つのサブルーチン(リーフ関数)でのみ内部変
数が1個定義され、3回参照されている場合は、内部変
数が高速アクセスメモリに割り当てられることにより、
オブジェクトが3バイト短くかつ実行速度が3クロック
速くなり、従来必要とされていた割り込みサブルーチン
の前後での高速アクセスメモリの退避および復帰処理が
ないために、総合的にも3バイト短くかつ3クロック速
いオブジェクトを生成できたことになるので、高速アク
セスメモリに割り当てたメモリを最大限に生かすことが
できる効果がある。
As described above, according to the present invention, the source program information including the information indicating that the subroutine branches when an interrupt occurs is input, and the subroutine information at the time of interruption and the correlation information of the call of each subroutine are also input. Assign the interrupt subroutine and variables of the subroutine group called from the interrupt subroutine to the high-speed access memory area dedicated to each interrupt subroutine group, and delete the save and restore processing of the high-speed access memory required before and after the interrupt subroutine. So
The high-speed access memory can be effectively used, and the initialization and termination processing objects required at the time of interruption can be made small, so that the execution time can be shortened. If an object is shortened by 1 byte and the execution speed is increased by 1 clock by handling the internal variable once from the stack by allocating the internal variable from the stack, there are two interrupt subroutines in a certain source program. When one internal variable is defined only in another subroutine (leaf function) called from the interrupt subroutine and is referenced three times, the internal variable is assigned to the high-speed access memory,
The object is 3 bytes shorter and the execution speed is 3 clocks faster, and because there is no save / restore processing of the high-speed access memory before and after the interrupt subroutine that was conventionally required, it is also 3 bytes shorter and 3 clocks faster overall. Since the object can be created, there is an effect that the memory allocated to the fast access memory can be used to the maximum.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明第一実施例の構成を示すブロック構成
図。
FIG. 1 is a block configuration diagram showing a configuration of a first embodiment of the present invention.

【図2】図1に含まれるソースプログラム情報ファイル
の構成図。
FIG. 2 is a configuration diagram of a source program information file included in FIG.

【図3】図1に含まれる割り込みサブルーチン情報の構
成図。
FIG. 3 is a configuration diagram of interrupt subroutine information included in FIG. 1.

【図4】各サブルーチンの呼び出しの相関関係情報を示
す図。
FIG. 4 is a diagram showing correlation information of calling of each subroutine.

【図5】本発明第一実施例の動作を示すフローチャー
ト。
FIG. 5 is a flowchart showing the operation of the first embodiment of the present invention.

【図6】高速アクセスメモリの分割状態を示す図。FIG. 6 is a diagram showing a divided state of a high speed access memory.

【図7】本発明第一実施例の動作を示すフローチャー
ト。
FIG. 7 is a flowchart showing the operation of the first embodiment of the present invention.

【図8】本発明第二実施例の構成を示すブロック構成
図。
FIG. 8 is a block configuration diagram showing a configuration of a second embodiment of the present invention.

【図9】図8に含まれるソースプログラム情報ファイル
の構成図。
9 is a configuration diagram of a source program information file included in FIG.

【図10】図8に含まれる割り込みサブルーチン情報の
構成図。
10 is a configuration diagram of interrupt subroutine information included in FIG.

【図11】本発明第二実施例の動作を示すフローチャー
ト。
FIG. 11 is a flowchart showing the operation of the second embodiment of the present invention.

【図12】従来例の動作を示すフローチャート。FIG. 12 is a flowchart showing the operation of a conventional example.

【符号の説明】[Explanation of symbols]

101 ソースプログラム情報ファイル 102 言語処理プログラム実行手段 103 入力部 104 構文解析部 105 変数配置処理部 106 内部変数配置処理部 107 割り込みサブルーチン情報 108 相関関係情報 109 オブジェクト出力部 110 オブジェクトファイル 201 メモリ分割指示 202 割り込みサブルーチン指示 203 通常のソースプログラム 204 キーワードA 205 メモリ分割数 206 キーワードB 207 割り込みサブルーチン名 301 メモリ分割数 302 割り込みサブルーチン名 401 各サブルーチンの呼び出しの相関関係情報 601、602、603 バンク1、バンク2、バン
ク3 801−1〜801−n ソースプログラム情報ファ
イル 802 言語処理プログラム実行手段 803 入力部 804 構文解析部 805 変数配置処理部 806 内部変数配置処理部 807 割り込みサブルーチン情報 808 相関関係情報 809 オブジェクト出力部 810−1〜810−n オブジェクトファイル 901 割り込みサブルーチン指示 902 キーワード 903 割り込みサブルーチン名 904 通常のソースプログラム 1001 割り込みサブルーチン名
101 Source Program Information File 102 Language Processing Program Execution Unit 103 Input Unit 104 Syntax Analysis Unit 105 Variable Placement Processing Unit 106 Internal Variable Placement Processing Unit 107 Interrupt Subroutine Information 108 Correlation Information 109 Object Output Unit 110 Object File 201 Memory Division Instruction 202 Interrupt Subroutine instruction 203 Normal source program 204 Keyword A 205 Number of memory divisions 206 Keyword B 207 Interrupt subroutine name 301 Number of memory divisions 302 Interrupt subroutine name 401 Correlation information 601, 602, 603 Bank call 1, Bank 2, Bank 3 801-1 to 801-n Source program information file 802 Language processing program execution means 803 Input unit 80 Syntax analysis unit 805 Variable arrangement processing unit 806 Internal variable arrangement processing unit 807 Interrupt subroutine information 808 Correlation information 809 Object output unit 810-1 to 810-n Object file 901 Interrupt subroutine instruction 902 Keywords 903 Interrupt subroutine name 904 Normal source program 1001 Interrupt subroutine name

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 データの高速読み出しおよび書き込みが
できるメモリ領域と複数の割り込み手段とを備えたマイ
クロコンピュータ用のソースプログラム情報を入力する
入力部と、この入力部で入力されたソースプログラム情
報を解析する構文解析部と、この構文解析部で解析され
たソースプログラム情報に対応するオブジェクト情報を
生成するオブジェクト出力部とを備えた言語処理プログ
ラム実行装置において、 上記構文解析部は、割り込み発生時に分岐するサブルー
チンであることを示す情報を含むソースプログラム情報
を解析して割り込みサブルーチン情報を生成する手段
と、 このソースプログラム情報を解析して各サブルーチンの
呼び出しの相関関係情報を生成する手段と、 このソースプログラム情報中で使用する変数を割り付け
る場所を確定する変数配置処理部とを備え、 上記変数配置処理部は、上記二つの情報をもとに各割り
込みサブルーチン群の変数を上記特定のメモリ領域中に
割り込み専用の領域を設けて割り当てる内部変数配置処
理部を含むことを特徴とする言語処理プログラム実行装
置。
1. An input unit for inputting source program information for a microcomputer, comprising a memory area capable of high-speed reading and writing of data and a plurality of interrupting means, and analyzing the source program information input by this input unit. In the language processing program execution device, comprising: a syntax analysis unit for generating the object information corresponding to the source program information analyzed by the syntax analysis unit, the syntax analysis unit branches when an interrupt occurs. Means for analyzing source program information including information indicating that it is a subroutine to generate interrupt subroutine information, means for analyzing this source program information, and generating correlation information for calling each subroutine, and this source program Allocate variables used in information A variable allocation processing unit that determines the location, and the variable allocation processing unit allocates the variables of each interrupt subroutine group in the specific memory area by providing an area dedicated to interrupts based on the above two pieces of information. A language processing program execution device comprising a variable arrangement processing unit.
JP4022886A 1992-02-07 1992-02-07 Language processing program execution device Expired - Lifetime JP2932812B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4022886A JP2932812B2 (en) 1992-02-07 1992-02-07 Language processing program execution device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4022886A JP2932812B2 (en) 1992-02-07 1992-02-07 Language processing program execution device

Publications (2)

Publication Number Publication Date
JPH05224947A true JPH05224947A (en) 1993-09-03
JP2932812B2 JP2932812B2 (en) 1999-08-09

Family

ID=12095162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4022886A Expired - Lifetime JP2932812B2 (en) 1992-02-07 1992-02-07 Language processing program execution device

Country Status (1)

Country Link
JP (1) JP2932812B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429634B2 (en) 2006-07-26 2013-04-23 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, memory circuit, and machine language program generation device, and method for operating semiconductor device and memory circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429634B2 (en) 2006-07-26 2013-04-23 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, memory circuit, and machine language program generation device, and method for operating semiconductor device and memory circuit

Also Published As

Publication number Publication date
JP2932812B2 (en) 1999-08-09

Similar Documents

Publication Publication Date Title
US4777588A (en) General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
US5038281A (en) Acceleration of system interrupts between operating systems in guest-host relationship
US5386563A (en) Register substitution during exception processing
EP1232430B1 (en) Optimization of n-base typed arithmetic expressions
US6363522B1 (en) Method and apparatus for handling exceptions as normal control flow
US4466056A (en) Address translation and generation system for an information processing system
JPS60176143A (en) Program calling apparatus
JP4005724B2 (en) Method and apparatus for realizing a multiple return site
JPH06309178A (en) Method and computer system for processing interruption by interruption processing cord
US7240341B2 (en) Global constant pool to allow deletion of constant pool entries
JP2000353097A (en) Method and device for generating low density interference graph
EP1020087A2 (en) Services using call independent building blocks
JP2932812B2 (en) Language processing program execution device
US7441254B1 (en) Simulation of memory-mapped I/O
JP3698949B2 (en) Function allocation optimization apparatus for instruction cache, function allocation optimization method, and recording medium recording function allocation optimization procedure
JP3060907B2 (en) Processing method of language processing program
JPH07105013A (en) Register allocation system
JP3566602B2 (en) Compilation method and recording medium recording compilation program
JPH11134202A (en) Task switching device
JP3140028B2 (en) Subroutine argument passing method
JP3279706B2 (en) Online compilation method
JPS63121929A (en) Stack processing system
JP2002140199A (en) Information processing device and method
JPH06324882A (en) Compiler device
JPH09311792A (en) Register allocation method

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees