JPH04330526A - リローケタブル・アセンブラ - Google Patents

リローケタブル・アセンブラ

Info

Publication number
JPH04330526A
JPH04330526A JP1045191A JP1045191A JPH04330526A JP H04330526 A JPH04330526 A JP H04330526A JP 1045191 A JP1045191 A JP 1045191A JP 1045191 A JP1045191 A JP 1045191A JP H04330526 A JPH04330526 A JP H04330526A
Authority
JP
Japan
Prior art keywords
branch instruction
file
branch
source program
segment
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
JP1045191A
Other languages
English (en)
Inventor
Keiichi Kurahashi
倉橋 啓一
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 IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP1045191A priority Critical patent/JPH04330526A/ja
Publication of JPH04330526A publication Critical patent/JPH04330526A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はリローケタブル・アセン
ブラに関する。
【0002】
【従来の技術】従来、リローケタブル・アセンブラの分
岐命令の処理方式においては、連続して記述された1セ
グメントの範囲内で分岐命令の情報をメモリに記憶し、
セグメントが終了あるいは、次のセグメントの開始時点
において、その情報を参照して最適化を行っている。こ
のため、セグメントが二つ以上に分割して記述されてい
る場合には、その分割して記述されているセグメント間
において、分岐する分岐命令の最適化処理ができないた
め、最長コードの分岐命令を生成している。
【0003】従来のリローケタブル・アセンブラについ
て、図4に示される最適化処理方式の一例の流れ図を参
照して説明する。
【0004】図4において、ステップ401において、
ソース・プログラム・ファイル41を読込む。この時、
行の解析結果が分岐命令である場合には、分岐命令の情
報を分岐命令情報テーブル44に設定し、メモリに記憶
する処理をセグメントの終了まで行い、ステップ402
のセグメントの終了判定に基づいて、次のステップ40
3の最適化処理において、一つのセグメント内の最適化
の処理が行われる。前記一連の処理をファイルの終了ま
で行った後、ステップ404のファイル終了判定に基づ
いて、ステップ405のオブジェクト処理において、最
適化により確定したアドレスとソース・プログラム・フ
ァイル41とを入力して機械語を生成する処理が行われ
、オブジェクト・モジュール・ファイル42が出力され
る。次いで、ファイルの終了か否かの判定が行われて、
ファイルが終了していれば終了となり、終了していなけ
れば、再度、ステップ405に戻る。なお、ステップ4
02および404において、それぞれ終了でない場合に
は、共に、ステップ401に戻る。
【0005】
【発明が解決しようとする課題】上述した従来のリロケ
ータブル・アセンブラの分岐命令の処理方式においては
、セグメントを二つ以上に分割して記述した場合には、
最適化処理を行うことができず、最長のコードとなって
しまうため、リローケタブル・アセンブラを使用したア
センブラの開発において、コードが徒らに増加してしま
うという欠点がある。
【0006】特に、ROM制限の厳しい前記アセンブラ
の開発を行う際には、分岐命令の最適なコードを選択す
ることができないため、設計者は、ソース・プログラム
・ファイルの記述方法についての工夫が必要とされると
いう欠点がある。
【0007】
【課題を解決するための手段】第1の発明のリローケタ
ブル・アセンブラは、分岐先のアドレスの大小により、
同一記述形式の分岐命令を記述したソース・プログラム
・ファイルを入力して、前記分岐命令を最小のオブジェ
クトに対応させて、オブジェクト・モジュール・ファイ
ルを出力するリロケータブル・アセンブラにおいて、分
岐命令がソース・プログラム・ファイルに出現するごと
に、分岐命令の情報をメモリに格納し、前記情報をオブ
ジェクトの1管理単位(以下、セグメントと云う)ごと
にチェインする処理をソース・プログラム・ファイルの
最後まで行う第1の手段と、前記セグメントごとに分岐
命令の情報を参照して最適化処理を行い、確定された分
岐命令の情報を、分岐命令確定テーブルとして格納する
第2の手段と、前記分岐命令確定テーブルを参照して、
オブジェクト生成処理を行う第3の手段と、を備えて、
同一のソース・プログラム・ファイル内において分割し
て記述されている同名のセグメントの範囲内において、
分岐命令の最適化処理方式を実現することを特徴として
いる。
【0008】
【実施例】次に、本発明について図面を参照して説明す
る。図1は本発明の第1の実施例おける最適化処理方式
の流れ図である。また、図2は、本実施例における分岐
命令情報テーブルの一例を示すブロック図である。
【0009】以下において、本実施例のリローケタブル
・アセンブラの分岐命令の処理方式において、最適化が
行われた場合の全体の処理の流れについて説明する。 (1) 図1において、ステップ101のソース解析処
理において、ソース・プログラム11が読込まれる。こ
の時に、行の解析結果が分岐命令である場合には、分岐
命令の情報を分岐命令情報テーブル14に設定し、図2
に見られるように、セグメントごとにメモリに記憶する
処理が行われる。
【0010】例えば、図2に示されるように、セグメン
ト・テーブル21に含まれるセグメント名A21−1の
分岐命令情報テーブル22−1は、チェイン・ポインタ
201によりチェインし、セグメントが分割された場合
、二つめのセグメント名A21−3は、チェイン・ポイ
ンタ202によりチェインすることなく、一つめのセグ
メント名A21−1の最後のチェイン・ポインタ201
とチェインする。前記処理は、図1におけるソース・プ
ログラム・ファイル11の終了まで継続して行われる。 (2) 次に、ステップ103の最適化処理において、
セグメントごとに分岐命令テーブル14より最適な分岐
命令が選択され確定されて、その情報は、分岐命令確定
テーブル15としてメモリに格納される。 (3) 最後において、ステップ104のオブジェクト
生成処理により、分岐命令確定テーブル15より確定さ
れた分岐命令がオブジェクト・モジュール・ファイル1
2に出力される。
【0011】以上の処理によって、分割されたセグメン
ト内の分岐命令の最適化が、セグメントごとに分岐命令
の情報を登録し、且つ参照することにより可能となる。
【0012】次に、本発明の第2の実施例について説明
する。図3は、第2の実施例における最適化処理方式を
示す流れ図である。
【0013】図3において、ステップ301の分岐命令
に対応して、ステップ302においては、分岐先および
分岐先のセグメントの状態により分岐可能な条件である
か否かが判定され、分岐可能な条件である場合には、ス
テップ303において分岐命令の相対値が算出される。 次いで、ステップ304において、この算出された相対
値が最適化可能な範囲内にあるか否かが判定され、範囲
内にある場合にはステップ305に進み、2バイト分の
分岐命令が選択される。また、分岐可能な条件でない場
合、または、算出された相対値が最適化可能な範囲内に
ない場合には、ステップ306において、3バイト分の
分岐命令が選択される。
【0014】
【発明の効果】以上説明したように、本発明による分岐
命令の処理方式においては、同一ソース・プログラム・
ファイル内で分割された同名セグメントの範囲に亘って
、分岐命令の最適化が可能であるという効果がある。
【0015】特に、同名セグメントを多く使用してプロ
グラムを作成した場合には、分岐命令のコード数が最適
なものになるという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例における最適化処理方式
の一例を示す流れ図である。
【図2】前記第1の実施例おける分岐命令情報テーブル
の一例を示すブロック図である。
【図3】本発明の第2の実施例における最適化処理方式
の一例を示す流れ図である。
【図4】従来例における最適化処理方式の一例を示す流
れ図である。
【符号の説明】
11,41    ソース・プログラム・ファイル12
,42    オブジェクト・モジュール・ファイル1
3,43    ユーザ・シンポル・テーブル14,4
4    分岐命令情報テープル15    分岐命令
確定ファイル 21    セグメント・テーブル 21−1,21−3    セグメント名A21−2 
   セグメント名B 22−1〜22−3    分岐命令情報テープル10
