JPS63168725A - プログラム呼出方式 - Google Patents

プログラム呼出方式

Info

Publication number
JPS63168725A
JPS63168725A JP20287A JP20287A JPS63168725A JP S63168725 A JPS63168725 A JP S63168725A JP 20287 A JP20287 A JP 20287A JP 20287 A JP20287 A JP 20287A JP S63168725 A JPS63168725 A JP S63168725A
Authority
JP
Japan
Prior art keywords
program
segment
call
address
called
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
JP20287A
Other languages
English (en)
Inventor
Koichiro Yabu
藪 幸一郎
Hiroaki Anada
穴田 博章
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.)
Toshiba Corp
Toshiba Telecommunication System Engineering Corp
Original Assignee
Toshiba Corp
Toshiba Telecommunication System Engineering 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 Toshiba Corp, Toshiba Telecommunication System Engineering Corp filed Critical Toshiba Corp
Priority to JP20287A priority Critical patent/JPS63168725A/ja
Publication of JPS63168725A publication Critical patent/JPS63168725A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的コ (産業上の利用分野) 本発明は、例えば電子機器の制御用として使用されるマ
イクロコンピュータのプログラム呼出方式の改良に関す
る。
(従来の技術) 近年、電子機器等の種々装置の制御用としてマイクロコ
ンピュータが多く使用されているが、このマイクロコン
ピュータのメモリをアドレッシングする方式としてセグ
メント方式が知られている。セグメント方式とは、マイ
クロプロセッサが管理するメモリの全記憶領域を容量の
等しい複数のセグメントに分割してアクセスするもので
、例えば電子構内交換機の制御装置のように極めて大き
なサイズのプログラムを必要とする装置で特に多く採用
されている。
ところで、この種の方式を採用したマイクロコンピュー
タでは、複数のプログラムが各セグメントに分散配置さ
れることになるが、これらのプログラム相互間の呼出し
を従来より例えば次のように行なっている。すなわち、
いま仮に第6図に示す如くプログラムP1およびプログ
ラムP2がそれぞれセグメントS1およびセグメントS
2に記憶されているとすると、例えばプログラムP1か
らプログラムP2を呼出す場合には、プログラムP1は
第7図に示すように先ずステップ7aでマイクロプロセ
ッサ内のレジスタに呼出先のプログラムP2が記憶され
たセグメントS2のセグメント番号(S2)をセットす
る。そして、ステップ7bでプログラムP2の先頭アド
レスをコールする。これによりプログラムP2が呼出さ
れ、以後このプログラムP2が実行される。そうしてプ
ログラムP2の実行が終了すると、プログラムP2はス
テップ7Cで復帰先プログラムP1が記憶されているセ
グメントの番号(Sl)をレジスタにセットし、しかる
のちステップ7dでプログラムP1の戻りアドレスへリ
ターンする。尚、この戻りアドレスはプログラムP1が
先にプログラムP2をコールした際にマイクロプロセッ
サのスタックエリアに格納されており、上記リターンは
このスタックエリアから戻りアドレスを取出すことによ
り行なう。
ところが、このような従来のプログラム呼出方式は、異
なるセグメント間で呼出プログラムが被呼出プログラム
の先頭アドレスを直接コールすることにより呼出すよう
にしているため、例えば被呼出プログラムが記憶されて
いるセグメントでプログラムリンケージの取り直しが行
なわれ、これにより被呼出プログラムの先頭アドレスが
変化した場合に、それに合わせて呼出プログラムに記憶
されている被呼出プログラムの先頭アドレスも変更しな
ければならない。通常、プログラムリンケージの取直し
に伴う被呼出プログラムの先頭アドレスの変更箇所の数
は多く、このため上記呼出プログラムの先頭アドレスを
変更するには多くの時間と手間を要し変更操作のミスを
起こし易かった。
また、上記先頭アドレスの変更を計II機を使用して行
なう手法もあるが、この種の手法は変更を必要としない
先頭アドレスも含めて全ての先頭アドレスを変更するも
のであるため、変更作業に長い時間がかかる欠点があっ
た。
(発明が解決しようとする問題点) 以上のように従来の方式は、呼出プログラムから被呼出
プログラムの先頭アドレスを直接コールするものである
ため、被呼出プログラムの先頭アドレスが変更になった
場合の変更操作性が悪く、また変更に多くの時間を要す
るという問題点を有するもので、本発明はこの点に着目
し、呼出プログラム内のアドレス変更を不要としてアド
レスの変更箇所数を大幅に低減し、これにより変更操作
を簡単かつ短時間で行ない得るプログラム呼出方式を提
供しようとするものである。
[発明の構成] 〈問題点を解決するための手段) 本発明は、第1図に示す如く、被呼出プログラムが記憶
されたセグメントの任意の位置に、セグメント内に記憶
されている被呼出プログラムの実アドレスおよびこの実
アドレスへのジャンプ命令を被呼出プログラム毎に記憶
した第1の呼出テーブル1oOを配置するとともに、各
セグメントのうち任意のセグメントに、被呼出プログラ
ムが記憶されているセグメントの識別情報および上記第
1の呼出テーブル100ヘジヤンプするための相対アド
レス情報を全ての被呼出プログラムについてそれぞれ記
憶した第2の呼出テーブル200を配置し、かつ各セグ
メントのうち任意のセグメントに中継プログラム300
を配置して、呼出プログラムから被呼出プログラムの呼
出要求が発生したとき、この中継プログラム300によ
り上記第2の呼出テーブル200および第1の呼出テー
ブル100の内容に従って被呼出プログラムを呼出すよ
うにしたものである。
(作用) この結果、被呼出プログラムの先頭アドレスを記憶する
場所は、この被呼出プログラムが記憶されているセグメ
ントに配置された第1の呼出テ−プルのみとなり、この
ため被呼出プログラムの先頭アドレスが変更になった場
合にはこの第1の呼出テーブルに記憶されている該当ア
ドレスを変更すればよいことになる。したがって、被呼
出プログラムの先頭アドレスの変更に伴って呼出プログ
ラムに記憶されている被呼出プログラムの先頭アドレス
を一つずつ探して変更する必要はなくなり、その分変更
操作が大幅に簡単化され、また変更に要する時間も短縮
される。
(実施例) 第2図は、本発明の一実施例におけるプログラム呼出方
式を適用したメモリの構成を示すものである。このメモ
リは、それぞれがアドレス0〜mからなる3つのセグメ
ントSO〜セグメントS2により構成されている。これ
らのセグメントS○〜S2のうちプログラムが記憶され
たセグメント81.82の先頭部には、それぞれ第1の
呼出テーブルとしてのテーブルT1.テーブルT2が配
置しである。これらのテーブルT1.T2は、それぞれ
同一セグメント内に記憶されているプログラムの先頭ア
ドレス(実アドレス)とこの先頭アドレスへのジャンプ
命令とを各プログラム毎に記憶したもので、例えばテー
ブルT2は第3図<b)のように構成される。またプロ
グラムが記憶されていないセグメントSOの後尾部には
、第2の呼出テーブルとしてのテーブルToが配置され
ている。このテーブルToは、セグメントS1゜S2に
記憶されている各プログラム毎に、その記憶セグメント
番号と上記テーブルT1.T2内の対応するアドレスを
表わす相対アドレスとを記憶したものである。第3図(
a)にその構成の一例を示す。さらにセグメントSOの
先頭部には固定的に中継プログラムが配置しである。こ
の中継プログラムは任意のプログラムから他のプログラ
ムに対する呼出要求があったとき、つまりコール命令が
実行されたとき、テーブルToから被呼出プログラムの
セグメント番号および相対アドレスを読み出してテープ
11丁10丁2にジャンプし、このテーブルT1.T2
のジャンプ命令を実行させることにより目的の被呼出プ
ログラムを呼出すものである。
このような構成であるから、いま仮にプログラムPIO
の実行中にプログラムP22を呼出すためのコール命令
が実行されたとすると、このときマイクロプロセッサは
例えば第5図に示す如く先ずステップ5aで被呼出プロ
グラムの固有番号Q+1をパラメータとしてプロセッサ
内のレジスタにセットし、ステップ5bで中継プログラ
ムをコールする。尚、このときマイクロプロセッサは、
上記呼出プログラムの戻りセグメント番号S1と先頭ア
ドレス2とをスタックエリアに格納する。そうして中継
プログラムに移行するとマイクロプロセッサは、先ずス
テップ5Cでレジスタからパラメータ(C++1)を認
識し、ステップ5dでテーブルToのアドレスo+1を
アクセスしてこのアドレスに第4図(a)に示す如く記
憶されているセグメント番号S2および相対アドレスI
AIを読出す。そして、ステップ5eに移行し、ここで
上記セグメントレジスタを82にセットしてこのセグメ
ントS2の相対アドレスIAIで指定されるアドレス、
つまりテーブルT2のアドレスIA1にジャンプする。
このテーブルT2のアドレスIA1には、第4図(b)
に示す如くいま呼出そうとしている被呼出プログラムP
21の実アドレスjとジャンプ命令が記憶しである。し
たがってマイクロプロセッサは、ステップ5Qでジャン
プ命令を取出すとともにステップ5hで実アドレスjを
取出し、ステップ51でこの実アドレスjヘジャンプす
る。かくしてプログラムP21が呼出され、以後マイク
ロプロセッサはこのプログラムP21を実行する。
尚、プログラムP21の実行を終了してプログラムP1
0に復帰する場合には、マイクロプロセッサはリターン
命令によりスタックエリアに格納されているセグメント
番@S1および先頭アドレスaをそれぞれ取出し、これ
により指定されるセグメントのアドレスへリターンする
このように本実施例の呼出方式は、テーブルを用いて間
接的にプログラムを呼出すようにしているため、各プロ
グラムの先頭アドレスを記憶する場所は各セグメント毎
に設けられたテーブルT1゜T2のみとなる。したがっ
て、任意のセグメントでプログラムリンケージの取直し
が行なわれ、これによりプログラムの先頭アドレスが変
化した場合には、対応するセグメントのテーブル内容の
みを変更すればよいことになるため、呼出プログラム内
の該当アドレスを一つ一つ見付けながら変更しなければ
ならなかった従来の呼出方式に比べて、変更作業は著し
く簡単となりまた変更ミスも大幅に低減される。また、
アドレス変更があったセグメントのテーブルのみ内容変
更を行なえばよいので、変更箇所を限定することができ
、これにより全てのアドレスを機械的に変更する方式に
比べて変更作業時間を短縮することができる。
尚1本発明は上記実施例に限定されるものではない。例
えば、上記実施例では第1の呼出テーブルとしてのテー
ブルT1.T2および第2の呼出テーブルとしてのテー
ブルTOをそれぞれセグメントの先頭部または後尾部に
配置したが、中間部に配置してもよく、要するにセグメ
ント内の配置位置は任意に設定することができる。その
他、第1および第2の各呼出テーブルの内容、中継プロ
グラムの手順や内容、セグメントの数等についても、本
発明の要旨を逸脱しない範囲で種々変形して実施できる
[発明の効果] 以上詳述したように本発明によれば、被呼出プログラム
が記憶されたセグメントの任意の位置に、セグメント内
に記憶されている被呼出プログラムの実アドレスおよび
この実アドレスへのジャンプ命令を被呼出プログラム毎
に記憶した第1の呼出テーブルを配置するとともに、各
セグメントのうち任意のセグメントに、被呼出プログラ
ムが記憶されているセグメントの識別情報および上記第
1の呼出テーブルヘジャンプするための相対アドレス情
報を全ての被呼出プログラムについてそれぞれ記憶した
第2の呼出テーブルを配置し、かつ各セグメントのうち
任意のセグメントに中継プログラムを配置して、呼出プ
ログラムから被呼出プログラムの呼出要求が発生したと
き、この中継プログラムにより上記第2の呼出テーブル
および第1の呼出テーブルの内容に従って被呼出プログ
ラムを呼出すようにしたことによって、呼出ブOグラム
内のアドレス変更を不要としてアドレスの変更箇所数を
大幅に低減することができ、これにより変更操作を簡単
かつ短時間で行ない得るプログラム呼出方式を提供する
ことができる。
【図面の簡単な説明】
第1図は本発明のプログラム呼出方式を示す機能ブロッ
ク図、第2図乃至第5図は本発明の一実施例におけるプ
ログラム呼出方式を説明するためのもので、第2図は同
方式を適用したメモリの構成を示す模式図、第3図は呼
出テーブルの記憶内容を示す模式図、第4図は第3図に
示した呼出100・・・第1の呼出テーブル、200・
・・第2の呼出テーブル、300・・・中継プログラム
、So。 81.82・・・セグメント、To・・・第20呼出テ
ーブルとしてのテーブル、TI、T2・・・第2の呼出
テーブルとしてのテーブル、P10〜P2n・・・プロ
グラム。 出願人代理人 弁理士 鈴江武彦 セグメントSOセグメントS1       セグメン
ト52(a) 第5図 セグ、tアト Sl           セグメント
S2第6図 第7図

