JPH02259931A - Overlay module realizing system - Google Patents

Overlay module realizing system

Info

Publication number
JPH02259931A
JPH02259931A JP8203789A JP8203789A JPH02259931A JP H02259931 A JPH02259931 A JP H02259931A JP 8203789 A JP8203789 A JP 8203789A JP 8203789 A JP8203789 A JP 8203789A JP H02259931 A JPH02259931 A JP H02259931A
Authority
JP
Japan
Prior art keywords
overlay
module
program
segment
startup
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
JP8203789A
Other languages
Japanese (ja)
Inventor
Tatsuo Ota
達夫 太田
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 JP8203789A priority Critical patent/JPH02259931A/en
Publication of JPH02259931A publication Critical patent/JPH02259931A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PURPOSE:To efficiently execute an overlay function without burdening a user by providing an exclusive overlay loading function and a start-up module exclusive for the overlay, and calling the start-up module exclusive for the overlay by means of a master module having the overlay module. CONSTITUTION:An overlay module means is provided with a start-up module means 2 and a program code to be an overlay main body 3, and a data segment is provided with a variable area having an initial value and a variable area without the initial value. When a master module means 1 executes the overlay module, the overlay start-up module is called, the overlay program is initialized by the start-up module means 2, then the overlay main body is called by the overlay start-up module. Thus the overlay function can be efficiently executed without burdening the user.

Description

【発明の詳細な説明】 〔概   要〕 実行プログラム本体とは別のファイルにモジュール化さ
れるオーバレイモジュールの実現方式に関し、 ユーザにとって負担のない形でオーバレイ機能を効率よ
く行うためのMS−DO3におけるオーバレイモジュー
ル実現方式を提供することを目的とし、 オペレーションシステムにおいて、オーバレイローダ手
段とオーバレイモジュール手段とを有し、該オーバレイ
ローダ手段は、親モジュール手段内にオーバレイ領域を
確保し、オーバレイプログラムをロードし、オーバレイ
プログラムを実行し、オーバレイ領域を開放するために
オーバレイモジュールとのセグメント情報をやりとりし
、前記オーバレイモジュール手段は、オーバレイプログ
ラムのイニシャル処理を行うためにセグメント情報の退
避や初期値未定義領域の初期化を行うスタートアップモ
ジュール手段と、コードセグメント内に前記スタートア
ップモジュール手段及びオーバレイモジュールのプログ
ラムのオーバレイ本体であるプログラムコードを有し、
データセグメントには初期値を持つ変数の領域と、初期
値を持たない変数の領域を有し、前記親モジュール手段
がオーバレイモジュールを実行する場合、オーバレイス
タートアップモジュールをコールし、オーバレイプログ
ラムのイニシャル処理をスタートアップモジュール手段
によって行った後そのオーバレイスタートアップモジュ
ールがオーバレイ本体を呼ぶように構成する。
[Detailed Description of the Invention] [Summary] Regarding the implementation method of an overlay module that is modularized into a file separate from the main body of the execution program, the present invention is based on MS-DO3 for efficiently performing the overlay function without burdening the user. The object of the present invention is to provide an overlay module implementation method, and the operation system includes an overlay loader means and an overlay module means, and the overlay loader means secures an overlay area in a parent module means and loads an overlay program. , executes the overlay program and exchanges segment information with the overlay module in order to release the overlay area, and the overlay module means saves the segment information and saves the initial value undefined area in order to initialize the overlay program. startup module means for initializing, and a program code that is an overlay body of a program of the startup module means and an overlay module in a code segment;
The data segment has an area for variables with initial values and an area for variables without initial values, and when the parent module means executes an overlay module, it calls an overlay startup module and performs initial processing of the overlay program. The overlay startup module is configured to call the overlay body after doing so by the startup module means.

〔産業上の利用分野〕[Industrial application field]

本発明はコンピュータのオペレーションシステムに係り
、さらに詳しくは、MS−DO3において実行プログラ
ム本体とは別のファイルにモジュール化されるオーバレ
イモジュールの実現方式に関する。
The present invention relates to a computer operating system, and more particularly to a method for implementing an overlay module that is modularized into a file separate from the execution program main body in MS-DO3.

マイクロコンピュータ、あるいはパーソナルコンピュー
タなどの小型計算機において仕事を行う場合、キーボー
ドやディスクから主記憶にプログラムやデータを移し、
命令を逐次に実行する。そして、必要な場合に主記憶の
中からデータを取り出し、処理した結果を主記憶に格納
する。
When working on a small computer such as a microcomputer or personal computer, programs and data are transferred from the keyboard and disk to main memory.
Execute instructions sequentially. Then, if necessary, data is retrieved from the main memory and the processed results are stored in the main memory.

主記憶は、1バイト、すなわち8ビツト毎の区画に分か
れている場合が多く、さらにその主記憶番地はセグメン
トという単位に分かれている。
Main memory is often divided into sections of 1 byte, ie, 8 bits, and the main memory addresses are further divided into units called segments.

各セグメントが主記憶上の何番地から始まっているかを
指示するために、コードセグメントC3や、データセグ
メントDSなどのレジスタがある。
There are registers such as code segment C3 and data segment DS to indicate from which address in the main memory each segment starts.

例えばコードセグメントを格納するCSレジスタはプロ
グラムが主記憶上のどのセグメントに入っているかを示
すために使われる。そして、セグメント内のポインタを
使って、その所在番地を参照することになる。
For example, the CS register that stores code segments is used to indicate which segment in main memory the program is located in. The location address is then referenced using a pointer within the segment.

セグメントの大きさは自由になっているが、その起点の
アドレスは16の整数倍になっている場合が多く、セグ
メントの最大のサイズも64にバイトに抑えられている
。そして、各セグメントは主記憶装置内のどこへでも再
配置可能であって、リロケータブルになっている。
Although the size of a segment is free, the starting address is often an integral multiple of 16, and the maximum size of a segment is also limited to 64 bytes. Each segment can be relocated anywhere within the main memory, making it relocatable.

ユーザが能率よく計算機を使えるようにするために、標
準的に装備されたオペレーションシステム(O8)があ
り、その1つとしてMS−DO3がある。
In order to enable users to use computers efficiently, there are standard operating systems (O8), one of which is MS-DO3.

このO8はエディタ、リンカ、アセンブラ、デバッカの
ようなシステムプログラムばかりでなく、ユーザが作っ
たプログラムも管理する。そして、このO8のもとでア
センブラ語やフォートラン、パスカル、Cといった高級
言語が使えるようになっている。
This O8 manages not only system programs such as editors, linkers, assemblers, and debuggers, but also programs created by users. Under this O8, high-level languages such as Assembler, Fortran, Pascal, and C can be used.