1,401    ソース解析処理102,105,4
04,406    ファイルの終了判別処理 103,403    最適化処理 104,405    オブジェクト生成処理201,
202    チェインポインタ301    分岐命
令処理

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  分岐先のアドレスの大小により、同一
    記述形式の分岐命令を記述したソース・プログラム・フ
    ァイルを入力して、前記分岐命令を最小のオブジェクト
    に対応させて、オブジェクト・モジュール・ファイルを
    出力するリロケータブル・アセンブラにおいて、分岐命
    令がソース・プログラム・ファイルに出現するごとに、
    分岐命令の情報をメモリに格納し、前記情報をオブジェ
    クトの1管理単位(以下、セグメントと云う)ごとにチ
    ェインする処理をソース・プログラム・ファイルの最後
    まで行う第1の手段と、前記セグメントごとに分岐命令
    の情報を参照して最適化処理を行い、確定された分岐命
    令の情報を、分岐命令確定テーブルとして格納する第2
    の手段と、前記分岐命令確定テーブルを参照して、オブ
    ジェクト生成処理を行う第3の手段と、を備えて、同一
    のソース・プログラム・ファイル内において分割して記
    述されている同名のセグメントの範囲内において、分岐
    命令の最適化処理方式を実現することを特徴とするリロ
    ーケタブル・アセンブラ。
