JPS6247748A - アセンブル装置 - Google Patents

アセンブル装置

Info

Publication number
JPS6247748A
JPS6247748A JP18762285A JP18762285A JPS6247748A JP S6247748 A JPS6247748 A JP S6247748A JP 18762285 A JP18762285 A JP 18762285A JP 18762285 A JP18762285 A JP 18762285A JP S6247748 A JPS6247748 A JP S6247748A
Authority
JP
Japan
Prior art keywords
program
instructions
instruction
cpu
label
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
JP18762285A
Other languages
English (en)
Other versions
JPH0792754B2 (ja
Inventor
Toshiro Takada
高田 淑朗
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP60187622A priority Critical patent/JPH0792754B2/ja
Publication of JPS6247748A publication Critical patent/JPS6247748A/ja
Publication of JPH0792754B2 publication Critical patent/JPH0792754B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、マイクロコンピュータで構成され、アセンブ
ラ言語で書かれた原始プログラムを機械語に変換して目
的プログラムを作成するアセンブル装置に関するもので
ある。
(従来の技術) 従来、このような分野の技術としては、例えば第2図の
ようなものがあった。以下、その構成を図を用いて説明
する。
第2図は従来のアセンブル装置の一構成例を示すブロッ
ク図である。このアセンブル装置はワンチップ等のマイ
クロコンピュータで構成され、入力装置1、中央処理装
置2、メモリ装置(図示せず)、及び出力装置3を備え
ている。中央処理装置(以下、CPUという)2は、制
御部、演算部及びレジスタ部で4I成される。メモリ装
置は、読出し専用メモリ(ROM)、読み書き可能なメ
モリ(RAM)等で構成され、 CPU2外、あるいは
CPU2内に設けられるもので、第2図ではCPU2内
に設けられている。メモリ装置には、ラベル処理プログ
ラム(PASS) 4及びコード生成プログラム(PA
SS) 5が格納されている。
次に、第3図のプログラム例を参照しつつ動作を説明す
る。
なお、第3図において、アセンブラ言語のラベル欄は、
命令のアドレスを示すもので、他の命令からその命令を
参照するときの記号アドレスとして使われる。二−モニ
ックコード欄は、実行する命令を記号で記述した欄で、
命令の内容が書かれた命令欄と、その命、令が参照する
アドレスやデータ等が書かれたオペランド欄とで構成さ
れている。このようなアセンブラ言語は、それに1対l
で対応する機械語にアセンブル装置で翻釈される。
先ず、CPU2はラベル処理プログラム4に従って原始
プログラムを入力装置1から入力し、そ原始プログラム
中に記述されているラベルをロケーション(記憶場所)
の記号アドレスに変換する・CPU2はコード生成プロ
グラム5に従って、原始プログラム中に記述されている
二−モニックコードを機械コードに変換すると共に、ラ
ベルをオペランドに有する二一モニックの場合には、さ
らに前記機械コードにロケーションの記号アドレスを付
加して機械語を作成し、目的プログラムを出力装置3か
ら出力する。
(発明が解決しようとする問題点) しかしながら、上記構成のアセンブル装置では、アセン
ブラ言語の二−モックコードで記述された原始プログラ
ム、例えば、“’LI A、to”をその二一モニツタ
に対応する機械語“Ll、0”に置換するために、前記
機械語と等価な機能を有するより短語長の機械語“CL
A”がマイクロコンピュータに用意されていても、この
短語長の機械語°“GLA”に前記機械語“LI、0”
を置換する機能を有していないため、目的プログラムの
容量が冗長になるという問題点があった。
本発明は、前記従来技術が持っていた問題点として、目
的プログラムの容量が冗長になるという点について解決
したアセンブル装置を提供するものである。
(問題点を解決するための手段) 本発明は、前記問題点を解決するために、マイクロコン
ピュータで構成されるアセンブル装置において、目的プ
ログラムを検索してその目的プログラム中に使用されて
いる命令の使用頻度を計数する検索プログラムと、前記
命令の使用頻度を記憶する度数テーブルと、この度テー
ブルに記憶させた命令を読出してその命令を使用頻度の
高い順に1バイトの実行命令に置換する置換プログラム
とを、メモリ装置に格納したものである。
(作 用) 本発明によれば、以上のようにアセンブル装置を構成し
たので、マイクロコンピュータ中のCPUは、検索プロ
グラムを実行して生成された第1の目的プログラムを検
索し、その検索結果を度数テーブルによって記憶する。
さらに、CPUは置換プログラムに従って、記憶されて
いる検索結果を読出し、それを使用頻度(すなわち、参
照頻度)の多い命令の順に、前記第1の目的プログラム
を1バイトの実行命令に置換する。これによって目的プ
ログラムの有する機能を損うことなく、プログラム容量
の短小が行えるのである。したがって、前記問題点を除
去できるのである。
(実施例) 第1図は本発明の実施例を有するアセンブル装置のブロ
ック図である。このアセンブル装置は、従来と同様にワ
ンチップ等のマイクロコンピユー′りで構成され、入力
装置11、CPU 12、出力装置13、およびCPU
2外あるいは内に設けられたメモリ装置(図示せず)を
備えている。
メモリ装置内には、ラベル処理プログラム(PASS)
14、コード生成プログラム(PASS)15、検索プ
ログラム(SEARIII:H)1B、置換プログラム
(01(ANGE) 17、補正プログラム(RECT
)18、命令作成プログラム(EGEN)113、ラベ
ルテーブルおよび度数テーブル(ITBL)21が格納
されている。
ここで、ラベル処理プログラム14は原始プログラム中
のラベルをロケーションの符号アドレスに変換し、コー
ド生成プログラム15は原始プログラム中の二一モニツ
クコードを機械コードに変換して第1の目的プログラム
等を作成する機能を有している。
検索プログラム16は第1の目的プログラムを検索し、
置換プログラム17は第1の目的プログラムを1バイト
の実行命令(エクセキュート命令、Execute命令
)に置換する機能を有している。
なお、1バイトの実行命令とは、1バイトのJM長を有
し、その命令が何らかの方法で示す番地から、おかれて
いる命令と等価な機能を有する命令をいう。例えば、0
番地を示す1バイトの実行命令をEXOとし、0番から
加算命令が置かれているとする。ここで、加算命令の語
長は2バイトであるとする。そして、EXO命令を実行
すると、加算命令を実行した場合と等しい結果を得る。
つまり、加算が行われるのである。
さらに、第1[の補正プログラムI8は置換プログラム
I7による置換結果に基づいてシンボルテーブルを補正
し、命令作成プログラム19は1バイトの実行命令の対
象となる命令、すなわち第2の目的プログラムを作成す
る機能を有している。ラベルテーブル20はラベルとロ
ケーションの符号アドレスとを格納し、度数テーブル2
1は検索プログラム18による検索結果を格納する機能
を有している。なお、テーブルとは、−・連のデータを
1つのラベルで表し、互いのデータがその相対的位置か
ら、一義的に識別できるデータの集まりをいう。
以上のように構成されるアセンブラ装置の動作を、第4
図を参照しつつ説明する。なお、第4図はCUP2の内
部で実行される各プログラムの実行順序を示すフローチ
ャートである。
先ず、CPU12はラベル処理プログラムエ4に従って
原始プログラムを入力装M11から入力し、ラベルテー
ブル20を作成する(ステップ1oo)。ラベルテーブ
ル20には、ラベル名とそのラベルの示すプログラムの
ロケーションとが対になって登録される。次いで、CP
U12は、コード生成プログラム15を実行して原始プ
ログラム中の二一モニックコードを機械コードに変換し
、第1の目的プログラムを作成する(ステップ1o1)
。この際、原始プログラムの二一モニツクコードがラベ
ルを含むオペランドを有するならば、CPU 12は前
記ラベル名をキーとしてラベルテーブル2oを検索する
ことにより、プログラムにおけるロケーションの符号ア
ドレスに変換し、オペランドの示すロケーションを求め
てそれを機械コードに付加する。
次に、CPU 12は、検索プログラム16を実行して
第1の目的プログラムを検索し、命令の使用頻度を命令
毎に計数して度数テーブル21に格納する(ステップ1
02)。
さらに、CPU12は、置換プログラム17を実行し、
度数テーブル21を参照しながら使用頻度の高い命令の
順に第1の目的プログラムを1バイトの実行命令に置換
する(ステップ1o3)。
例えば、今、4種類の1バイトの実行命令を持つマイク
ロコンピュータを考える。ここで、4種類の1バイト命
令をそれぞれEXO、EXI 、EX2およびEX3 
ト呼び、さらニEXOは0番地、EXIは2番地、EX
2は4番地、EX3は6番地から置かれている命令と等
価な機能を有するものとする。また、第1の目的プログ
ラムにおいて、2バイトの命令コードを持つ命令がIO
,II、I2.13の順に使用頻度が高く、それぞれの
使用数(すなわち、参照数)が15.14,10.8だ
ったとする。すると、CPU12は、置換プログラム1
7を実行し、第1の目的プログラムの中の全ての2バイ
ト命令■0〜■3を1バイト命令EXO−EX3にそれ
ぞれ置換する。ここにおいて、2バイト命令が1バイト
命令に置換されたことになる。そのため、15,14.
10および8バイトの合計47バイトだけ、第1の目的
プログラムの容量が縮小される。
第1のプログラムの縮小にともなってラベルの持つロケ
ーションはその符号アドレスの小さい方向へ変動する。
そこでCPU12は補正プログラム18を実行し、ラベ
ルテーブル2oを補正する(ステップ104)。さらに
、CPU12は、再度コード生成プログラム15を実行
し、第2の目的プログラムを生成する(ステップ105
)。
最後に、CPU12は、命令作成プログラム19を実行
し、1バイトの実行命令の対象となる命令をマイクロコ
ンピュータに固有の領域に作成する(ステップ1o6)
。すなわち、0番地に工0を、2番地に11を、4番地
に■2を、6番地にI3を作成し、第2の目的プログラ
ムに付加する。その第2の目的プログラムは、CPU 
12により、出力装置13から出力される。
而して、本実施例によれば、第1の目的プログラムに含
まれる2バイトの語長を持つ命令を使用頻度の高いもの
から順に、1バイトの語長の実行命令に置換するように
したので、目的プログラムの機能を損うことなく、目的
プログラムの容量を大巾に減少することができる。従っ
て、特にプログラム容量に制約のあるワンチップマイク
ロコンピュータのためのプログラムの開発装置に使用す
ると、従来プログラム容量が大きすぎて実現できなかっ
たプログラムを、ワンチップマイクロコンピュータの中
に記憶させることが可能となり、ワンチップマイクロコ
ンピュータの機能の向上が期待できる。
なお、上記実施例では、第1のプログラムが2バイト命
令の場合について説明したが、これは3バイト以上の命
令であってもよい。
(発明の効果) 以上詳細に説明したように、本発明によれば、目的プロ
グラムに含まれる複数バイトの語長を持つ命令を使用頻
度の高いものから1バイトの語長の実行命令に置換する
ようにしたので、目的プログラムの機能を損うことなく
、その目的プログラムの容量を的確に減少できる。
【図面の簡単な説明】
第1図は本発明の実施例を示すアセンブル装置の構成ブ
ロック図、第2図は従来のアセンブル装置の構成ブロッ
ク図、第3図は第2図の装置のプログラム図、第4図は
第1図の装置の動作を示すフローチャートである。 11・・・・・・入力装置、12・・・・・・CPU、
13・・・・・・出力装置、工4・・・・・・ラベル処
理プログラム、15・・・・・・コード生成プログラム
、1B・・・・・・検索プログラム、17・・・・・・
置換プログラム、21・・・・・・度数テーブル。 出願人代理人   種  本  恭  成木発明のアを
ンブル装置 鬼1図 琵2図のプログラム 漉3図 党4図

Claims (1)

  1. 【特許請求の範囲】 中央処理装置、メモリ装置及び入出力装置を有するマイ
    クロコンピュータで構成され、アセンブラ言語で書かれ
    た原始プロラムを機械語に変換して目的プログラムを作
    成するアセンブル装置において、 前記目的プログラムを検索し、その目的プログラム中に
    使用されている命令の使用頻度を計数する検索プログラ
    ムと、 前記命令の使用頻度を記憶する度数テーブルと、 この度数テーブルに記憶された命令を読出してその命令
    を使用頻度の高い順に1バイトの実行命令に置換する置
    換プログラムとを、 前記メモリ装置に格納したことを特徴とするアセンブル
    装置。
JP60187622A 1985-08-27 1985-08-27 アセンブル装置 Expired - Lifetime JPH0792754B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60187622A JPH0792754B2 (ja) 1985-08-27 1985-08-27 アセンブル装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60187622A JPH0792754B2 (ja) 1985-08-27 1985-08-27 アセンブル装置

Publications (2)

Publication Number Publication Date
JPS6247748A true JPS6247748A (ja) 1987-03-02
JPH0792754B2 JPH0792754B2 (ja) 1995-10-09

Family

ID=16209328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60187622A Expired - Lifetime JPH0792754B2 (ja) 1985-08-27 1985-08-27 アセンブル装置

Country Status (1)

Country Link
JP (1) JPH0792754B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0450548U (ja) * 1990-09-06 1992-04-28
JPH079934A (ja) * 1993-06-10 1995-01-13 Trw Vehicle Safety Syst Inc 乗物の搭乗者拘束装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5854449A (ja) * 1981-09-28 1983-03-31 Fujitsu Ltd 分岐命令短縮化処理方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5854449A (ja) * 1981-09-28 1983-03-31 Fujitsu Ltd 分岐命令短縮化処理方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0450548U (ja) * 1990-09-06 1992-04-28
JPH079934A (ja) * 1993-06-10 1995-01-13 Trw Vehicle Safety Syst Inc 乗物の搭乗者拘束装置

Also Published As

Publication number Publication date
JPH0792754B2 (ja) 1995-10-09

Similar Documents

Publication Publication Date Title
KR910010301A (ko) 명령 지정방법 및 실행장치
JPS6247748A (ja) アセンブル装置
US7103751B1 (en) Method and apparatus for representation of an address in canonical form
JPH06100970B2 (ja) 演算制御装置
JPH0341848B2 (ja)
JPS6129940A (ja) 演算装置
JPH0236419A (ja) ソースコードの自動翻訳実行方式
JPH0318214B2 (ja)
SU1062721A1 (ru) Устройство дл синтаксически-управл емого перевода
JP2684995B2 (ja) 命令デコーダ回路
JPS5856148A (ja) プログラム修正処理方式
JPH02278339A (ja) ロボットプログラム翻訳装置及びロボツト制御装置
JPH1124958A (ja) トレースデータ削減方式
JPH03204045A (ja) 書式データ入力方式
JPH06202874A (ja) マイクロコンピュータ開発支援装置
JPS63149734A (ja) 命令フェッチ制御装置
JPH0560616B2 (ja)
JPS61177526A (ja) キ−コ−ドの変換方法
JPS60243762A (ja) デ−タ入力方式
JPS59225449A (ja) 文番号変換方式
JPH032933A (ja) オブジェクトコード生成装置
JPS6217837A (ja) デ−タ処理システム
JPS5578357A (en) Program overrun detection unit
JPS6362053A (ja) ガ−ベジコレクシヨン処理方式
JPH0128966B2 (ja)

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term