このO8には、入出力機器の制御に対しても標準機能が
あり、例えば、キーボードから1文字入力する場合であ
るとか、デイスプレィに1文字表示させるといった各機
能をファンクションコールの形で呼び出し、この呼び出
し機能を行う場合に、どのレジスタにどんな情報をセッ
トし、入力をどのレジスタで受は取るかといった規則が
あらかじめ決められ、それがいわゆるOSインターフェ
イスという形でまとめられている。
This O8 also has standard functions for controlling input/output devices, such as inputting a single character from the keyboard or displaying a single character on the display, by calling each function in the form of a function call. When performing a call function, rules such as what information should be set in which register and which register should receive input are determined in advance, and these rules are summarized in the form of a so-called OS interface.

O8と入出力機器間では、主記憶の一部をバッファとし
て用いて、ここを経由して指令を行うことになる。アセ
ンブラ言語や高級言語のソースプログラムは、アセンブ
ラやコンバイ゛ルを介してオブジェクトファイルに変換
され、さらにこのオブジェクトファイルは、同様に作成
された他のオブジェクトファイルと結合するためにリン
クされ、その結果として、実行型のファイルが生成され
る。
A part of the main memory is used as a buffer between the O8 and the input/output device, and commands are sent via this buffer. An assembly language or high-level language source program is converted into an object file through an assembler or combiner, and this object file is further linked to combine with other similarly created object files, resulting in , an executable file is generated.

オーバレイモジュールは、この実行プログラム本体とは
別のファイルにモジュール化されたものであり、複数の
オーバレイモジュールの中で、一つだけが実行プログラ
ムのファイルに入って実行される。
The overlay module is modularized into a file separate from the main body of the execution program, and only one of the plurality of overlay modules is included in the execution program file and executed.

このようなオーバレイ機能は、容量が限られた主記憶、
例えば1メガバイト内で大きなプログラムを構成する場
合に極めて有効な機能である。
This overlay function is useful for main memory with limited capacity,
For example, this is an extremely effective function when configuring a large program within 1 megabyte.

オーバレイ機能はMS−DO3上でも利用することが可
能で、少ないメモリで大きな機能を動作させるアプリケ
ーションプログラムを設計・構築する場合に有効となる
The overlay function can also be used on MS-DO3, and is effective when designing and constructing an application program that operates a large function with a small amount of memory.

〔従来の技術〕[Conventional technology]

従来、MS−DO3上でのオーバレイのロード機能は、
セグメント情報やオーバレイ領域のメモリ管理を十分に
行う機能がなく、メインプログラムとオーバレイモジュ
ールの全てをその都度コンパイルしてオブジェクトファ
イルを作成し、リンク時においてもどのモジュールがオ
ーバレイであるかを指定する必要があった。
Traditionally, the overlay loading function on MS-DO3 was
There is no function to adequately manage memory for segment information and overlay areas, and it is necessary to compile all main programs and overlay modules each time to create an object file, and to specify which module is an overlay even when linking. was there.

例えばAとBとCのモジュールがあり、Aがメインプロ
グラムで、BとCがオーバレイモジュールであるとする
。この場合、Aのメインプログラム内でオーバレイモジ
ュールBとCを呼び出し、実行することになるが、親プ
ログラムはオーバレイをコールする時に動作しているセ
グメントアドレスを知らせ、オーバレイは呼んだプログ
ラムへセグメント情報を返却する動作を必要とする。
For example, suppose there are modules A, B, and C, where A is the main program and B and C are overlay modules. In this case, overlay modules B and C are called and executed within the main program of A, but the parent program informs the operating segment address when calling the overlay, and the overlay sends segment information to the calling program. Requires action to return.

そして、それぞれのソースプログラムをコンパイルして
オブジェクトファイルを作成するが、リンク時において
もオーバレイモジュールの指定を行う必要があり、さら
に全体のセグメント情報をコントロールする必要があっ
た。
Each source program is then compiled to create an object file, but it is also necessary to specify an overlay module during linking, and it is also necessary to control the overall segment information.

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

従って、従来方式では、オーバレイ機能をユーザが実行
するためには、ユーザは主記憶を参照するためのセグメ
ント情報を意識し、アプリケーションプログラムを設計
・構築する必要があり、ユーザの負担が大きいという問
題点があった。
Therefore, in the conventional method, in order for a user to execute the overlay function, the user must be aware of the segment information for referring to the main memory and design and construct an application program, which poses a large burden on the user. There was a point.