Claims (1)

    【特許請求の範囲】
  1. プログラムが記憶されるメモリの記憶領域が複数のセグ
    メントに分割されたマイクロコンピュータにおいて、前
    記各セグメントのうち被呼出プログラムが記憶されたセ
    グメントの任意の位置に配置されセグメント内に記憶さ
    れた被呼出プログラムの実アドレスおよびこの実アドレ
    スへのジャンプ命令を被呼出プログラム毎に記憶した第
    1の呼出テーブルと、前記各セグメントのうち任意のセ
    グメントに配置され被呼出プログラムが記憶されている
    セグメントの識別情報および前記第1の呼出テーブルへ
    ジャンプするための相対アドレス情報を全ての被呼出プ
    ログラムについてそれぞれ記憶した第2の呼出テーブル
    と、前記各セグメントのうち任意のセグメントに配置さ
    れ呼出プログラムから被呼出プログラムの呼出要求が発
    生したとき前記第2の呼出テーブルおよび第1の呼出テ
    ーブルの内容にしたがって被呼出プログラムを呼出す中
    継プログラムとを具備したことを特徴とするプログラム
    呼出方式。
JP20287A 1987-01-06 1987-01-06 プログラム呼出方式 Pending JPS63168725A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20287A JPS63168725A (ja) 1987-01-06 1987-01-06 プログラム呼出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20287A JPS63168725A (ja) 1987-01-06 1987-01-06 プログラム呼出方式