JP1045191A 1991-01-31 1991-01-31 リローケタブル・アセンブラ Pending JPH04330526A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1045191A JPH04330526A (ja) 1991-01-31 1991-01-31 リローケタブル・アセンブラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1045191A JPH04330526A (ja) 1991-01-31 1991-01-31 リローケタブル・アセンブラ

Publications (1)

Publication Number Publication Date
JPH04330526A true JPH04330526A (ja) 1992-11-18

Family

ID=11750509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1045191A Pending JPH04330526A (ja) 1991-01-31 1991-01-31 リローケタブル・アセンブラ

Country Status (1)

Country Link
JP (1) JPH04330526A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08227363A (ja) * 1995-02-21 1996-09-03 Nec Corp 分岐命令処理方法
JPH08241196A (ja) * 1995-03-05 1996-09-17 Nec Corp 分岐命令処理方式

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62205431A (ja) * 1986-03-05 1987-09-10 Nec Corp 分岐命令処理方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62205431A (ja) * 1986-03-05 1987-09-10 Nec Corp 分岐命令処理方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08227363A (ja) * 1995-02-21 1996-09-03 Nec Corp 分岐命令処理方法
JPH08241196A (ja) * 1995-03-05 1996-09-17 Nec Corp 分岐命令処理方式

Similar Documents

Publication Publication Date Title
US5964861A (en) Method for writing a program to control processors using any instructions selected from original instructions and defining the instructions used as a new instruction set
US5721924A (en) Method and device for obtaining a value of a referred to variable defined in a source program having a specific variable name
JPH04330526A (ja) リローケタブル・アセンブラ
KR100428015B1 (ko) 빌딩 제어 시스템의 텍스트 파일 임포트 방법
JPH05174167A (ja) データフロープログラムの実行制御方法
JPH086797A (ja) 定数参照最適化処理装置
JPH01270137A (ja) コンパイル変数引継方式
JPH03282841A (ja) 可変長レコードの直接入出力処理方式
JP2000347878A (ja) メモリ削減方法および装置
CN116382677A (zh) 一种用于前端的条件渲染装置及方法
JPH0588908A (ja) クロスコンパイラのオブジエクト出力方式
JPH07175690A (ja) 収集データ出力システム
JPH05100866A (ja) コンパイル・リンク方式
JPH0588866A (ja) ソースコード自動生成装置
JPH08101771A (ja) ソースプログラムの汎用チェックシステム
JPH0498322A (ja) コンパイラの作成方法
JPH0512032A (ja) アセンブラ作成装置
JPH04152486A (ja) データフローグラフ展開方式
JPH0495139A (ja) 言語処理プログラムのクロスリファレンス出力方式
JPH06230951A (ja) プログラム開発支援装置
JPH0895763A (ja) オリジナルプログラムへの部品プログラム取り込み方法
JPH04160433A (ja) 情報編集方式
JPH05204703A (ja) アセンブリ命令表示方式
JPH09237190A (ja) インライン展開方法
JPH07160512A (ja) コンパイル方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970909