JPH0475138A - プログラムサイズ圧縮装置 - Google Patents

プログラムサイズ圧縮装置

Info

Publication number
JPH0475138A
JPH0475138A JP19013890A JP19013890A JPH0475138A JP H0475138 A JPH0475138 A JP H0475138A JP 19013890 A JP19013890 A JP 19013890A JP 19013890 A JP19013890 A JP 19013890A JP H0475138 A JPH0475138 A JP H0475138A
Authority
JP
Japan
Prior art keywords
instruction
program
instructions
sequence
arrangement
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
JP19013890A
Other languages
English (en)
Inventor
Naomi Matsushita
直美 松下
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 JP19013890A priority Critical patent/JPH0475138A/ja
Publication of JPH0475138A publication Critical patent/JPH0475138A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明は、プログラム開発支援ツールの一つとして使用
され、作成されたプログラムのサイズを圧縮するプログ
ラムサイズ圧縮装置に関する。
[従来の技術] 従来から、プログラムサイズを圧縮する1つの手法とし
て、命令の並びを特定の領域(以下、特殊領域と呼ぶ)
に登録し、プログラム中の上記登録された命令の並びを
、その登録領域を指定する命令(以下、GETI命令と
呼ぶ)に置き換える手法が知られている。この手法では
、通常、特殊領域に登録可能な命令の並びと登録不可能
な命令の並びとが存在する。また、特殊領域には、サイ
ズの制限があるので、頻繁に使用する命令の並び及びG
ETI命令に置換することによる圧縮効果が高い命令の
並びを特殊領域に登録することにより、プログラム全体
のサイズをより効果的に圧縮することができる。
ところで、従来、このようなプログラム圧縮は、エディ
タを使用して、以下のような手順に従って行っていた。
■プログラムの中から、特殊領域に登録可能な命令の並
びを全て検索する。
■検索した命令の並びの中で、同じものを計数する。
■検索した命令の並びがGETI命令に置き換わること
によって減るサイズを計算する。
■上述した■、■の結果から、特殊領域に登録すること
によってプログラムサイズがより小さくなる命令の並び
を、特殊領域に登録可能な数だけ選出する。
■上述した■により選出した命令の並びをプログラム中
から検索し、GETI命令に置換する。
[発明が解決しようとする課題] しかしながら、上述した従来の方法では、計数、計算、
検索及び置換等の処理を行゛うためのエディタに対する
指定を全て手作業を行う必要がある。
このため、膨大なプログラムの中から特殊領域に登録す
る命令の並びを正確に抽出し、登録することが困難であ
るという問題点があった。
また、特殊領域に設定するデータ、即ち登録する命令の
並びの情報を作成する工程、及び登録する命令の並びを
GETI命令に変換する工程は、極めて工数がかかる作
業であり、これを手作業を行うこと自体不確実なもので
あるという問題点があった。
本発明はかかる問題点に鑑みてなされたものであって、
プログラムの圧縮作業を容易にし、確実で効率が良い圧
縮処理が可能なプログラムサイズ圧縮装置を提供するこ
とを目的とする。
[課題を解決するための手段] 本発明に係るプログラムサイズ圧縮装置は、プログラム
を入力しそのプログラムから登録可能な命令又はその並
びを検索する命令検索手段と、この命令検索手段で検出
された命令又はその並びのうち同じものを計数する計数
手段と、この計数手段での計数結果に基づいて前記検出
された命令又はその並びのうちから特定の命令又はその
並びを選出し特定の記憶領域に登録する登録手段と、前
記入力されたプログラムのうち前記登録された命令又は
その並びをその登録記憶領域を指定する命令に置き換え
る命令置き換え手段とを有することを特徴とする。
[作用コ 本発明よれば、サイズを圧縮すべきプログラムが入力さ
れると、先ず、命令検索手段が登録可能な命令又はその
並びを検索する。命令検索手段で命令又はその並びが検
出されると、計数手段は、そのうちの同じものを計数す
る。登録手段は、上記計数手段の計数結果から圧縮効果
が高い命令又はその並びを選出し、これを特定の記憶領
域に登録する。そして、命令置換手段によって、プログ
ラム中の登録された命令の並びが、その登録記憶領域を
指定する命令に置き換えられる。これにより、入力され
たプログラムの圧縮処理が行われる。
このように、本発明によれば、命令検索手段で検出され
た登録可能な命令又はその並びがら、より圧縮効率が高
い命令又はその並びのみを選出して特定の記憶領域に記
憶するようにしているので、確実で効率が良い圧縮処理
が可能であると共に、プログラムの圧縮作業を容易にす
ることができる。
[実施例コ 以下、添付の図面に基づいて本発明の実施例について説
明する。
第1図は本発明の実施例に係るプログラム・サイズ圧縮
装置の構成を示す機能ブロック図である。
例えば、75Xシリーズ・アセンブラ等により生成され
たアセンブル・リスト・ファイル1と、75Xシリーズ
・りン力等により生成されたリンク・マツプ・リスト・
ファイル2とは、プログラム・サイズ圧縮装置7に供給
されている。プログラム・サイズ圧縮装置7は、アセン
ブル・リスト・ファイル1に記述されたアセンブル・プ
ログラムのサイズを圧縮して、アセンブル書ソース・プ
ログラム・ファイル8を生成するものとなっている。
プログラム・サイズ圧縮装置7は、命令検索手段3、計
数手段4、GETI命令参照テーブル作成手段5及び命
令置き換え手段6によって構成されている。
命令検索手段3は、アセンブル・リスト・ファイル1か
ら、登録可能な命令又はその並び、即ちGETI命令に
変換可能な命令を検索する。計数手段4は、上記命令検
索手段3における検索過程で同一の命令又はその並びを
計数する。GET命令参照テーブル作成手段5は、計数
手段4での計数結果に基づいて、検索された命令又はそ
の並びのうち、GETI命令に置き換えることによって
、プログラム・サイズの圧縮効果が高いものを選出し、
GETI命令参照テーブルとして登録していく。命令置
き換え手段6は、リンク・マツプ・リスト・ファイル2
を使用して、アセンブル・リスト・ファイル1のうちの
、上記登録された命令の並びを、GET■命令参照テー
ブルを指定するGETI命令に置き換える。
次にこのように構成された本実施例に係るプログラム・
サイズ圧縮装置の動作について説明する。
第2図は、この装置を電子計算機で実現する場合の処理
フローを示す流れ図である。
先ず、アセンブル・リスト・ファイル1を入力しくS、
) 、GETI命令参照テーブルとして登録可能な命令
を検索する(S2)。もし、登録可能な命令があった場
合には(S3 ) 、その命令が今までに検出された回
数を計数する(S4)。ファイル1が全て入力されたら
、計数結果に基づいてGETI命令参照テーブルを作成
する(S5)。
例えば、第3図に示す例では、2バイト命令であるrM
OV  XA、#10HJが3回検出されることになる
が、この検出頻度が高い場合には、この2バイト命令を
、第4図に示すように、記憶領域中の××××番地にG
ETI命令参照テーブル10として登録する。
次に、ファイル1中の登録された命令の部分をGETI
命令に置き換える(S6)。ここで、GETI命令は、
ある特定の組合せの複数命令、特定の2バイト命令又は
3バイト命令を、GETI命令参照テーブル10を参照
することにより、実行させるための1バイト命令である
。したがって、例えば、上記の例では、第3図における
2バイト命令でL6rMOV  XA、#10HJ(7
)部分を、第4図に示すように、1バイト命令であるr
GET■ ××××」命令に置き換える。これにより、
2バイト×3命令=6バイトのプログラムを、1バイト
×3命令+2バイト=5バイトに圧縮することができる
圧縮されたプログラムは、アセンブルのソース・プログ
ラム・ファイル8として出力されるようになっている(
S7)。
以上のように、本実施例に係るプログラム・サイズ圧縮
装置によれば、ソース・プログラム中に同一の2バイト
命令がn個ある場合には、n−2バイト、また、同一の
3バイト命令がn個ある場合には、2n3バイトだけプ
ログラム容量を削減することができる。したがって、G
ET工命令参照テーブル作成手段5は、計数手段4にお
ける計数値nと、その命令のバイト数とに基づいて、プ
ログラム削減効果が高い命令又はその並びを優先的にG
ETI命令参照テーブル1oに登録する。
なお、以上の実施例では、入力プログラムとしてアセン
ブル・リストを対象としたが、ソース・プログラム等、
プログラムとして検索可能なものであれば、本発明の対
象となることはいうまでもない。
[発明の効果コ 以上述べたように、本発明によれば、入力されたプログ
ラムから登録可能な命令又はその並びが検出されると共
に、検出された命令又はその並びのうちの圧縮効果が高
いものが特定の記憶領域に登録され、もとのプログラム
については、上記登録された命令又はその並びの部分が
、登録記憶領域を指定する命令に置き換えられるので、
確実で効率が良い圧縮処理が可能になると共に、プログ
ラムの圧縮作業が容易になるという効果を奏する。
【図面の簡単な説明】
第1図は本発明の実施例に係るプログラムサイズ圧縮装
置のブロック図、第2図は同装置の動作を示す流れ図、
第3図は同装置による圧縮前のプログラムを示す模式図
、第4図は同装置による圧縮後のプログラムを示す模式
図である。 1;アセンブル・リスト・ファイル、2:リンク・マツ
プ・リスト・ファイル、3;命令検索手段、4;計数手
段、5;GETI命令参照テーブル作成手段、6:命令
置き換え手段、7;プログラム・サイズ圧縮装置、8;
アセンブル拳ソース・プログラム・ファイル、10;G
ETI命令参照テーブル

Claims (2)

    【特許請求の範囲】
  1. (1)プログラムを入力しそのプログラムから登録可能
    な命令又はその並びを検索する命令検索手段と、この命
    令検索手段で検出された命令又はその並びのうち同じも
    のを計数する計数手段と、この計数手段での計数結果に
    基づいて前記検出された命令又はその並びのうちから特
    定の命令又はその並びを選出し特定の記憶領域に登録す
    る登録手段と、前記入力されたプログラムのうち前記登
    録された命令又はその並びをその登録記憶領域を指定す
    る命令に置き換える命令置き換え手段とを有することを
    特徴とするプログラムサイズ圧縮装置。
  2. (2)前記登録手段は、前記検出された命令又はその並
    びのうち、それが前記登録記憶領域を指定する命令に置
    き換わることによって、プログラムのサイズがより小さ
    くなる命令又はその並びを選出して登録するものである
    ことを特徴とする請求項1に記載のプログラムサイズ圧
    縮装置。
JP19013890A 1990-07-18 1990-07-18 プログラムサイズ圧縮装置 Pending JPH0475138A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19013890A JPH0475138A (ja) 1990-07-18 1990-07-18 プログラムサイズ圧縮装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19013890A JPH0475138A (ja) 1990-07-18 1990-07-18 プログラムサイズ圧縮装置

Publications (1)

Publication Number Publication Date
JPH0475138A true JPH0475138A (ja) 1992-03-10

Family

ID=16253034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19013890A Pending JPH0475138A (ja) 1990-07-18 1990-07-18 プログラムサイズ圧縮装置

Country Status (1)

Country Link
JP (1) JPH0475138A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269052A (ja) * 2007-04-17 2008-11-06 Nec Electronics Corp 演算処理回路、半導体集積回路、及びプログラムの変換方法
JP2014056446A (ja) * 2012-09-12 2014-03-27 Hitachi Information & Telecommunication Engineering Ltd マイクロプロセッサ及びプログラムのコンパイル処理方法
CN104346133A (zh) * 2013-08-01 2015-02-11 晶心科技股份有限公司 压缩指令的方法及执行压缩指令的处理器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6459437A (en) * 1987-08-29 1989-03-07 Nec Corp File compressing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6459437A (en) * 1987-08-29 1989-03-07 Nec Corp File compressing system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269052A (ja) * 2007-04-17 2008-11-06 Nec Electronics Corp 演算処理回路、半導体集積回路、及びプログラムの変換方法
JP2014056446A (ja) * 2012-09-12 2014-03-27 Hitachi Information & Telecommunication Engineering Ltd マイクロプロセッサ及びプログラムのコンパイル処理方法
CN104346133A (zh) * 2013-08-01 2015-02-11 晶心科技股份有限公司 压缩指令的方法及执行压缩指令的处理器
JP2015038728A (ja) * 2013-08-01 2015-02-26 晶心科技股▲ふん▼有限公司Andes Technology Corporation 命令を圧縮する方法及び圧縮された命令を実行するプロセッサ
US9672041B2 (en) 2013-08-01 2017-06-06 Andes Technology Corporation Method for compressing variable-length instructions including PC-relative instructions and processor for executing compressed instructions using an instruction table

Similar Documents

Publication Publication Date Title
JPH01134624A (ja) プログラム内データ名称標準化方法
JPH0475138A (ja) プログラムサイズ圧縮装置
JPH0887417A (ja) コンパイラ装置
JPH05135102A (ja) 文書検索方式
JP2000181700A (ja) プログラム解析装置および記録媒体
JPH0423167A (ja) コマンド検索方式
JP2811804B2 (ja) 変数出力範囲指定方式
JPH07239861A (ja) 文書検索装置
JPH07175696A (ja) 要素区分処理装置
JPH0452967A (ja) 集合ファイルに対する論理積演算処理方式
JPH045736A (ja) 情報処理装置
JPH03154931A (ja) アルファベット順翻訳方式
JPH03137751A (ja) 通信制御処理装置
JPH05119958A (ja) Rom圧縮方式
JPS63148341A (ja) トランザクシヨン処理システムにおけるトレ−ス情報解析方式
JPH06208489A (ja) プログラム別レコード分割管理方式
JPH02139640A (ja) 調査情報出力方式
JPS62163145A (ja) コンパイラ装置
JPH0259965A (ja) 近似値検索範囲拡大方式
JPH02267633A (ja) 未定義のデータ名検出方式
JPH04273328A (ja) クロスリファレンスリスト生成方式
JP2000029750A (ja) メモリダンプファイル再構成方式
JPH03154932A (ja) アルファベット順翻訳方式
JPH03244050A (ja) ファイル情報収集方式
JPH02120950A (ja) メモリダンプファイルアクセスにおけるアドレス変換方式