Publications (1)

Publication Number Publication Date
JPS63168725A true JPS63168725A (ja) 1988-07-12

Family

ID=11467393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20287A Pending JPS63168725A (ja) 1987-01-06 1987-01-06 プログラム呼出方式

Country Status (1)

Country Link
JP (1) JPS63168725A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02137029A (ja) * 1988-11-18 1990-05-25 Fujitsu Ltd プログラム制御方式
JP2014010661A (ja) * 2012-06-29 2014-01-20 Fujitsu Ltd 分岐アドレス管理プログラム、方法、及び装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02137029A (ja) * 1988-11-18 1990-05-25 Fujitsu Ltd プログラム制御方式
JP2014010661A (ja) * 2012-06-29 2014-01-20 Fujitsu Ltd 分岐アドレス管理プログラム、方法、及び装置
US9417872B2 (en) 2012-06-29 2016-08-16 Fujitsu Limited Recording medium storing address management program, address management method, and apparatus

Similar Documents

Publication Publication Date Title
KR880012050A (ko) 펌웨어 스테이트장치
JPS63168725A (ja) プログラム呼出方式
JPS62182822A (ja) 自動運転方式
JPS60230253A (ja) データ処理方法および装置
JPH01131925A (ja) プログラムパッチ方式
JPH0731595B2 (ja) オンライン中におけるロードモジュール入替方式
JPH0221610B2 (ja)
JPS601657B2 (ja) アドレス変換方法
JPS61115155A (ja) 情報処理装置の制御方式
JPH02177794A (ja) データメモリ制御方式
JPS6151250A (ja) バンク制御方式
JPS6346453B2 (ja)
JPH01246635A (ja) タスク切替方式
JPS6046747B2 (ja) 初期プログラム読込方式
JPS5822765B2 (ja) 電子計算機システムにおけるプログラムロ−ド方式
JPS607826B2 (ja) コマンド呼出し処理方法
JPS59160395A (ja) システム構成化処理方法
JPH01297732A (ja) 割込制御方式
JPH0713761A (ja) マイクロコンピュータ
JPS60142426A (ja) アドレス情報メモリの制御方式
JPS61221852A (ja) プログラムロ−デイング方式
JPH0344328B2 (ja)
JPH07141222A (ja) サブルーチンの履歴をトレースするデータ処理装置
JPS60138609A (ja) シ−ケンス制御装置
JPS6386041A (ja) フアイル更新方法