本発明は、ユーザにとって負担のない形でオーバレイ機
能を効率よ(けうだどのMS−DO3におけるオーバレ
イモジュール実現方式を提供することを目的とする。
SUMMARY OF THE INVENTION An object of the present invention is to provide a method for implementing an overlay module in MS-DO3 that efficiently implements overlay functions without burdening the user.

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

第1図は本発明の原理ブロック図である。 FIG. 1 is a block diagram of the principle of the present invention.

オーバレイローダ手段は、オペレーションシステムにお
いて、親モジュール手段内にオーバレイ領域を確保し、
オーバレイプログラムをロードし、オーバレイプログラ
ムを実行し、オーバレイ領域を開放するためにオーバレ
イモジュールとのセグメント情報をやりとりし、スター
トアップモジュール手段2は、オーバレイプログラムの
イニシャル処理を行うためにセグメント情報の退避や初
期値未定義領域の初期化を行い、オーバレイモジュール
手段は、コードセグメント内に前記スタートアップモジ
ュール手段2及びオーバレイモジュールのプログラムの
オーバレイ本体3であるプログラムコードを有し、デー
タセグメントには初期値を持つ変数の領域と、初期値を
持たない変数の領域を有し、それらのセグメントからな
るように構成され、親モジュール手段1がオーバレイモ
ジュールを実行する場合、オーバレイスタートアップモ
ジュールをコールし、オーバレイプログラムのイニシャ
ル処理をスタートアップモジュール手段2によって行っ
た後そのオーバレイスタートアップモジュールがオーバ
レイ本体を呼ぶように構成する。
The overlay loader means reserves an overlay area within the parent module means in the operation system;
The startup module means 2 loads the overlay program, executes the overlay program, and exchanges segment information with the overlay module to release the overlay area. The overlay module means initializes the value undefined area, and the overlay module means has a program code which is an overlay body 3 of the program of the startup module means 2 and the overlay module in a code segment, and a variable having an initial value in a data segment. When the parent module means 1 executes an overlay module, it calls the overlay startup module and performs the initial processing of the overlay program. is performed by the startup module means 2, and then the overlay startup module is configured to call the overlay main body.

〔作   用〕[For production]

本発明では、MS−DO3において、専用のオーバレイ
ロード機能とオーバレイ専用のスタートアップモジュー
ルを有し、オーバレイモジュールを有した親モジュール
が、オーバレイ専用のスタートアップモジュールをコー
ルすることにより、而単にオーバレイを実現している。
In the present invention, MS-DO3 has a dedicated overlay load function and a startup module dedicated to overlay, and a parent module having an overlay module simply realizes overlay by calling the startup module dedicated to overlay. ing.

〔実  施  例〕〔Example〕

次に本発明の実施例を図面を参照して説明する。 Next, embodiments of the present invention will be described with reference to the drawings.

MS−DO3が広く使われ、その上で動作するアプリケ
ーションが増えてくると、MS−DO3の1メガバイト
のメモリ制限がネックとなる。その中で複数の機能を実
現するための開発手法としてオーバレイがある。しかし
オーバレイを実現するための機能がMS−DO3に充分
でないため、簡単にオーバレイを実現することはできな
い。
As MS-DO3 becomes widely used and the number of applications running on it increases, the 1 megabyte memory limit of MS-DO3 becomes a bottleneck. Among them, overlay is a development method for realizing multiple functions. However, since MS-DO3 does not have sufficient functions for realizing overlay, overlay cannot be easily realized.

本発明では、従来のMS−DO3が提供している機能を
利用して簡単にオーバレイを実現するものである。
In the present invention, overlay is easily realized using the functions provided by the conventional MS-DO3.

第2図は、本発明のオーバレイ実現方式の概念図である
。同図において11はディスク、12は主記憶上のメモ
リ構造である。主記憶領域は親モジュールのメインプロ
グラムとオーバレイプログラムを格納するオーバレイモ
ジュール領域と、本発明の特徴であるオーバレイプログ
ラムのイニシャル処理を行うオーバレイ用のスタートア
ップモジュールに分割される。
FIG. 2 is a conceptual diagram of the overlay implementation method of the present invention. In the figure, 11 is a disk, and 12 is a memory structure on the main memory. The main storage area is divided into an overlay module area that stores the main program of the parent module and an overlay program, and a startup module for overlay that performs initial processing of the overlay program, which is a feature of the present invention.

オーバレイモジュールは、ディスク上で分割されて格納
され、必要になった時点で、そのうちの1つのオーバレ
イモジュールが主記憶上のオーバレイモジュール領域に
リンクされる。そして、メインプログラムとの間でオー
バレイローダ−を介して、オーバレイ領域の獲得、及び
セグメント情報の受は渡しを行いつつ実行されることに
なる。
The overlay modules are divided and stored on the disk, and when needed, one of the overlay modules is linked to the overlay module area on the main memory. Acquisition of an overlay area and reception of segment information are then executed while passing between the main program and the main program via the overlay loader.

全体の主記憶の構造は、呼び出し元となる親モジュール
と、呼び出され側のオーバレイモジュール本体で構成さ
れ、親モジュールは、オーバレイ領域を管理し、オーバ
レイモジュールをロードし、オーバレイ・モジュールと
のセグメント情報のやり取りをするために、オーバレイ
ローダ−を含んでいる。このオーバレイローダ−は、 1、オーバレイ領域の確保 2、オーバレイモジュールのロード 3、オーバレイモジュールの実行 及び、 4、オーバレイ領域の開放 の4つの機能を有する。
The overall main memory structure consists of a parent module that is the calling source and an overlay module body that is the called side.The parent module manages the overlay area, loads the overlay module, and shares segment information with the overlay module. Contains an overlay loader for interaction. This overlay loader has four functions: 1. Securing an overlay area, 2. Loading an overlay module, 3. Executing an overlay module, and 4. Releasing an overlay area.

一方、オーバレイモジュールは、それ自身プログラムで
あり、プログラムの実行時に使われるデータ等を有する
。そのため、プログラムのコード参照のセグメントを指
定するコードセグメントC8とデータ領域が格納される
セグメントを指定するデータセグメントDS、すなわち
、コード部とデータ部から構成されている。
On the other hand, an overlay module is itself a program and has data and the like used when the program is executed. Therefore, it is composed of a code segment C8 that specifies a segment for code reference of a program, and a data segment DS that specifies a segment in which a data area is stored, that is, a code section and a data section.

第3図は、本発明のオーバレイモジュールの構成図であ
る。
FIG. 3 is a block diagram of the overlay module of the present invention.

本発明のコードセグメントC8には、プログラムコード
以外にスタートアップモジュールがある。
The code segment C8 of the present invention includes a startup module in addition to the program code.

このモジュールは、オーバレイプログラムのイニシャル
処理を行うところで、セグメント情報の退避や初期値未
定義領域の初期化を行う。一方、プログラムコードには
オーバレイモジュールのプログラム本体がある。
This module performs initial processing of the overlay program, and also saves segment information and initializes the initial value undefined area. On the other hand, the program code includes the program body of the overlay module.

データセグメント内S内のデータは、初期値を持つ変数
の領域であるDATAと、初期値を持たない変数の領域
であるアンイニシャライズドデータ、すなわちUDAT
Aがある。
The data in S in the data segment is DATA, which is an area for variables that have initial values, and uninitialized data, that is, UDAT, which is an area for variables that do not have initial values.
There is an A.

オーバレイ機能には、オーバレイのネスティングは許さ
れないとして、オーバレイ領域は、スタックセグメント
、すなわちSSを持たず、呼び出し元のSSを使用する
ことになる。
Since nesting of overlays is not allowed for the overlay function, the overlay area does not have a stack segment, ie, SS, and uses the SS of the caller.

第4図は、本発明の親モジュールから1つのオーバレイ
本体を呼び出す場合の概略図である。
FIG. 4 is a schematic diagram when one overlay body is called from the parent module of the present invention.

同図において21は、メインプログラムである親モジュ
ールである。
In the figure, 21 is a parent module which is the main program.

点線内は、オーバレイモジュールであり、内部において
スタートアップモジュール22とオーバレイ本体23が
ある。
Inside the dotted line is an overlay module, which includes a startup module 22 and an overlay main body 23.

親モジュール21がオーバレイモジュールを呼び出す場
合には、FARCALL (ファーコール)で呼ぶ、コ
ールには、ニア(Near)コールとファーコールがあ
り、ニアは2バイト長のアドレス、ファーは4バイト長
、すなわちセグメント+オフセントのアドレスで呼ぶこ
とであり、4バイトである場合には、自分のいる命令の
所在番地から64にバイトより離れたところにあるサブ
ルーチンを呼ぶ場合となる。ファーコールで呼ばれたオ
ーバレイモジュールを実行した後、FarReturn
  (ファーリターン)で親モジュールに戻ることにな
る。
When the parent module 21 calls an overlay module, it is called FARCALL. There are two types of calls: near calls and far calls. Near is a 2-byte address, and far is a 4-byte address, i.e. It is called with an address of segment + offset, and if it is 4 bytes, it means calling a subroutine located 64 bytes away from the address of the instruction where it is located. After executing the overlay module called by FarReturn
(far return) will return to the parent module.

本発明では、オーバレイモジュールが呼ばれる場合には
、スタートアップモジュールを介してオーバレイ本体が
呼ばれる。スタートアップモジュールが起動された直後
には、DS、すなわちデータセグメントレジスタをDA
TAというDS?lI域の先頭アドレスに設定し、親プ
ロセスからのDSの値は、退避されたこのDSレジスタ
の内容を用いて復帰時に保証することになる。これが、
DSレジスタの設定機能である。
In the present invention, when the overlay module is called, the overlay itself is called via the startup module. Immediately after the startup module is activated, the DS, that is, the data segment register, is set to DA.
DS called TA? The value of DS from the parent process is guaranteed at the time of return using the saved contents of this DS register. This is,
This is a DS register setting function.

他のセグメントレジスタであるエクストラセグメントの
E3.スタックセグメントのSS、及びそのスタックセ
グメント内のアドレスをさすスタックポインタSP等の
レジスタは、起動時の値をそのまま使用する。これがオ
ーバレイ・モジュール内にあるスタートアップモジュー
ルの第1の基本機能である。
E3 of the extra segment which is another segment register. Registers such as the SS of the stack segment and the stack pointer SP pointing to the address within the stack segment use the values at startup as they are. This is the first basic function of the startup module within the overlay module.

第2の基本機能は、初期値未定義領域、UDATAの初
期化である。C言語使用では、初期値を定義しない変数
は、起動時にOが設定されねばないないため、メインモ
ジュールを起動する前に、U D A T A 95域
を全てOにクリアすることをここで行う。すなわちオー
バレイ本体はC言語で書かれるとするならば、この初期
値未定義領域の初期化動作を必ず行うため、UDATA
のクリアをスタートアップモジュール内で行うようにし
ている。
The second basic function is initialization of the initial value undefined area, UDATA. When using the C language, variables that do not define an initial value must be set to O at startup, so before starting the main module, clear all the U D A T A 95 areas to O. . In other words, if the overlay body is written in C language, this initial value undefined area must be initialized, so UDATA
is cleared within the startup module.

オーバレイ本体は図に示すように、C言語のメインma
in()で始まる本体となる。
The overlay body is the main ma of C language as shown in the figure.
The body starts with in().

第5図は、本発明のモジュールのセグメント構成図であ
る。コードセグメント内にはオーバレイ用スタートアッ
プモジュールとメインプログラムが格納され、データセ
グメント内にDATAとUDATAが格納される。同図
において、上側が低位アドレスで、下側が高位アドレス
である。
FIG. 5 is a segment configuration diagram of the module of the present invention. An overlay startup module and a main program are stored in the code segment, and DATA and UDATA are stored in the data segment. In the figure, the upper side is a low-order address, and the lower side is a high-order address.

オーバレイ・モジュール内において、スタートアップモ
ジュールからオーバレイ本体を呼ぶ場合には、ニアコー
ルとなる。すなわち2バイトで表現されるアドレス内で
あって、現在の命令′の所在番地から±64にバイトの
範囲内でコールすることになる。
When calling the overlay body from the startup module within the overlay module, it is a near call. In other words, the call is made within an address expressed in 2 bytes, and within a range of ±64 bytes from the address where the current instruction ' is located.

このように、コールする場合のアドレスは、相対的な番
地であるから、プログラムはりロケータプルにできる。
In this way, since the address when calling is a relative address, the program can be made into a locator pull.

そして、プログラムを作成する場合、それがある程度大
きくなってもメインプログラムとオーバレイ本体はそれ
ぞれがひとまとまりの仕事を行うプログラムであって、
サブルーチン、すなわちモジュール形になっている。従
って、大きいプログラムは小さなサブルーチンの集まり
として構成され、さらにオーバレイ本体は数種のオーバ
レイプログラムから形成され、その各プログラムはディ
スク内に格納され、それを実行時に引き出すことによっ
て実行される。このようにして、実質的に大きなプログ
ラム機能を有することが可能となる。
When creating a program, even if it grows to a certain extent, the main program and the overlay itself are programs that each perform a set of tasks.
It is a subroutine, that is, it is modular. Therefore, a large program is constructed as a collection of small subroutines, and the overlay body is formed from several types of overlay programs, each of which is stored in a disk and executed by being retrieved at runtime. In this way, it is possible to have substantially greater program functionality.

オーバレイを呼ぶ場合にはファーコールの形で呼び、ス
タートアップモジュールを介して各オーバレイ本体はニ
アコールで呼ばれ、サブルーチンを呼び出して制御を渡
す形のコールで行われ、各プロシージャーから戻る場合
にはRETとなる。
When calling an overlay, it is called in the form of a far call, each overlay body is called as a near call via the startup module, it is performed as a call that calls a subroutine and transfers control, and when returning from each procedure, it is called with a RET. Become.

スタートアップモジュールがオーバレイ本体へ分岐する
時にはニアのコールで行われるが、そのラベル名は必ず
main()でなければならない。
When the startup module branches to the overlay body, it is done with a near call, but the label name must be main().

このことにより、オーバレイ本体をC言語で開発できる
という利点がある。
This has the advantage that the overlay itself can be developed in C language.

第6図は、スタートアップモジュールの概略フローチャ
ートである。スタートするとデータセグメントDS、エ
クストラセグメントES、デスティネーションインデッ
クスを格納するDIレジスタ内容を退避し、オーバレイ
のデータセグメントDSを設定し、初期値0の変数が格
納されるUDA T A TiN域の大きさを計算し、
0にクリアするためにU D A T A 9m域の初
期化を行う0次にCALL  MAINでオーバレイ本
体を呼び、オーバレイ本体はC言語で書かれているとす
れば、これがコンパイルされ実行される。実行停終われ
ば、退避してあったDS、 ES、及びDIレジスタの
内容の復帰を行って、メインプログラムにファーリター
ンする。すなわち、セグメント+オフセットの形でリタ
ーンすることになって終わる。
FIG. 6 is a schematic flowchart of the startup module. When started, it saves the contents of the DI register that stores the data segment DS, extra segment ES, and destination index, sets the overlay data segment DS, and determines the size of the UDA T A TiN area where variables with initial values of 0 are stored. calculate,
The overlay body is called with the 0th order CALL MAIN which initializes the U DATA 9m area to clear it to 0. Assuming that the overlay body is written in C language, this is compiled and executed. When the execution is stopped, the saved contents of the DS, ES, and DI registers are restored, and a far return is made to the main program. In other words, it ends up returning in the form of segment + offset.

第7図は、本発明の一実施例図である。同図において3
1は親モジュール、32はオーバレイ・スタートアンプ
モジュール、33はC言語によるオーバレイ本体である
。この実施例は、MS−DO3+Lattice−Cを
利用したアプリケーションプログラムの概念図である。
FIG. 7 is a diagram showing an embodiment of the present invention. In the same figure, 3
1 is a parent module, 32 is an overlay/start amplifier module, and 33 is an overlay body written in C language. This embodiment is a conceptual diagram of an application program using MS-DO3+Lattice-C.

親モジュールのMAINの本体にある1nt21ah=
48hは、メモリブロックの獲得を行うためのインクラ
ブド、すなわち割り込みである。Aレジスタの上位側に
16進で48という番号のファンクションコードをセッ
トし、21番目の割り込みルーチンを行うとメモリブロ
ックの獲得となる。
1nt21ah in the main body of the parent module MAIN =
48h is included, that is, an interrupt for acquiring a memory block. A function code numbered 48 in hexadecimal is set in the upper part of the A register, and a memory block is acquired when the 21st interrupt routine is executed.

下の方に書かれている割り込みは、49hで、これはメ
モリブロックの開放となる。すなわちMS−DO3のメ
モリ管理は、メモリを割り当てるファンクション48h
1メモリを開放するファンクシラン49hが用意されて
いる。これがオーバレイ領域の獲得となる。
The interrupt written at the bottom is 49h, which releases the memory block. In other words, the memory management of MS-DO3 is performed by the function 48h that allocates memory.
Funk Silan 49h, which frees up 1 memory, is available. This acquires the overlay area.

インタラブドの21のah=4bh  03という割り
込みルーチンで、オーバレイモジュールのロードを行う
、オーバレイモジュールをディスクから読み込む場合、
オーバレイローダ−は、まずカレントディレクトリを検
索し、次に環境変数のPATH=で設定されるディレク
トリの順でオーバレイモジュールを検索し、そのディレ
クトリ内にあるオーバレイモジュールをロードすること
になる。すなわち、主記憶に移す。そして、FARCA
LLオーバレイでオーバレイモジュールを実行すること
になる。これはファーコールであるから、セグメント+
オフセットの4バイトのアドレスでコールすることにな
る。
The overlay module is loaded using the interrupt routine 21 ah = 4bh 03 of Interabd. When reading the overlay module from disk,
The overlay loader first searches the current directory, then searches for overlay modules in the order of the directories set by the environment variable PATH=, and loads the overlay modules in the directories. In other words, it is moved to main memory. And FARCA
The overlay module will be executed in the LL overlay. Since this is a fur call, segment +
It will be called with a 4-byte offset address.

コールすると、オーバレイスタートアップモジュールの
先頭アドレスからオーバレイスタートアップモジュール
が実行される。これは、後述するようにセグメント情報
の退避と、初期値未定義領域の初期化を行う。
When called, the overlay startup module is executed from the start address of the overlay startup module. This saves segment information and initializes the initial value undefined area, as will be described later.

C言語で書かれたオーバレイ本体をニアコールで呼び、
オーバレイ本体を実行した後、ニアのリターンを行って
オーバレイスタートアップモジュールに戻る。そして、
セグメント情報を退避場所からポツプして親モジュール
のファーコールの次の命令にリターンすることになる。
Call the overlay body written in C language with a near call,
After executing the overlay itself, perform a near return to return to the overlay startup module. and,
It pops the segment information from the save location and returns to the next instruction of the parent module's far call.

そして、親モジュールの1nt21ah=49hにおい
てメモリブロックの開放を行って、オーバレイ領域の開
放を行う。
Then, at 1nt21ah=49h of the parent module, the memory block is released and the overlay area is released.

第8図(a)、 (blはオーバレイ・スタートアップ
モジュールの処理プロセスのアセンブラ言語によるプロ
グラムの実施例図である。
FIG. 8(a) and (bl) are diagrams showing an example of a program in assembler language for the processing process of the overlay startup module.

第8図のプログラムを第6図のフローチャートと対比す
ると、第8図において、49,50.51行目はDS、
ES:DIレジスタの退避、53.54行目はオーバレ
イのDS設定、63行目乃至68行目はUDATA領域
の計算、69行目乃至73行目はUDATA領域の初期
化、79行目はCALLMAIN、80乃至82行目は
DS、ES:Drしジスタの復帰、85行目はFRRE
Tとなる。以下、第8図のプログラムを具体的に説明す
る。
Comparing the program in Figure 8 with the flowchart in Figure 6, lines 49, 50, and 51 are DS,
ES: Save DI register, 53rd and 54th lines set overlay DS, 63rd to 68th lines calculate UDATA area, 69th to 73rd lines initialize UDATA area, 79th line CALLMAIN , 80th to 82nd lines are DS, ES:Dr and register return, 85th line is FRRE
It becomes T. The program shown in FIG. 8 will be explained in detail below.

86系のアセンブラ言語プログラムの先頭には、TIT
LEが付けられ、ここではINITというイニシエイト
の意味の名前が付けられている。プログラム全体は、一
つのコードセグメントの形である。プログラムの中で、
他のプログラムをインクルート(include)する
場合には、INCLUDEという命令が使われ、ここで
はDO3MACがインクルートされている。
At the beginning of the 86 series assembler language program, TIT
LE is given here, and the name INIT, which means initiate, is given here. The entire program is in the form of one code segment. In the program,
When including another program, an instruction called INCLUDE is used, and in this case, DO3MAC is included.

プログラムに対するコメントは、記号・;で始められる
。コメントはアセンブラでは無視されるので、;の分は
実行されない。19行目において、ダミースタックサイ
ズを表すアセンブラパラメータ5TKR3Vが16進で
08に設定されている。
Comments for programs begin with the symbol ;. Comments are ignored by the assembler, so the ; part is not executed. On the 19th line, assembler parameter 5TKR3V representing the dummy stack size is set to 08 in hexadecimal.

26行目のEXTRNは、エクスターナルの意味で、オ
ーバレイ本体のMA I Nというプログラムが、セグ
メントなしの2バイトのアドレスのニアコールで呼ばれ
る場合、エクスターナル、すなわち別ファイルであるこ
とを宣言している。すなわち、mainというルーチン
が、耳部ファイルであって、それをコールする場合のア
ドレスは、2バイl−(NEAR)であることを宣言し
ている。
EXTRN on the 26th line has an external meaning, and declares that if the program MAIN in the overlay main body is called by a near call with a 2-byte address without a segment, it is an external file, that is, a separate file. That is, the routine called main is an ear file, and the address when calling it is declared to be 2-byte l-(NEAR).

32行目において、データのグループ化を行っている。In the 32nd line, data is grouped.

DATA、NDATA、UDATAは、集合化されたデ
ータであって、33行目においてそのグループ全体はデ
ータセグメント内S内にあることを指定している。すな
わち、データセグメント内にある本体は、DGROUP
というセグメント名であることを指定している。
DATA, NDATA, and UDATA are aggregated data, and the 33rd line specifies that the entire group is within the data segment S. That is, the body within the data segment is DGROUP
This specifies that the segment name is .

39行目で、プログラムセグメントを定義している。The 39th line defines the program segment.

44行目のパブリック(PUBLIC)は、INITと
いうプログラムが公開されていることを示し、別のファ
イルである外部ファイルから参照することが可能だとい
う宣言である。すなわち、別ファイルでEXTRNと宣
言できる名前は、相手側の方ではPUBLICになって
いる。
PUBLIC on the 44th line indicates that the program INIT is open to the public, and is a declaration that it can be referenced from another external file. That is, a name that can be declared as EXTRN in a separate file is declared as PUBLIC on the other party's side.

46行目は、INITという名前のルーチンは、プロシ
ージャー(PROC) 、すなわちサブルーチンであっ
て、そのプロシージャーにつけられたFARは位置のア
ドレスがセグメント+オフセットの4バイト長であるこ
とを示している。
Line 46 shows that the routine named INIT is a procedure (PROC), that is, a subroutine, and the FAR attached to the procedure indicates that the address of the location is 4 bytes long (segment+offset).

プロシージャーの終わりは87行目のENDPである。The end of the procedure is ENDP on line 87.

プログラムセグメントの終わりを指定しているのが92
行目である。
92 specifies the end of the program segment.
This is the row.

INrTというプロシージャーはパブリックであるから
、親のモジュールからファーでアクセズされる。このプ
ロシージャーにおいて、セグメント情報の退避が47行
目から57行目に書かれ、61行目から74行目までが
初期値未定義領域の初期化が行なわれている。そして、
75行目から84行目までがオーバレイ本体の呼び出し
で、そのための引き数を定義し、それを呼んでいる部分
である。
Since the procedure INrT is public, it can be far accessed from the parent module. In this procedure, saving of segment information is written from the 47th line to the 57th line, and from the 61st line to the 74th line, the initial value undefined area is initialized. and,
The 75th line to the 84th line is the part that calls the overlay itself, defines arguments for it, and calls it.

47行目のブツシュ命令は、ベースポイントすなわち現
セグメントの中の所在番地を表すレジスタの内容を退避
する。48行目のムーブ命令は現在のSPすなわち、ス
タックポインタの内容をBPに移す。そして49行目で
現在のデータセグメントを退避し、50行目で現在の工
□°クストラセグメントを退避し、51行目で現在のデ
スティネーションインデクスDIを退避する。52行目
のCLI命令はクリアインクラブド命令であって、以後
割込みの受は付けを禁止する命令である。53行目にお
いて、32行目でグループ化されたDGROUPという
データセグメントをアキュムレイクーのAXレジスタに
移し、54行目でそのAXをDSに移す。55行目でイ
ンクラブドをセットしてインタラブドの禁止を解除する
。56行目で現在のエクストラセグメントの内容を共通
のセグメントアドレスとしてセットし、57行目でディ
ストネーションインデクスに対してこれを共通のオフセ
ットアドレスとしてC0M0FFに移す。
The bush instruction on the 47th line saves the contents of the register representing the base point, that is, the location address in the current segment. The move instruction on line 48 moves the current SP, that is, the contents of the stack pointer, to BP. Then, in the 49th line, the current data segment is saved, in the 50th line, the current construction segment is saved, and in the 51st line, the current destination index DI is saved. The CLI instruction on the 52nd line is a clear included instruction, and is an instruction that prohibits acceptance of interrupts from now on. In the 53rd line, the data segment called DGROUP, which was grouped in the 32nd line, is moved to the AX register of the accumulator, and in the 54th line, the AX is moved to the DS. Line 55 sets included and cancels the prohibition of interbed. In line 56, the contents of the current extra segment are set as a common segment address, and in line 57, this is moved to C0M0FF as a common offset address for the destination index.

このようにスタートアップモジュールが起動された直後
では53.54行目においてDSすなわちデータセグメ
ントレジスタをDATA等のデータが格納されたデータ
セグメント領域の先頭アドレスに設定する。
Immediately after the startup module is activated in this manner, in lines 53 and 54, the DS, that is, the data segment register is set to the start address of the data segment area in which data such as DATA is stored.

また親プロセスからの現在のDS、BS、DI等は49
.50.51で退避しているのでリターン時にこれらの
復帰を保証することになる。他のセグメントレジスタで
あるエクストラセグメントのES、スタックセグメント
のS81更にスタ・ツクセグメント内のアドレスをさす
スタックポインタSP等のレジスタは起動時の値をその
まま使用している。59行目から73行目までは初期値
未定義領域UDATAの初期化である。
Also, the current DS, BS, DI, etc. from the parent process is 49
.. Since they are saved at 50.51, their return is guaranteed upon return. Other segment registers such as ES of the extra segment, S81 of the stack segment, and a stack pointer SP pointing to an address within the stack segment use the values at startup as they are. Lines 59 to 73 are initialization of the initial value undefined area UDATA.

SI及びDIレジスタには、文字列の先頭番地をセット
するが、Slのソース、DIのディステネーシツンとい
うものは文字通りの意味を有し、文字列を調べる方向が
前から後ろへの時にはCLDで方向を表し、逆に後ろか
ら前への時にはSTDという命令が使われる。そして、
Sl用にはDSレジスタ、DI用にはESレジスタを予
めセントしておく必要がある。そして文字列の中の文字
列全体について何か操作を行う場合には、CSレジスタ
が使われ、ここに文字列の長さがセットされる。
The starting address of the character string is set in the SI and DI registers, but the source of SL and the destination of DI have literal meanings, and when the direction of examining the character string is from front to back, CLD is used. It represents the direction, and conversely, when going from back to front, the command STD is used. and,
It is necessary to pre-centre the DS register for SL and the ES register for DI. When performing some operation on the entire string in the string, the CS register is used, and the length of the string is set here.

61行目のCLDで文字列を調べる方向を順方向とする
。62行目でAXの内容同士の排他的論理和をとるので
AXの内容をクリアする。63行目でUDATAのセグ
メントにある文字列の先頭番地をDIレジスタにセット
する。64行目でスタックのセグメントをCxに移す。
The direction in which the character string is examined in CLD on the 61st line is the forward direction. On the 62nd line, the contents of AX are cleared by exclusive ORing. On the 63rd line, the start address of the character string in the UDATA segment is set in the DI register. At line 64, the stack segment is moved to Cx.

65行目でCXの内容からDIの内容を引く。66.6
7.68行目でCXレジスタの内容を左シフトする。そ
して69行目でエクストラセグメントをブツシュして退
避し、70行目で現在のDIをESに移す。
On line 65, the contents of DI are subtracted from the contents of CX. 66.6
7. Shift the contents of the CX register to the left on line 68. Then, in the 69th line, the extra segment is bushed and saved, and in the 70th line, the current DI is moved to the ES.

そして71行目でそのDIをクリアする。72行目のリ
ピート命令はそれ自身独立した命令ではなく、文字を処
理する命令の前につけるもので、いわば、プレフィック
スであって、CXレジスタが0でなければ繰り返す命令
で、予め決められているCXの内容が0になるまで繰り
返される。73行目でエクストラセグメントを退避する
。すなわちこのルーチンによってC言語使用では初期値
を定義しない変数には起動時に0が設定されねばならな
いので、U D A T A SJI域をすべて0にク
リアしている。すなわちC言語で書かれたオーバレイ本
体に対する初期値未定義領域の初期化動作がこのルーチ
ンによって行われている。
Then, in line 71, the DI is cleared. The repeat instruction on line 72 is not an independent instruction in itself, but is added before the instruction that processes characters.It is, so to speak, a prefix, and is a predetermined instruction to repeat unless the CX register is 0. This process is repeated until the contents of CX become 0. The extra segment is saved on the 73rd line. That is, when using the C language, variables for which no initial value is defined must be set to 0 at startup by this routine, so the U DATA SJI area is all cleared to 0. That is, this routine initializes the initial value undefined area for the overlay body written in C language.

75行目から85行目までがオーバレイ本体を呼び出す
ルーチンである。77行目で現在のDSを退避し、78
行目でESをポツプして引き戻す。
The 75th line to the 85th line is a routine that calls the overlay body. At line 77, save the current DS, and at line 78
Pop the ES on the row and pull it back.

79行目でC言語のメインすなわちオーバレイを呼んで
、80でDIを戻し、81.82でそれぞれESとDS
をポツプしている。そして83行目でBPをSPに移し
、84行目でBPを引き戻している。85行目でリター
ンし、親モジュールに帰る。87行目でプロシージャの
エンドとなっている。
Line 79 calls the C main or overlay, returns DI at 80, and returns ES and DS at 81 and 82, respectively.
is popping. Then, in the 83rd line, BP is transferred to SP, and in the 84th line, BP is pulled back. Returns on line 85 and returns to the parent module. Line 87 is the end of the procedure.

〔発明の効果〕〔Effect of the invention〕

このように、本発明ではオーバレイ専用のスタートアン
プモジュールを作成することにより、オーバレイ本体を
開発する場合においても、オーバレイをまったく意識せ
ずにプログラムの開発を行うことができる。そしてオー
バレイモジュールの実行形式ファイルを作成する場合も
、MS−D。
In this way, in the present invention, by creating a start amplifier module exclusively for overlays, programs can be developed without being aware of overlays at all even when developing the overlay itself. MS-D is also used when creating an executable file for an overlay module.

S提供のリンカをそのまま使用でき“′5M5−D。You can use the linker provided by S as is.

Sを利用したアブリケーシッンプログラムを設計構築す
る場合において、非常に少ないメモリ資源で複数の機能
、すなわちモジュールを動作させることができ、従って
オーバレイを簡単に実現できる。
When designing and constructing an application program using S, it is possible to operate multiple functions, that is, modules, with very little memory resources, and therefore overlay can be easily realized.

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

第1図は、本発明の原理ブロック図、 第2図は、本発明のオーバレイ実現方式の概念図、第3
図は、本発明のオーバレイモジュールの構成図、 第4図は、本発明の親モジュールから1つのオーバレイ
本体を呼び出す場合の概略図、 第5図は、本発明のモジュールのセグメント構成図、 第6図は、スタートアップモジュールの概略フローチャ
ート、 第7図は、本発明の一実施例図、 第8図(a)、 (b)はオーバレイ・スタートアップ
モジュールの処理プロセスのアセンブラ言語によるプロ
グラムの実施例図である。 ・親モジュール手段、 ・スタートアップモジュール手段、 ・オーバレイ本体。
Figure 1 is a principle block diagram of the present invention, Figure 2 is a conceptual diagram of the overlay implementation method of the present invention, and Figure 3 is a conceptual diagram of the overlay implementation method of the present invention.
4 is a schematic diagram when one overlay main body is called from the parent module of the present invention. FIG. 5 is a segment configuration diagram of the module of the present invention. The figure is a schematic flowchart of the startup module, FIG. 7 is an embodiment of the present invention, and FIGS. 8(a) and 8(b) are diagrams of an embodiment of a program in assembler language for the processing process of the overlay startup module. be. - Parent module means; - Startup module means; - Overlay body.

Claims (1)

【特許請求の範囲】 1)オペレーションシステムにおいて、オーバレイロー
ダ手段とオーバレイモジュール手段とを有し、 該オーバレイローダ手段は、親モジュール手段(1)内
にオーバレイ領域を確保し、オーバレイプログラムをロ
ードし、オーバレイプログラムを実行し、オーバレイ領
域を開放するためにオーバレイモジュールとセグメント
情報をやりとりし、前記オーバレイモジュール手段は、 オーバレイプログラムのイニシャル処理を行うためにセ
グメント情報の退避や初期値未定義領域の初期化を行う
スタートアップモジュール手段(2)と、 コードセグメント内に前記スタートアップモジュール手
段(2)及びオーバレイモジュールのプログラムのオー
バレイ本体(3)であるプログラムコードを有し、デー
タセグメントには初期値を持つ変数の領域と、初期値を
持たない変数の領域を有し、 前記親モジュール手段(1)がオーバレイモジュールを
実行する場合、オーバレイスタートアップモジュールを
コールし、オーバレイプログラムのイニシャル処理をス
タートアップモジュール手段(2)によって行った後そ
のオーバレイスタートアップモジュールがオーバレイ本
体(3)を呼ぶことを特徴とするオーバレイモジュール
実現方式。 2)前記オペレーションシステムはMS−DOSである
ことを特徴とする請求項1記載のオーバレイモジュール
実現方式。 3)前記親モジュール手段(1)がオーバレイスタート
アップモジュール手段(2)を呼ぶ場合には、ファーコ
ールで呼び、オーバレイスタートアップモジュールがオ
ーバレイ本体(3)を呼ぶ場合には、ニアコールで呼ぶ
ことを特徴とする請求項1記載のオーバレイモジュール
実現方式。 4)オーバレイ本体(3)はC言語で記述され、前記オ
ーバレイスタートアップモジュール手段(2)がオーバ
レイ本体(3)を呼ぶ場合には、C言語のプログラムを
呼ぶことを特徴とする請求項1記載のオーバレイモジュ
ール実現方式。 5)前記スタートアップモジュール手段(2)は起動さ
れた直後にDSレジスタをデータ領域DATAの先頭に
設定し、エクストラセグメントES、スタックセグメン
トSS、及びスタックポインタ等の他のレジスタは起動
時の値をそのまま使用し、C言語使用の初期値を定義し
ない変数はオーバレイ本体(3)を起動する前にクリア
することを特徴とする請求項1記載のオーバレイモジュ
ール実現方式。
[Claims] 1) The operation system includes an overlay loader means and an overlay module means, the overlay loader means securing an overlay area in the parent module means (1), loading an overlay program, The overlay module executes the overlay program and exchanges segment information with the overlay module to release the overlay area, and the overlay module means saves the segment information and initializes the initial value undefined area to perform initial processing of the overlay program. a startup module means (2) for performing the above, and a program code which is an overlay body (3) of the program of the startup module means (2) and the overlay module in a code segment, and a data segment containing variables having initial values. When the parent module means (1) executes an overlay module, the overlay startup module is called and the initial processing of the overlay program is performed by the startup module means (2). The overlay module implementation method is characterized in that after the overlay start-up module calls the overlay main body (3). 2) The overlay module implementation method according to claim 1, wherein the operation system is MS-DOS. 3) When the parent module means (1) calls the overlay startup module means (2), it calls with a far call, and when the overlay startup module calls the overlay body (3), it calls with a near call. The overlay module implementation method according to claim 1. 4) The overlay body (3) is written in C language, and when the overlay startup module means (2) calls the overlay body (3), it calls a C language program. Overlay module implementation method. 5) Immediately after the startup module means (2) is started, it sets the DS register at the beginning of the data area DATA, and leaves other registers such as the extra segment ES, stack segment SS, and stack pointer as they are at the time of startup. 2. The overlay module implementation method according to claim 1, wherein variables that are used and do not define initial values for use in the C language are cleared before starting the overlay main body (3).
JP8203789A 1989-03-31 1989-03-31 Overlay module realizing system Pending JPH02259931A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8203789A JPH02259931A (en) 1989-03-31 1989-03-31 Overlay module realizing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8203789A JPH02259931A (en) 1989-03-31 1989-03-31 Overlay module realizing system

