JPH04282729A - プログラム変換装置 - Google Patents
プログラム変換装置Info
- Publication number
- JPH04282729A JPH04282729A JP4628491A JP4628491A JPH04282729A JP H04282729 A JPH04282729 A JP H04282729A JP 4628491 A JP4628491 A JP 4628491A JP 4628491 A JP4628491 A JP 4628491A JP H04282729 A JPH04282729 A JP H04282729A
- Authority
- JP
- Japan
- Prior art keywords
- program
- segment
- counter
- digital signal
- memory
- 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
Links
- 230000015654 memory Effects 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、言語処理プログラムに
関し、特に、アセンブラ言語で記述されたソース・プロ
グラムを、ディジタル信号処理プロセッサの機械語プロ
グラムに変換するプログラム変換装置に関する。
関し、特に、アセンブラ言語で記述されたソース・プロ
グラムを、ディジタル信号処理プロセッサの機械語プロ
グラムに変換するプログラム変換装置に関する。
【0002】
【従来の技術】まず、従来のプログラム変換装置を説明
する前に、ディジタル信号処理プロセッサの一般例につ
いて若干の説明を行う。
する前に、ディジタル信号処理プロセッサの一般例につ
いて若干の説明を行う。
【0003】図3に、ディジタル信号処理プロセッサの
1例の構成を示す。
1例の構成を示す。
【0004】ディジタル信号処理プロセッサの中では、
中央処理装置(以下、“CPU”と称す)内に、乗算器
と加算器を有することと、命令を格納する命令メモリの
他にデータを格納するデータメモリと、乗算器の入力デ
ータである係数を格納する係数メモリを有し、これらメ
モリはRAMの場合がある。
中央処理装置(以下、“CPU”と称す)内に、乗算器
と加算器を有することと、命令を格納する命令メモリの
他にデータを格納するデータメモリと、乗算器の入力デ
ータである係数を格納する係数メモリを有し、これらメ
モリはRAMの場合がある。
【0005】ディジタル信号処理装置のプログラムメモ
リや、係数メモリがRAMで構成されているのは、周辺
機器の状態等により、ディジタル信号処理装置内のプロ
グラムメモリ、及び係数メモリ等の内容を書き換える必
要があるからである。
リや、係数メモリがRAMで構成されているのは、周辺
機器の状態等により、ディジタル信号処理装置内のプロ
グラムメモリ、及び係数メモリ等の内容を書き換える必
要があるからである。
【0006】ディジタル信号処理装置内のメモリにデー
タを転送し、書換を指示するのは、制御装置が行う。
タを転送し、書換を指示するのは、制御装置が行う。
【0007】この為、ディジタル信号処理装置を制御す
る制御装置には、ディジタル信号処理装置のメモリに転
送されるデータが複数空間分格納される。
る制御装置には、ディジタル信号処理装置のメモリに転
送されるデータが複数空間分格納される。
【0008】また、命令メモリ,係数メモリ,データメ
モリはビット、独立しているため、各々独立したアドレ
スを持つ。
モリはビット、独立しているため、各々独立したアドレ
スを持つ。
【0009】図2は従来のプログラム変換装置の構成を
示すブロックアイアグラムである。
示すブロックアイアグラムである。
【0010】CPU101は、記憶装置102内の変換
プログラム203に指示に従って動作し、周辺装置とし
てスタートボタン109を制御する。
プログラム203に指示に従って動作し、周辺装置とし
てスタートボタン109を制御する。
【0011】以下CPU101の動作は、変換プログラ
ム102の指示によるものとする。
ム102の指示によるものとする。
【0012】CPU101は、記憶装置102内の被変
換プログラム104を1行ずつデータバス111を介し
て読み込み、機械語に変換されたデータを、記憶装置1
02内の機械語ファイルにデータバス111を介し、書
き込む。
換プログラム104を1行ずつデータバス111を介し
て読み込み、機械語に変換されたデータを、記憶装置1
02内の機械語ファイルにデータバス111を介し、書
き込む。
【0013】次にCPU101は、記憶装置102内の
アドレスカウンタ212を更新する。このとき、更新さ
れたアドレスカウンタ212の内容が、レンジ領域を満
たしていない場合、CPU101は、エラーである事を
示すデータを機械語ファイルに出力し、処理を終了する
。また、CPU101は、読み込んだ被変換プログラム
104の内容が、プログラムの終了を示す場合、処理を
終了する。
アドレスカウンタ212を更新する。このとき、更新さ
れたアドレスカウンタ212の内容が、レンジ領域を満
たしていない場合、CPU101は、エラーである事を
示すデータを機械語ファイルに出力し、処理を終了する
。また、CPU101は、読み込んだ被変換プログラム
104の内容が、プログラムの終了を示す場合、処理を
終了する。
【0014】従来のプログラム変換装置は、1空間メモ
リ分のアドレス範囲しか生成出来ないため、制御装置の
ソース・ファイルとして用いられる場合、同一のソース
ファイルとして使用されるのにも関わらず、空間の数だ
け変換処理を行わなければならない。
リ分のアドレス範囲しか生成出来ないため、制御装置の
ソース・ファイルとして用いられる場合、同一のソース
ファイルとして使用されるのにも関わらず、空間の数だ
け変換処理を行わなければならない。
【0015】
【発明が解決しようとする課題】以上のように、従来の
プログラム変換装置では、1つの被変換プログラムに記
述できる空間は1つで、プログラム変換装置が生成する
アドレスは、ターゲットとなるディジタル信号処理装置
内の1つのメモリと必ず1対1対応しなければならなか
った。
プログラム変換装置では、1つの被変換プログラムに記
述できる空間は1つで、プログラム変換装置が生成する
アドレスは、ターゲットとなるディジタル信号処理装置
内の1つのメモリと必ず1対1対応しなければならなか
った。
【0016】この為、関連する複数空間分のメモリに対
応するソースファイルの内容を1空間ずつ変換処理を行
い、生成した複数の機械語ファイルを、1つにまとめて
制御装置のソース・ファイルを作成するという処理を行
わなければならないという問題があった。
応するソースファイルの内容を1空間ずつ変換処理を行
い、生成した複数の機械語ファイルを、1つにまとめて
制御装置のソース・ファイルを作成するという処理を行
わなければならないという問題があった。
【0017】
【課題を解決するための手段】本発明のプログラム変換
装置は、中央処理装置と、該中央処理装置にデータを入
力するデータ入力手段と、前記中央処理装置に接続され
、前記中央処理装置が実行すべき第1のプログラムを記
憶する記憶手段と、前記中央処理装置に接続され、第2
のプログラムである被変換プログラムを記憶する記憶手
段と、前記中央処理装置に接続され、機械語で記述され
た第3のプログラムを記憶する記憶手段と、前記中央処
理装置に接続され、該第3のプログラムのアドレスを示
す第1のカウンタとを具備し、前記中央処理装置は、前
記第1のプログラムの指示により、前記第2のプログラ
ムを読み込み、前記第3のプログラムを出力し、前記第
1のカウンタの内容を出力するプログラム変換装置に於
いて、第2のカウンタを具備し、前記中央処理装置は、
前記第1のプログラムの指示により前記第2のカウンタ
の内容を読み込み、出力し、また、前記第2のプログラ
ムは、メモリの種類を定義する命令が記述され、前記中
央処理装置は、前記第1のプログラムの指示により、前
記第2のプログラムのメモリの種類と、前記第1のカウ
ンタの内容の情報を示すテーブルを生成する手段とを備
えている。
装置は、中央処理装置と、該中央処理装置にデータを入
力するデータ入力手段と、前記中央処理装置に接続され
、前記中央処理装置が実行すべき第1のプログラムを記
憶する記憶手段と、前記中央処理装置に接続され、第2
のプログラムである被変換プログラムを記憶する記憶手
段と、前記中央処理装置に接続され、機械語で記述され
た第3のプログラムを記憶する記憶手段と、前記中央処
理装置に接続され、該第3のプログラムのアドレスを示
す第1のカウンタとを具備し、前記中央処理装置は、前
記第1のプログラムの指示により、前記第2のプログラ
ムを読み込み、前記第3のプログラムを出力し、前記第
1のカウンタの内容を出力するプログラム変換装置に於
いて、第2のカウンタを具備し、前記中央処理装置は、
前記第1のプログラムの指示により前記第2のカウンタ
の内容を読み込み、出力し、また、前記第2のプログラ
ムは、メモリの種類を定義する命令が記述され、前記中
央処理装置は、前記第1のプログラムの指示により、前
記第2のプログラムのメモリの種類と、前記第1のカウ
ンタの内容の情報を示すテーブルを生成する手段とを備
えている。
【0018】
【実施例】次に、本発明について図面を用いて説明する
。
。
【0019】図1は本発明の実施例であるプログラム変
換装置の構成を示すブロックダイアグラムである。
換装置の構成を示すブロックダイアグラムである。
【0020】CPU101は、記憶装置102内の変換
プログラム103の指示にしたがって動作し、周辺装置
として、スタートボタン109を制御する。
プログラム103の指示にしたがって動作し、周辺装置
として、スタートボタン109を制御する。
【0021】以下CPU101の動作は、変換プログラ
ム103の指示によるものとする。
ム103の指示によるものとする。
【0022】アドレスバス110は、CPU101の指
示に従って、記憶装置102内に格納されているデータ
(または命令)のアドレスを指定し、CPU101は、
データバス111を介して読み出し、または書き込む。 また、CPU101は、スタートボタン109の出力に
より、変換プログラム103の実行を開始する。
示に従って、記憶装置102内に格納されているデータ
(または命令)のアドレスを指定し、CPU101は、
データバス111を介して読み出し、または書き込む。 また、CPU101は、スタートボタン109の出力に
より、変換プログラム103の実行を開始する。
【0023】CPU101は、変換プログラム103の
指示に従って、被変換プログラム104の内容を読み込
み、解読する。
指示に従って、被変換プログラム104の内容を読み込
み、解読する。
【0024】読み込んだ内容が、メモリの種類を定義す
る命令(以下“セグメント定義命令”と称す)の場合、
セグメント命令が示す命令の種類をセグメント情報テー
ブル106のセグメント種類欄に格納し、アドレスカウ
ンタ112の内容をセグメント情報テーブル106に出
力する。
る命令(以下“セグメント定義命令”と称す)の場合、
セグメント命令が示す命令の種類をセグメント情報テー
ブル106のセグメント種類欄に格納し、アドレスカウ
ンタ112の内容をセグメント情報テーブル106に出
力する。
【0025】また、CPU101は、読み込んだ内容が
機械語を生成する命令ならば、機械語に変換し、変換さ
れた機械語を、アドレスカウンタ112が示すアドレス
の機械語ファイル105に出力する。
機械語を生成する命令ならば、機械語に変換し、変換さ
れた機械語を、アドレスカウンタ112が示すアドレス
の機械語ファイル105に出力する。
【0026】本実施例の詳細な動作を説明する前に、本
実施例のプログラム変換装置の各資源の説明を行う。
実施例のプログラム変換装置の各資源の説明を行う。
【0027】アドレス・カウンタ112は16ビットの
アップ・カウンタで、機械語ファイル105のアドレス
を示す。
アップ・カウンタで、機械語ファイル105のアドレス
を示す。
【0028】セグメント・カウンタ113は、各セグメ
ント毎のアドレスを示す4ビットのアップ・カウンタで
FH(“H”は16進数をしめす記号)の次は“0H”
になる、またCPU101によりリセットされる。
ント毎のアドレスを示す4ビットのアップ・カウンタで
FH(“H”は16進数をしめす記号)の次は“0H”
になる、またCPU101によりリセットされる。
【0029】被変換プログラム104は、セグメント命
令と、機械語を生成する命令と、被変換プログラム10
4の最終行である事を示す文字“END”のみ記述され
ている。
令と、機械語を生成する命令と、被変換プログラム10
4の最終行である事を示す文字“END”のみ記述され
ている。
【0030】機械語ファイル105は、CPU101に
より生成されるファイルであり、機械語ファイルのアド
レスを示すアドレス・カウンタ112の内容と、各セグ
メント毎のアドレスを示すセグメント・カウンタ113
の内容と、被変換プログラム104が変換された機械語
の内容が格納される。
より生成されるファイルであり、機械語ファイルのアド
レスを示すアドレス・カウンタ112の内容と、各セグ
メント毎のアドレスを示すセグメント・カウンタ113
の内容と、被変換プログラム104が変換された機械語
の内容が格納される。
【0031】セグメント情報テーブル106は、CPU
101により生成されるテーブルである。図4に、セグ
メント情報テーブル106の構成例を示す。セグメント
情報テーブル113は、セグメント情報テーブル113
の番地を示すテーブル番地欄と、セグメントネームを示
すセグメントネーム欄と、アドレス・カウンタの内容を
格納するカウンタ値欄で構成される。
101により生成されるテーブルである。図4に、セグ
メント情報テーブル106の構成例を示す。セグメント
情報テーブル113は、セグメント情報テーブル113
の番地を示すテーブル番地欄と、セグメントネームを示
すセグメントネーム欄と、アドレス・カウンタの内容を
格納するカウンタ値欄で構成される。
【0032】図4のテーブル欄は、0番地から始まり、
被変換テーブル104に記述されているセグメント命令
の数から、マイナス1した番地まで作成される。
被変換テーブル104に記述されているセグメント命令
の数から、マイナス1した番地まで作成される。
【0033】図5から図7は本実施例の動作を示したフ
ローチャート図である。
ローチャート図である。
【0034】尚、被変換プログラム104にはプログラ
ム1が格納されている物とする。対応するフローチャー
トの処理番号を( )内に示す。尚、CPU101は
、変換プログラム102の指示に従って動作しているも
のとする。
ム1が格納されている物とする。対応するフローチャー
トの処理番号を( )内に示す。尚、CPU101は
、変換プログラム102の指示に従って動作しているも
のとする。
【0035】CPU101は、スタートボタン109か
らの変換をスタートさせる要求信号入力待ちをする(5
01)。スタートボタン109が押されたら、CPU1
01は、記憶装置102内のセグメント・カウンタ11
3、及びアドレスカウンタ112及びセグメント情報テ
ーブル106を初期化する(502)。
らの変換をスタートさせる要求信号入力待ちをする(5
01)。スタートボタン109が押されたら、CPU1
01は、記憶装置102内のセグメント・カウンタ11
3、及びアドレスカウンタ112及びセグメント情報テ
ーブル106を初期化する(502)。
【0036】次に、CPU101は、被変換プログラム
104の先頭番地の内容1行目“SEG IIR1”
を読み込む(503)、次にCPU101は、読み込ん
だ内容がセグメント命令であるか判断する(504)。 読み込んだ内容は“セグメント”命令なので、セグメン
ト・カウンタ113の内容“0”と、セグメント命令で
定義されたセグメントネーム“IIR1”と、アドレス
・カウンタ112の内容を、セグメント情報テーブル1
06のそれぞれテーブル番地欄,セグメントネーム欄,
カウンタ値欄に書き込む(507)。もし、読み込んだ
内容がセグメント命令で無い場合、エラー処理を行い、
処理を中断する(505)。
104の先頭番地の内容1行目“SEG IIR1”
を読み込む(503)、次にCPU101は、読み込ん
だ内容がセグメント命令であるか判断する(504)。 読み込んだ内容は“セグメント”命令なので、セグメン
ト・カウンタ113の内容“0”と、セグメント命令で
定義されたセグメントネーム“IIR1”と、アドレス
・カウンタ112の内容を、セグメント情報テーブル1
06のそれぞれテーブル番地欄,セグメントネーム欄,
カウンタ値欄に書き込む(507)。もし、読み込んだ
内容がセグメント命令で無い場合、エラー処理を行い、
処理を中断する(505)。
【0037】次に、被変換プログラム104の次の行を
読み込む(508)、読み込んだ内容がEND命令であ
るか判断される(509)。読み込んだ内容は、END
命令ではないので、次にセグメント命令であるか判断さ
れる(511)。読み込んだ内容はセグメント命令では
ないので、読み込んだ内容を機械語に変換し(512)
、機械語ファイルの、アドレス・カウンタ112が示す
番地に、変換された機械語とセグメントカウンタの内容
を書き込む(513)。
読み込む(508)、読み込んだ内容がEND命令であ
るか判断される(509)。読み込んだ内容は、END
命令ではないので、次にセグメント命令であるか判断さ
れる(511)。読み込んだ内容はセグメント命令では
ないので、読み込んだ内容を機械語に変換し(512)
、機械語ファイルの、アドレス・カウンタ112が示す
番地に、変換された機械語とセグメントカウンタの内容
を書き込む(513)。
【0038】アドレス・カウンタ113の内容をプラス
1し“1”とする。
1し“1”とする。
【0039】次に、セグメント・カウンタ113の内容
をプラス1し、“1”とする(515)。
をプラス1し、“1”とする(515)。
【0040】次に、セグメント・カウンタ113の内容
が、0であるか判断する(516)。セグメント・カウ
ンタ113の内容が“0”ならば、セグメントのアドレ
スのMAX値を越えたとみなし、エラー処理(517)
を行うが、この場合、セグメント・アドレス113の内
容は、“1”なので、次の処理508に戻る(516)
。
が、0であるか判断する(516)。セグメント・カウ
ンタ113の内容が“0”ならば、セグメントのアドレ
スのMAX値を越えたとみなし、エラー処理(517)
を行うが、この場合、セグメント・アドレス113の内
容は、“1”なので、次の処理508に戻る(516)
。
【0041】以下、次のセグメント命令を読み込むまで
、処理503から、516を繰り返す。
、処理503から、516を繰り返す。
【0042】20Hステップの命令を機械語に変換する
と、セグメント・カウンタ113及び、アドレス・カウ
ンタ112の内容は、“20”となる。20Hステップ
読み込んだ後、処理503で再び被変換プログラム10
4の内容を読み込む。読み込んだ内容は、2個目のセグ
メント命令“SEG IIR2”であると判断され(
511)、セグメント・カウンタの内容をリセットし(
518)、セグメントネーム(“IIR2”)、アドレ
ス・カウンタ112の内容(“20H”)を、セグメン
ト・情報テーブル106のテーブル・アドレスの1番地
のそれぞれセグメント・ネーム欄,カウンタ値欄に書き
込む(507)。以下、30Hステップの機械語に変換
される命令を処理508から513に則り変換する。被
変換プログラムの最後に記述されている“END”を読
み込むと、ファイルの終端だと判断され(509)、処
理を終了する(510)。
と、セグメント・カウンタ113及び、アドレス・カウ
ンタ112の内容は、“20”となる。20Hステップ
読み込んだ後、処理503で再び被変換プログラム10
4の内容を読み込む。読み込んだ内容は、2個目のセグ
メント命令“SEG IIR2”であると判断され(
511)、セグメント・カウンタの内容をリセットし(
518)、セグメントネーム(“IIR2”)、アドレ
ス・カウンタ112の内容(“20H”)を、セグメン
ト・情報テーブル106のテーブル・アドレスの1番地
のそれぞれセグメント・ネーム欄,カウンタ値欄に書き
込む(507)。以下、30Hステップの機械語に変換
される命令を処理508から513に則り変換する。被
変換プログラムの最後に記述されている“END”を読
み込むと、ファイルの終端だと判断され(509)、処
理を終了する(510)。
【0043】このように、本発明のプログラム変換装置
は、セグメント毎に、変換された機械語が、書き込まれ
ている機械語ファイルのアドレス情報を出力し、レンジ
チェックを行うので、複数のメモリ空間のアセンブルを
、1つの機械語ファイルに出力できる。機械語ファイル
のフォーマットを、ディジタル信号処理プロセッサの制
御を行うHOST CPUのアセンブリ・ソース・フ
ァイルとして入力できるフォーマットにする事により、
複数のディジタル信号処理プログラムを、1つのHOS
T CPUのアセンブル・ソース・リストとして出力
する事ができる。
は、セグメント毎に、変換された機械語が、書き込まれ
ている機械語ファイルのアドレス情報を出力し、レンジ
チェックを行うので、複数のメモリ空間のアセンブルを
、1つの機械語ファイルに出力できる。機械語ファイル
のフォーマットを、ディジタル信号処理プロセッサの制
御を行うHOST CPUのアセンブリ・ソース・フ
ァイルとして入力できるフォーマットにする事により、
複数のディジタル信号処理プログラムを、1つのHOS
T CPUのアセンブル・ソース・リストとして出力
する事ができる。
【0044】図8は本発明の第2の実施例のプログラム
変換装置の構成を示すブロックダイアグラムである。 尚、図1のものと同じものには同一の番号を付してある
。
変換装置の構成を示すブロックダイアグラムである。 尚、図1のものと同じものには同一の番号を付してある
。
【0045】CPU101は、記憶装置102内の変換
プログラム603の指示にしたがって動作し、周辺装置
として、スタートボタン109を制御する。
プログラム603の指示にしたがって動作し、周辺装置
として、スタートボタン109を制御する。
【0046】以下CPU101の動作は、変換プログラ
ム603の指示によるものとする。
ム603の指示によるものとする。
【0047】アドレスバス110は、CPU101の指
示に従って、記憶装置102内に格納されているデータ
(または命令)のアドレスを指定し、CPU101は、
データバス111を介して読み出し、または書き込む。 また、CPU101は、スタートボタン109の出力に
より、変換プログラムの実行を開始する。
示に従って、記憶装置102内に格納されているデータ
(または命令)のアドレスを指定し、CPU101は、
データバス111を介して読み出し、または書き込む。 また、CPU101は、スタートボタン109の出力に
より、変換プログラムの実行を開始する。
【0048】本実施例の詳細な動作を説明する前に、本
実施例のプログラム変換装置の各資源の説明を行う。 尚、第1の実施例と同一の資源については、説明を省略
する。
実施例のプログラム変換装置の各資源の説明を行う。 尚、第1の実施例と同一の資源については、説明を省略
する。
【0049】セグメント・カウンタ113は、各セグメ
ント毎のアドレスを示す4ビットのアップ・カウンタで
CPU101によりリセットされる。
ント毎のアドレスを示す4ビットのアップ・カウンタで
CPU101によりリセットされる。
【0050】被変換プログラム104は、セグメント命
令と、機械語を生成する命令と、被変換プログラム10
4の最終行である事を示す文字“EOF”が記述されて
いる。
令と、機械語を生成する命令と、被変換プログラム10
4の最終行である事を示す文字“EOF”が記述されて
いる。
【0051】セグメント命令は、セグメント命令ネーム
と、セグメントの種類を示す。
と、セグメントの種類を示す。
【0052】セグメント命令例)
SEG セグメントの種類,セグメント名説明)
セグメントの種類 IRM 命令メモリを示す CRM 係数メモリを示す “.”は、セグメントの種類と、セグメント名の区切り
文字である。
セグメントの種類 IRM 命令メモリを示す CRM 係数メモリを示す “.”は、セグメントの種類と、セグメント名の区切り
文字である。
【0053】機械語ファイル105は、CPU101に
より生成されるファイルであり、機械語ファイル105
のアドレスを示すアドレス・カウンタ112の内容と、
各セグメント毎のアドレスを示すセグメント・カウンタ
113の内容と、機械語に変換された被変換プログラム
104の内容が格納される。
より生成されるファイルであり、機械語ファイル105
のアドレスを示すアドレス・カウンタ112の内容と、
各セグメント毎のアドレスを示すセグメント・カウンタ
113の内容と、機械語に変換された被変換プログラム
104の内容が格納される。
【0054】セグメント情報テーブル606は、CPU
101により生成されるテーブルである。
101により生成されるテーブルである。
【0055】図12にセグメント情報テーブル606の
構成例を示す。テーブル番地欄と、セグメントネームを
示すセグメントネーム欄と、アドレス・カウンタ112
の内容を格納するカウンタ値欄と、セグメントの種類を
示すセグメントの種類欄で構成される。
構成例を示す。テーブル番地欄と、セグメントネームを
示すセグメントネーム欄と、アドレス・カウンタ112
の内容を格納するカウンタ値欄と、セグメントの種類を
示すセグメントの種類欄で構成される。
【0056】図8のテーブル欄は、0番地から始まり、
第1図被変換テーブル104に記述されているセグメン
ト命令の数から、マイナス1した番地まで作成される。
第1図被変換テーブル104に記述されているセグメン
ト命令の数から、マイナス1した番地まで作成される。
【0057】次に、被変換プログラム604の内容が、
プログラム2の時の例を取り、本実施例の変換プログラ
ム装置の動作例について説明する。
プログラム2の時の例を取り、本実施例の変換プログラ
ム装置の動作例について説明する。
【0058】図9から図11は、本実施例の動作を示し
たフローチャート図である。
たフローチャート図である。
【0059】対応するフローチャートの処理番号を(
)内に示す。尚、CPU101は、変換プログラム6
02の指示に従って動作しているものとする。
)内に示す。尚、CPU101は、変換プログラム6
02の指示に従って動作しているものとする。
【0060】尚、第1の実施例のフローで示した処理と
同じ処理は、同一の番号を付した。
同じ処理は、同一の番号を付した。
【0061】CPU101は、スタートボタン109か
らの変換をスタートさせる要求信号入力待ちをする(5
01)。スタートボタン109が押されたら、CPU1
01は、記憶装置102内のセグメント・カウンタ11
3、及びアドレスカウンタ112及びセグメント情報テ
ーブル106を初期化する(502)。
らの変換をスタートさせる要求信号入力待ちをする(5
01)。スタートボタン109が押されたら、CPU1
01は、記憶装置102内のセグメント・カウンタ11
3、及びアドレスカウンタ112及びセグメント情報テ
ーブル106を初期化する(502)。
【0062】次に、CPU101は、被変換プログラム
604の先頭番地の内容1行目“SEG IRM.I
IR1”を読み込む(503)、次にCPU101は、
読み込んだ内容がセグメント命令であるか判断する(5
04)。読み込んだ内容は“セグメント”命令なので、
セグメント・カウンタ113の内容を“0”にし、セグ
メント命令で定義されたセグメントネーム“IIR1”
と、アドレス・カウンタ112の内容、セグメント命令
に記述されたセグメントの種類を、セグメント情報テー
ブル106のそれぞれセグメントネーム欄,カウンタ値
欄,セグメントの種類欄に書き込み、命令メモリの次に
、セグメントの種類“IRM”即ち命令メモリのMAX
アドレスである“FH”をセグメントアドレスMAXレ
ジスタに書き込む(707)。もし、読み込んだ内容が
セグメント命令で無い場合、エラー処理を行い、処理を
中断する(505)。
604の先頭番地の内容1行目“SEG IRM.I
IR1”を読み込む(503)、次にCPU101は、
読み込んだ内容がセグメント命令であるか判断する(5
04)。読み込んだ内容は“セグメント”命令なので、
セグメント・カウンタ113の内容を“0”にし、セグ
メント命令で定義されたセグメントネーム“IIR1”
と、アドレス・カウンタ112の内容、セグメント命令
に記述されたセグメントの種類を、セグメント情報テー
ブル106のそれぞれセグメントネーム欄,カウンタ値
欄,セグメントの種類欄に書き込み、命令メモリの次に
、セグメントの種類“IRM”即ち命令メモリのMAX
アドレスである“FH”をセグメントアドレスMAXレ
ジスタに書き込む(707)。もし、読み込んだ内容が
セグメント命令で無い場合、エラー処理を行い、処理を
中断する(505)。
【0063】次に、被変換プログラム604の次の行を
読み込む(508)、読み込んだ内容がEND命令であ
るか判断される(509)。読み込んだ内容は、END
命令ではないので、次にセグメント命令であるか判断さ
れる(511)。読み込んだ内容はセグメント命令では
ないので、読み込んだ内容を機械語に変換し(512)
、機械語ファイル105の、アドレス・カウンタ112
が示す番地に、変換された機械語を書き込む(513)
。
読み込む(508)、読み込んだ内容がEND命令であ
るか判断される(509)。読み込んだ内容は、END
命令ではないので、次にセグメント命令であるか判断さ
れる(511)。読み込んだ内容はセグメント命令では
ないので、読み込んだ内容を機械語に変換し(512)
、機械語ファイル105の、アドレス・カウンタ112
が示す番地に、変換された機械語を書き込む(513)
。
【0064】アドレス・カウンタ113の内容をプラス
1し“1”とする(514)。
1し“1”とする(514)。
【0065】次に、セグメント・カウンタ113の内容
をプラス1し、“1”とする(515)。
をプラス1し、“1”とする(515)。
【0066】次に、セグメント・カウンタ113の内容
が、セグメントアドレスMAXレジスタ614の値以上
であるか判断する(716)。セグメント・カウンタ1
13の内容がセグメントアドレスMAXレジスタ614
の内容“FH”以上ならば、セグメントのアドレスのM
AX値を越えたとみなし、エラー処理(517)を行う
が、この場合、セグメント・アドレス113の内容は、
“1”なので、次の処理508に戻る(516)。
が、セグメントアドレスMAXレジスタ614の値以上
であるか判断する(716)。セグメント・カウンタ1
13の内容がセグメントアドレスMAXレジスタ614
の内容“FH”以上ならば、セグメントのアドレスのM
AX値を越えたとみなし、エラー処理(517)を行う
が、この場合、セグメント・アドレス113の内容は、
“1”なので、次の処理508に戻る(516)。
【0067】以下、次のセグメント命令を読み込むまで
、処理508から、516を繰り返す。
、処理508から、516を繰り返す。
【0068】5Hステップの命令を機械語に変換すると
、セグメント・カウンタ131及び、アドレス・カウン
タ112の内容は、“5”となる。
、セグメント・カウンタ131及び、アドレス・カウン
タ112の内容は、“5”となる。
【0069】5Hステップ読み込んだ後、処理503で
再び被変換プログラム604の内容を読み込む。読み込
んだ内容は、2個目のセグメント命令“SEG II
R2”であると判断され(511)、セグメント・カウ
ンタの内容をリセットし(518)、セグメントネーム
(“IIR2”)、アドレス・カウンタ112の内容(
“5”)、セグメントの種類“CRM”を、セグメント
・情報テーブル106のテーブル・アドレス1番地のセ
グメント・ネーム欄,カウンタ値欄,セグメントの種類
欄に書き込み、次にセグメントの種類“CRM”のAM
Xアドレスである“5”を、セグメントアドレスMAX
レジスタ614に書き込む(707)。
再び被変換プログラム604の内容を読み込む。読み込
んだ内容は、2個目のセグメント命令“SEG II
R2”であると判断され(511)、セグメント・カウ
ンタの内容をリセットし(518)、セグメントネーム
(“IIR2”)、アドレス・カウンタ112の内容(
“5”)、セグメントの種類“CRM”を、セグメント
・情報テーブル106のテーブル・アドレス1番地のセ
グメント・ネーム欄,カウンタ値欄,セグメントの種類
欄に書き込み、次にセグメントの種類“CRM”のAM
Xアドレスである“5”を、セグメントアドレスMAX
レジスタ614に書き込む(707)。
【0070】以下次のセグメント命令が読み込まれるま
で、処理508から513に則り変換する。
で、処理508から513に則り変換する。
【0071】被変換プログラムの最後に記述されている
“END”を読み込むと、ファイルの終端だと判断され
(509)、処理を終了する(510)。
“END”を読み込むと、ファイルの終端だと判断され
(509)、処理を終了する(510)。
【0072】このように、本発明のプログラム変換装置
は、被変換プログラム604に記述されたセグメントの
種類をセグメント情報テーブル606と、セグメントア
ドレスMAXレジスタ614に出力する事により、レン
ジ・アドレスの異なる種類のメモリを1回の変換処理で
1つの機械語ファイルに変換できる。
は、被変換プログラム604に記述されたセグメントの
種類をセグメント情報テーブル606と、セグメントア
ドレスMAXレジスタ614に出力する事により、レン
ジ・アドレスの異なる種類のメモリを1回の変換処理で
1つの機械語ファイルに変換できる。
【0073】
【発明の効果】以上説明したように、本発明は、被変換
プログラムに記述されている各セグメント毎に対応する
機械語ファイルのアドレス情報を格納したセグメント情
報テーブルを生成する事により、複数空間分のメモリに
対応するソースファイルの内容を1回の変換処理で、1
つの機械語ファイルに変換できる。
プログラムに記述されている各セグメント毎に対応する
機械語ファイルのアドレス情報を格納したセグメント情
報テーブルを生成する事により、複数空間分のメモリに
対応するソースファイルの内容を1回の変換処理で、1
つの機械語ファイルに変換できる。
【0074】機械語ファイルを制御装置のソース・ファ
イルとして入力できるフォーマットで生成すれば、従来
行っていた、関連するメモリ空間毎に機械語に変換する
処理を行い、生成した複数の機械語ファイルを1つにま
とめて制御装置のソース・ファイルを作成するという処
理を行わなくても良いという効果がある。
イルとして入力できるフォーマットで生成すれば、従来
行っていた、関連するメモリ空間毎に機械語に変換する
処理を行い、生成した複数の機械語ファイルを1つにま
とめて制御装置のソース・ファイルを作成するという処
理を行わなくても良いという効果がある。
【図1】本発明の第1実施例のブロック図である。
【図2】従来例のブロック図である。
【図3】ディジタル信号処理装置のブロック図である。
【図4】セグメント情報テーブルの構成図である。
【図5】第1実施例の動作フローチャートの一部である
。
。
【図6】第1実施例の動作フローチャートの他の一部で
ある。
ある。
【図7】第1実施例の動作フローチャートの残部である
。
。
【図8】第2実施例のブロック図である。
【図9】第2実施例の動作フローチャートの一部である
。
。
【図10】第2実施例の動作フローチャートの他の一部
である。
である。
【図11】第2実施例の動作フローチャートの残部であ
る。
る。
【図12】第2実施例のセグメント情報テーブル図であ
る。
る。
Claims (1)
- 【請求項1】 中央処理装置と、データ入力手段と、
記憶手段と、第1のカウンタと、第2のカウンタとを備
え、前記中央処理装置は、前記データ入力手段からの出
力を入力し、前記中央処理装置は、前記第1のカウンタ
と、前記第2のカウンタとの内容を読みだし、及び書き
込みを行う事を特徴とし、前記中央処理装置は、前記記
憶手段の内容を、読み込み及び書き込みを行う事を特徴
とするプログラム変換装置であって、前記記憶手段は、
第1のプログラムを記憶する記憶手段と、第2のプログ
ラムを記憶する記憶手段と、第3のプログラムを記憶す
る記憶手段と情報テーブルを記憶する記憶手段より構成
され、第1のプログラムは、前記中央処理装置の動作を
指示するプログラム、第2のプログラムは、デジタル信
号処理装置のソース・プログラム、第3のプログラムは
、前記デジタル信号処理装置の機械語ファイルであり、
前記デジタル信号処理装置は、前記デジタル信号処理装
置の命令が格納される命令メモリと、係数が格納される
係数メモリと、データが格納されるデータメモリを有し
、前記デジタル信号処理装置内の各メモリは、個々にア
ドレスを持ち、また、前記デジタル信号処理装置内のメ
モリは、読み込み書き込み可能メモリであり、第3のプ
ログラムは、前記デジタル信号処理装置内の各メモリに
書き込まれるデータであり、前記デジタル信号処理装置
内へ第3のプログラムを書き込む処理は、前記デジタル
信号処理装置を制御する制御装置により行われ、即ち、
第3のプログラムは、前記制御装置にデータとして書き
込まれ、第2のプログラムは、プログラムの前記デジタ
ル信号処理装置のメモリの種類を定義する疑似命令と、
前記デジタル信号処理装置内のメモリに書き込まれる機
械語に変換される命令とにより構成され、第1のプログ
ラムは、第2のプログラムの内容が前記デジタル信号処
理装置のメモリの種類を示す命令の場合、前記第1のカ
ウンタの内容をクリアーする処理をモジュールを持ち、
第1のプログラムは、第2のプログラムの内容が前記デ
ジタル信号処理装置のメモリの種類を示す命令の場合、
前記第2のカウンタの内容と、前記デジタル信号処理装
置のメモリの種類を、前記テーブルに格納する処理モジ
ュールを持ち、第1のプログラムは、第2のプログラム
が第3のプログラムに変換される命令の場合、第2のプ
ログラムを機械語に変換し、前記機械語と、第2のカウ
ンタの内容を第3のプログラムとして出力する処理モジ
ュールを持つ事を特徴とするプログラム変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4628491A JPH04282729A (ja) | 1991-03-12 | 1991-03-12 | プログラム変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4628491A JPH04282729A (ja) | 1991-03-12 | 1991-03-12 | プログラム変換装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04282729A true JPH04282729A (ja) | 1992-10-07 |
Family
ID=12742928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4628491A Pending JPH04282729A (ja) | 1991-03-12 | 1991-03-12 | プログラム変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04282729A (ja) |
-
1991
- 1991-03-12 JP JP4628491A patent/JPH04282729A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4314333A (en) | Data processor | |
JPS6124729B2 (ja) | ||
JPH0683615A (ja) | 命令セットエミュレーションを行う計算機 | |
JPH04282729A (ja) | プログラム変換装置 | |
JP7225904B2 (ja) | ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム | |
JPH056281A (ja) | 情報処理装置 | |
JPS601655B2 (ja) | デ−タプリフェツチ方式 | |
JPS6055911B2 (ja) | 主記憶装置 | |
JPS585846A (ja) | 命令処理方式 | |
JPS6148735B2 (ja) | ||
JP2743947B2 (ja) | マイクロプログラム制御方式 | |
JPS5844551A (ja) | デ−タ書込み制御方式 | |
JP3474347B2 (ja) | マイクロコンピュータの命令解読部 | |
JPH07129408A (ja) | 言語処理プログラムの実行方式 | |
JPH02148221A (ja) | マイクロ制御装置 | |
JP2000056969A (ja) | レジスタファイル | |
JPH0390931A (ja) | Rom化プログラムの生成方法 | |
JPS61149365A (ja) | デ−タ制御装置 | |
JPH03241432A (ja) | 命令変換方式 | |
JPH06161720A (ja) | コンピュータシステム | |
JPS61103245A (ja) | 機械語命令体系の拡張方式 | |
JPH04289923A (ja) | プログラム変換装置 | |
JPS60100227A (ja) | 情報処理装置 | |
JPH02247758A (ja) | 端末情報の管理方式 | |
JPS6346858B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000404 |