Publications (1)

Publication Number Publication Date
JPH02259931A true JPH02259931A (en) 1990-10-22

Family

ID=13763323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8203789A Pending JPH02259931A (en) 1989-03-31 1989-03-31 Overlay module realizing system

Country Status (1)

Country Link
JP (1) JPH02259931A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031257A (en) * 2004-07-14 2006-02-02 Sony Corp Information processor, information processing method, and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6269316A (en) * 1985-09-20 1987-03-30 Fujitsu Ltd Control system for substitute of overlay

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6269316A (en) * 1985-09-20 1987-03-30 Fujitsu Ltd Control system for substitute of overlay

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031257A (en) * 2004-07-14 2006-02-02 Sony Corp Information processor, information processing method, and program
JP4548025B2 (en) * 2004-07-14 2010-09-22 ソニー株式会社 Information processing apparatus, information processing method, and program

Similar Documents

Publication Publication Date Title
US6374353B1 (en) Information processing apparatus method of booting information processing apparatus at a high speed
US5659751A (en) Apparatus and method for dynamic linking of computer software components
JP2666847B2 (en) Heterogeneous language communication method
US5490256A (en) Method and mechanism for calling 32-bit functions from 16-bit functions
JP3138171B2 (en) How to download system features
JPH02272627A (en) Digital computer system and method of invocation of procedure of the same
JPH01154267A (en) Incorporating system for input/output device control program of operating system
US5553286A (en) System and method for preparing a computer program for execution
JP2000047874A (en) Device and method for footprint reduction of preloaded class
US4445173A (en) Improved system for saving and restoring state in call and return operations
US5333284A (en) Repeated ALU in pipelined processor design
JP2991242B2 (en) How to use a multiprocessor computer system
JPH02259931A (en) Overlay module realizing system
Bulman Stack computers: An introduction
CN111008056A (en) BIOS setting interface language configuration method and device
JP2000122876A (en) Information processor
JP2865291B2 (en) Module connection control method
JP2958386B2 (en) Computer system
JP3191263B2 (en) Optimal object selection execution processor
JPS62107339A (en) Instruction constituting method for microcomputer
CN112527263B (en) Self-adaptive variable parameter optimization method based on domestic heterogeneous platform
US10838657B1 (en) Reducing RAM usage in a runtime
US7314491B2 (en) Encapsulation of large native operating system functions as enhancements of the instruction set in an emulated central processor system
WO1984002022A1 (en) Dynamic data base representation
JPS62197832A (en) Vector processor