JPH06230977A - 言語処理装置 - Google Patents
言語処理装置Info
- Publication number
- JPH06230977A JPH06230977A JP5018306A JP1830693A JPH06230977A JP H06230977 A JPH06230977 A JP H06230977A JP 5018306 A JP5018306 A JP 5018306A JP 1830693 A JP1830693 A JP 1830693A JP H06230977 A JPH06230977 A JP H06230977A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- bank
- line
- statement
- source program
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/423—Preprocessors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【目的】プログラム中のステートメントがバンク切り替
え命令かレーベル行かを判断し、その情報をある領域に
格納する。その情報をもとに、バンク切り替えの必要性
を判断し、最短の命令数でバンク切り替えを実行する。 【構成】言語処理装置は予約したシンボル(ZZZBA
NK)をシンボル記憶部105に持つ。プログラム中
で、このシンボルを参照してバンク切り替えの必要性を
判断でき、最短の命令数でバンク切り替えを実現でき
る。
え命令かレーベル行かを判断し、その情報をある領域に
格納する。その情報をもとに、バンク切り替えの必要性
を判断し、最短の命令数でバンク切り替えを実行する。 【構成】言語処理装置は予約したシンボル(ZZZBA
NK)をシンボル記憶部105に持つ。プログラム中
で、このシンボルを参照してバンク切り替えの必要性を
判断でき、最短の命令数でバンク切り替えを実現でき
る。
Description
【0001】
【産業上の利用分野】本発明は、コンピュータのプログ
ラム言語で記述されたソース・プログラム機械語に変換
する言語処理装置に関し、特に、ソース・プログラム中
の指定されたステートメントを絶対アドレス値を決定す
る任意の2つの値のうち一方を変更する命令(以降、バ
ンク切り替え命令とする。)と命令の実行順序が変わる
命令の目的アドレスを指定するステートメント(以降、
レーベルとする。)とに判断できる機能を有する言語処
理装置に関する。
ラム言語で記述されたソース・プログラム機械語に変換
する言語処理装置に関し、特に、ソース・プログラム中
の指定されたステートメントを絶対アドレス値を決定す
る任意の2つの値のうち一方を変更する命令(以降、バ
ンク切り替え命令とする。)と命令の実行順序が変わる
命令の目的アドレスを指定するステートメント(以降、
レーベルとする。)とに判断できる機能を有する言語処
理装置に関する。
【0002】
【従来の技術】マイクロ・コンピュータにおいて演算、
制御のための変化するデータを格納するデータ・メモリ
がある。このデータ・メモリ空間を拡張するための単位
としてバンクがある。
制御のための変化するデータを格納するデータ・メモリ
がある。このデータ・メモリ空間を拡張するための単位
としてバンクがある。
【0003】従来、このようなマイクロ・コンピュータ
では、データ・メモリ上のアドレスの内容を操作する機
械語命令を実行する以前に、現在のバンク番号を指定す
るレジスタ(以降、BANKとする。)に、命令で操作
するデータ・メモリのバンク番号を設定している。通常
はこのBANKにバンク番号を設定するための専用の命
令(以降、HANKnとする。)が存在する。
では、データ・メモリ上のアドレスの内容を操作する機
械語命令を実行する以前に、現在のバンク番号を指定す
るレジスタ(以降、BANKとする。)に、命令で操作
するデータ・メモリのバンク番号を設定している。通常
はこのBANKにバンク番号を設定するための専用の命
令(以降、HANKnとする。)が存在する。
【0004】また、ソース・プログラム中には現在の命
令から任意の他の命令アドレスに分岐する機能を有する
分岐命令文があり、その分岐先を示すためにシンボル
(以降、レーベルとする。)を指定することができる。
例えば、μPD1700シリーズ インストラクション
・マニュアル(1986年 日本電気 発行)に記載さ
れている。
令から任意の他の命令アドレスに分岐する機能を有する
分岐命令文があり、その分岐先を示すためにシンボル
(以降、レーベルとする。)を指定することができる。
例えば、μPD1700シリーズ インストラクション
・マニュアル(1986年 日本電気 発行)に記載さ
れている。
【0005】さらに、MS−DOSマクロアセンブラ
4.0 ユーザーズ/リファレンスマニュアル(198
8年 日本電気 発行)を参照すると、言語処理方法の
一つであるアセンブラでは、ある条件によって参照する
命令ブロックを選択することのできる条件付きアセンブ
ル制御命令がある。
4.0 ユーザーズ/リファレンスマニュアル(198
8年 日本電気 発行)を参照すると、言語処理方法の
一つであるアセンブラでは、ある条件によって参照する
命令ブロックを選択することのできる条件付きアセンブ
ル制御命令がある。
【0006】ソース・プログラムで記述される命令に
は、データ・メモリ上のアドレスの内容を操作する命令
が存在する。1つのプログラム中で複数のデータ・メモ
リ上のアドレスの内容(バンク番号が異なる)を操作す
る場合をソース・プログラム中の命令の並びを示した図
10を参照して説明する。
は、データ・メモリ上のアドレスの内容を操作する命令
が存在する。1つのプログラム中で複数のデータ・メモ
リ上のアドレスの内容(バンク番号が異なる)を操作す
る場合をソース・プログラム中の命令の並びを示した図
10を参照して説明する。
【0007】バンク番号を設定する命令BANKn10
01で、次に続くデータ・メモリ上のアドレスの内容を
操作する命令1002で操作しようとするデータ・メモ
リのバンク番号を設定する。さらにデータ・メモリ上の
アドレスの内容を操作する命令1004がある場合、命
令1002と命令1004で操作しようとしているアド
レスがデータ・メモリの同一バンク上にない可能性があ
るため、バンク番号を設定する命令HANKn1003
をプログラム中に挿入する必要がある。
01で、次に続くデータ・メモリ上のアドレスの内容を
操作する命令1002で操作しようとするデータ・メモ
リのバンク番号を設定する。さらにデータ・メモリ上の
アドレスの内容を操作する命令1004がある場合、命
令1002と命令1004で操作しようとしているアド
レスがデータ・メモリの同一バンク上にない可能性があ
るため、バンク番号を設定する命令HANKn1003
をプログラム中に挿入する必要がある。
【0008】
【発明が解決しようとする課題】しかしながら、命令1
002と命令1004で操作しようとするデータ・メモ
リのアドレスのバンク番号が異なる場合(n≠mの場
合)、命令BANKm1003は必ず必要な命令である
が、バンク番号が等しい場合(n=mの場合)は、命令
1004を実行する前に新たにバンク番号を設定する必
要はなく、命令HANKm1003は不要である。
002と命令1004で操作しようとするデータ・メモ
リのアドレスのバンク番号が異なる場合(n≠mの場
合)、命令BANKm1003は必ず必要な命令である
が、バンク番号が等しい場合(n=mの場合)は、命令
1004を実行する前に新たにバンク番号を設定する必
要はなく、命令HANKm1003は不要である。
【0009】すなわち、プログラム中でバンク番号の切
り替えが必要でない場合にも命令BANKm1003が
記述されると、この命令が冗長になる問題点があった。
り替えが必要でない場合にも命令BANKm1003が
記述されると、この命令が冗長になる問題点があった。
【0010】
【課題を解決するための手段】本発明の言語処理装置
は、任意の2つの値より絶対アドレス値を決定しかつ命
令の実行順序が変わる命令を有するプログラム言語で記
述されたソース・プログラムを、コンピュータが実際に
実行できる機械語に変換する言語処理装置において、前
記ソース・プログラムを記憶する第1の記憶手段と、前
記第1の記憶手段から前記ソース・プログラムを読み出
す第1の読み出し手段と、前記第1の読み出し手段によ
り読み出されたステートメントを前記任意の2つの値の
うち一方の絶対アドレス値を変更する命令と命令の実行
順序が変わる命令の目的アドレスかを指定するステート
メントとに識別する識別手段と、前記識別手段による識
別結果を記憶する第2の記憶手段と、前記第2の記憶手
段から内容を読み出す第2の読み出し手段とを有する。
は、任意の2つの値より絶対アドレス値を決定しかつ命
令の実行順序が変わる命令を有するプログラム言語で記
述されたソース・プログラムを、コンピュータが実際に
実行できる機械語に変換する言語処理装置において、前
記ソース・プログラムを記憶する第1の記憶手段と、前
記第1の記憶手段から前記ソース・プログラムを読み出
す第1の読み出し手段と、前記第1の読み出し手段によ
り読み出されたステートメントを前記任意の2つの値の
うち一方の絶対アドレス値を変更する命令と命令の実行
順序が変わる命令の目的アドレスかを指定するステート
メントとに識別する識別手段と、前記識別手段による識
別結果を記憶する第2の記憶手段と、前記第2の記憶手
段から内容を読み出す第2の読み出し手段とを有する。
【0011】
【実施例】次に、本発明の第1の実施例の言語処理装置
の構成を示す図1を参照して、本発明の第1の実施例の
言語処理装置について説明する。
の構成を示す図1を参照して、本発明の第1の実施例の
言語処理装置について説明する。
【0012】本実施例の言語処理装置は、プログラム言
語で記述されたソース・プログラムを入力する入力装置
101と、ソース・プログラムを一行ずつ処理する言語
処理部本体102と、言語処理本体102に読み込まれ
た一行を解読する命令解読部103と、その中の命令一
覧テーブル104と、ソース・プログラム内で定義され
たシンボルのシンボル名を格納するためのシンボル記憶
部105内のシンボル名記憶部106と、シンボル名に
対応する値を格納するためのシンボル記憶部105内の
値格納部107と、処理結果を出力するための出力装置
111を備えている。
語で記述されたソース・プログラムを入力する入力装置
101と、ソース・プログラムを一行ずつ処理する言語
処理部本体102と、言語処理本体102に読み込まれ
た一行を解読する命令解読部103と、その中の命令一
覧テーブル104と、ソース・プログラム内で定義され
たシンボルのシンボル名を格納するためのシンボル記憶
部105内のシンボル名記憶部106と、シンボル名に
対応する値を格納するためのシンボル記憶部105内の
値格納部107と、処理結果を出力するための出力装置
111を備えている。
【0013】また、シンボル記憶部105の構成対応図
を示す図2を併せて参照すると、シンボル記憶部105
の中のシンボル名記憶部201と値格納部202は、1
つのシンボル名に対してそれに対応する1つの値203
を対応づけて記憶している。そのため、シンボル記憶部
105内のシンボルを参照する時も、そのシンボル名に
対応する1つの値を読み出すことができる。また、シン
ボル記憶部105には、ステートメントがバンク切り替
え命令かレーベル行かの情報を格納する予約語ZZZB
ANKをもつ。
を示す図2を併せて参照すると、シンボル記憶部105
の中のシンボル名記憶部201と値格納部202は、1
つのシンボル名に対してそれに対応する1つの値203
を対応づけて記憶している。そのため、シンボル記憶部
105内のシンボルを参照する時も、そのシンボル名に
対応する1つの値を読み出すことができる。また、シン
ボル記憶部105には、ステートメントがバンク切り替
え命令かレーベル行かの情報を格納する予約語ZZZB
ANKをもつ。
【0014】次に図3を参照して、本実施例の処理の流
れを説明する。
れを説明する。
【0015】まず、ソース・プログラム中に処理の終え
ていな行、つまり、読み込むことのできる行があるかを
判断する(ステップ301)。ステップ301で読み込
める行がある場合は、ソース・プログラムから言語処理
部本体103に一行ずつ読み込む(ステップ302)。
言語処理部本体103に読み込まれた一行は命令解読部
104で命令行かどうかが判断される(ステップ30
3)。命令行の時は、その命令がバンク切り替え命令か
どうかをチェックする(ステップ304)。命令解読部
104内に命令のニーモニック一覧を記憶したテーブル
108があり、ソース・プログラム中の命令のニーモニ
ックが、そのテーブル108のバンク切り替え命令と一
致すればバンク切り替え命令と判断され、バンク切り替
え命令である場合はシンボル記憶部105に記憶されて
いる言語処理システムで定義したシンボル(予約語:こ
こではZZZBANKとする)とそれに対応する値に切
り替えるバンク番号’n’を割り付ける(ステップ30
5)。そして、言語処理部本体103では、この命令行
の処理を行う(ステップ306)。命令行でないときは
その行がレーベル行かどうか判断する(ステップ30
7)。そしてレーベル行である時は、ZZZBANKに
値’−1’をセットする。
ていな行、つまり、読み込むことのできる行があるかを
判断する(ステップ301)。ステップ301で読み込
める行がある場合は、ソース・プログラムから言語処理
部本体103に一行ずつ読み込む(ステップ302)。
言語処理部本体103に読み込まれた一行は命令解読部
104で命令行かどうかが判断される(ステップ30
3)。命令行の時は、その命令がバンク切り替え命令か
どうかをチェックする(ステップ304)。命令解読部
104内に命令のニーモニック一覧を記憶したテーブル
108があり、ソース・プログラム中の命令のニーモニ
ックが、そのテーブル108のバンク切り替え命令と一
致すればバンク切り替え命令と判断され、バンク切り替
え命令である場合はシンボル記憶部105に記憶されて
いる言語処理システムで定義したシンボル(予約語:こ
こではZZZBANKとする)とそれに対応する値に切
り替えるバンク番号’n’を割り付ける(ステップ30
5)。そして、言語処理部本体103では、この命令行
の処理を行う(ステップ306)。命令行でないときは
その行がレーベル行かどうか判断する(ステップ30
7)。そしてレーベル行である時は、ZZZBANKに
値’−1’をセットする。
【0016】次に、シンボル記憶部105のより詳細な
構成を示す図4を参照すると、シンボル記憶部401
は、シンボル名格納部402およびシンボル名に対応す
る値格納部403より構成される。値格納部403に格
納された値は、アセンブル疑似命令等により任意に値を
替えることができる。シンボルZZZBANK404
は、現在BANKに設定されているバンク番号または、
現在の処理とレーベル行の間にバンク切り替え命令がな
い場合は、そのレーベル行に他の処理から分岐してきて
BANKに設定してあるバンク番号が分岐の前後で異な
る可能性があるという意味で’−1’が格納されるシン
ボルである。このシンボルは、言語処理システムで予約
されている。
構成を示す図4を参照すると、シンボル記憶部401
は、シンボル名格納部402およびシンボル名に対応す
る値格納部403より構成される。値格納部403に格
納された値は、アセンブル疑似命令等により任意に値を
替えることができる。シンボルZZZBANK404
は、現在BANKに設定されているバンク番号または、
現在の処理とレーベル行の間にバンク切り替え命令がな
い場合は、そのレーベル行に他の処理から分岐してきて
BANKに設定してあるバンク番号が分岐の前後で異な
る可能性があるという意味で’−1’が格納されるシン
ボルである。このシンボルは、言語処理システムで予約
されている。
【0017】プログラム言語で記述された実際のソース
・プログラム例を示す図5を併せて参照して、このソー
ス・プログラムを説明する。
・プログラム例を示す図5を併せて参照して、このソー
ス・プログラムを説明する。
【0018】命令文501は、シンボルZZZBANK
の内容”−1”かどうかを判断する条件付きアセンブル
疑似命令である。なお、疑似命令は、アセンブル時にの
み実行され機械語には変換されない命令である。条件が
真の場合に命令文503までのブロックを実行する。条
件が偽の場合は命令文503から命令文507までのブ
ロックを実行する。同様に、メーレーブン504はZZ
ZBANKの内容がデータ・メモリ上のアドレスの内容
を操作する命令文508で操作するバンクと同じかどう
かを判断する条件付きアセンブル疑似命令であり、条件
が真の場合は命令文506までのブロックを実行し、条
件が偽の場合は命令文506以前の命令が実行しない。
命令文502および505はバンク切り替え命令であ
る。
の内容”−1”かどうかを判断する条件付きアセンブル
疑似命令である。なお、疑似命令は、アセンブル時にの
み実行され機械語には変換されない命令である。条件が
真の場合に命令文503までのブロックを実行する。条
件が偽の場合は命令文503から命令文507までのブ
ロックを実行する。同様に、メーレーブン504はZZ
ZBANKの内容がデータ・メモリ上のアドレスの内容
を操作する命令文508で操作するバンクと同じかどう
かを判断する条件付きアセンブル疑似命令であり、条件
が真の場合は命令文506までのブロックを実行し、条
件が偽の場合は命令文506以前の命令が実行しない。
命令文502および505はバンク切り替え命令であ
る。
【0019】次に、条件付きアセンブル疑似命令501
の以前にバンク切り替え命令が記述された場合の処理を
図6の参照して説明する。 命令文601の命令解読の結果、命令がバンク切り
替え名の時、シンボル名記憶部201のシンボル名ZZ
ZBANKに対応する値格納部202に切り替えるバン
ク番号mを格納する。 このプログラムでは、命令文601と命令文501
の間にレーベル行は無いので命令文501の条件付きア
センブル疑似命令は偽(つまり、ZZZBANKは”−
1”ではない。)となり命令文502は展開されない。 命令文501が偽となるため命令文503から命令
文507が実行される。命令文504の条件付きアセン
ブル疑似命令でZZZBANKに格納されている値mと
命令文505で操作しようとするバンク番号nが等しい
かどうかを判断する。その結果、等しくない場合は、バ
ンク番号をnに切り替える必要があり、命令文505の
バンク切り替え命令が実行される。等しい場合は、バン
クを切り替える必要はなく命令文505は実行しない。
の以前にバンク切り替え命令が記述された場合の処理を
図6の参照して説明する。 命令文601の命令解読の結果、命令がバンク切り
替え名の時、シンボル名記憶部201のシンボル名ZZ
ZBANKに対応する値格納部202に切り替えるバン
ク番号mを格納する。 このプログラムでは、命令文601と命令文501
の間にレーベル行は無いので命令文501の条件付きア
センブル疑似命令は偽(つまり、ZZZBANKは”−
1”ではない。)となり命令文502は展開されない。 命令文501が偽となるため命令文503から命令
文507が実行される。命令文504の条件付きアセン
ブル疑似命令でZZZBANKに格納されている値mと
命令文505で操作しようとするバンク番号nが等しい
かどうかを判断する。その結果、等しくない場合は、バ
ンク番号をnに切り替える必要があり、命令文505の
バンク切り替え命令が実行される。等しい場合は、バン
クを切り替える必要はなく命令文505は実行しない。
【0020】以上〜の処理を繰り返すことにより、
データ・メモリ上のアドレスの内容を操作する命令の前
でバンク切り替えをする必要があるかどうかを判断する
ことができ、バンク切り替えを最短の命令数で実現する
ことができる。
データ・メモリ上のアドレスの内容を操作する命令の前
でバンク切り替えをする必要があるかどうかを判断する
ことができ、バンク切り替えを最短の命令数で実現する
ことができる。
【0021】次に、本発明の第2の実施例の言語処理装
置の構成を示す図7を参照して、本発明の第2の実施例
を説明する。
置の構成を示す図7を参照して、本発明の第2の実施例
を説明する。
【0022】本実施例は、第1の実施例の言語処理装置
で、バンク番号の情報をシンボル記憶部にシンボルとし
て持たずにシステムが内部的な情報として持ち実現する
例である。そのため、本実施例の場合はプログラマが任
意にバンク番号の情報を参照することはできない。
で、バンク番号の情報をシンボル記憶部にシンボルとし
て持たずにシステムが内部的な情報として持ち実現する
例である。そのため、本実施例の場合はプログラマが任
意にバンク番号の情報を参照することはできない。
【0023】本実施例は、シンボル記憶部105をバン
ク番号の情報を格納する専用のバンク番号記憶部701
に置換える以外は同じ構成要素を有し、同一構成要素に
は同一参照符号が付してある。
ク番号の情報を格納する専用のバンク番号記憶部701
に置換える以外は同じ構成要素を有し、同一構成要素に
は同一参照符号が付してある。
【0024】バンク番号記憶部701には、プログラム
中のステートメントがバンク切り替え命令の場合は、そ
のバンク番号が格納され、レーベル行の場合は、値”−
1”が格納される。
中のステートメントがバンク切り替え命令の場合は、そ
のバンク番号が格納され、レーベル行の場合は、値”−
1”が格納される。
【0025】次に、図8を参照して本実施例の処理の流
れを説明する。
れを説明する。
【0026】読み込んだステートメントがバンク切り替
え命令の場合は(ステップ804)、バンク番号記憶部
701にそのバンク番号を格納する(ステップ80
5)。ステートメントがレーベル行の場合は(ステップ
807)、バンク番号記憶部701にレーベル行を示す
値”−1”を格納する。
え命令の場合は(ステップ804)、バンク番号記憶部
701にそのバンク番号を格納する(ステップ80
5)。ステートメントがレーベル行の場合は(ステップ
807)、バンク番号記憶部701にレーベル行を示す
値”−1”を格納する。
【0027】次に、図9を参照してバンク切り替えの判
断をバンク番号記憶部701の内容を参照する専用の命
令を用いた場合の処理を説明する。
断をバンク番号記憶部701の内容を参照する専用の命
令を用いた場合の処理を説明する。
【0028】まず、 命令文901を解読の結果、レーベル行なのでバン
ク番号記憶部701に”−1”を格納する。
ク番号記憶部701に”−1”を格納する。
【0029】 命令文902を解読の結果、バンク切
り替え判断命令なので、バンク番号記憶部701からバ
ンク番号情報を読み出す。読み出した値は”−1”なの
で、命令文902では無条件にバンク番号を”n”に切
り替えるバンク切り替え命令を生成する。
り替え判断命令なので、バンク番号記憶部701からバ
ンク番号情報を読み出す。読み出した値は”−1”なの
で、命令文902では無条件にバンク番号を”n”に切
り替えるバンク切り替え命令を生成する。
【0030】 そして、生成されたバンク切り替え命
令で指定するバンク番号nをバンク番号記憶部701に
格納する。
令で指定するバンク番号nをバンク番号記憶部701に
格納する。
【0031】 で設定したバンク番号nで正常に命
令文903の命令が処理される。
令文903の命令が処理される。
【0032】 命令文904はバンク切り替え命令で
あるので、バンク番号記憶部701からバンク番号情報
を読み出す。格納されている値は”n”なので命令文9
04で指定するバンク番号”m”と比較し、n≠mの場
合はバンク番号を”m”に切り替えるバンク切り替え命
令を生成し、n=mの場合はバンク切り替え命令は生成
しない。
あるので、バンク番号記憶部701からバンク番号情報
を読み出す。格納されている値は”n”なので命令文9
04で指定するバンク番号”m”と比較し、n≠mの場
合はバンク番号を”m”に切り替えるバンク切り替え命
令を生成し、n=mの場合はバンク切り替え命令は生成
しない。
【0033】 でバンク切り替え命令を生成した場
合は、そのバンク番号”m”をバンク番号記憶部701
に格納する。
合は、そのバンク番号”m”をバンク番号記憶部701
に格納する。
【0034】 で設定したバンク番号mで正常に命
令文905の命令が処理される。
令文905の命令が処理される。
【0035】以上、〜の処理を繰り返すことによ
り、ソース・プログラム中のバンク切り替えを最小の命
令数で実現することができる。
り、ソース・プログラム中のバンク切り替えを最小の命
令数で実現することができる。
【0036】
【発明の効果】以上説明したように、本発明の言語処理
装置では、ソース・プログラム中のステートメントがバ
ンク切り替え命令かレーベル行かの処理を提供すること
ができる。
装置では、ソース・プログラム中のステートメントがバ
ンク切り替え命令かレーベル行かの処理を提供すること
ができる。
【0037】そのため、これまでのプログラム中でバン
ク切り替えの判断をするために必ず、1命令が必要であ
ったが、この機能を利用して参照以前のバンク番号の情
報を知ることができるため、バンク切り替えの判断を最
短の命令数で実現できるという効果がある。
ク切り替えの判断をするために必ず、1命令が必要であ
ったが、この機能を利用して参照以前のバンク番号の情
報を知ることができるため、バンク切り替えの判断を最
短の命令数で実現できるという効果がある。
【図1】本発明の第1の実施例の言語処理装置の構成を
示すブロック図である。
示すブロック図である。
【図2】図1に示すシンボル記憶部の具体例を示す構成
図である。
図である。
【図3】図1に示す言語処理装置の処理の流れを示すフ
ローチャートである。
ローチャートである。
【図4】図1に示すシンボル記憶部の他の具体例を示す
構成図である。
構成図である。
【図5】プログラム言語で記述されたソース・プログラ
ムの一例である。
ムの一例である。
【図6】プログラム言語で記述されたソース・プログラ
ムの他の一例である。
ムの他の一例である。
【図7】本発明の第2の実施例の言語処理装置の構成を
示すブロック図である。
示すブロック図である。
【図8】図7に示す言語処理装置の処理の流れを示すフ
ローチャートである。
ローチャートである。
【図9】図7に示す言語処理装置の専用命令を用いた処
理を示す図である。
理を示す図である。
【図10】従来技術の言語処理装置の処理を示す図であ
る。
る。
101 入力装置 102 言語処理本体 103 命令解読部 104 命令一覧テーブル 105,401 シンボル記憶部 106,201,402 シンボル名記憶部 107,202,403 値格納部 108 出力装置 301〜309,801〜809 処理ステップ 501〜508,601 命令文 701 バンク番号記憶部 901 レーベル行 902〜905,1001〜1004 実行命令
Claims (1)
- 【請求項1】 任意の2つの値より絶対アドレス値を決
定しかつ命令の実行順序が変わる命令を有するプログラ
ム言語で記述されたソース・プログラムを、コンピュー
タが実際に実行できる機械語に変換する言語処理装置に
おいて、前記ソース・プログラムを記憶する第1の記憶
手段と、前記第1の記憶手段から前記ソース・プログラ
ムを読み出す第1の読み出し手段と、前記第1の読み出
し手段により読み出されたステートメントを前記任意の
2つの値のうち一方の絶対アドレス値を変更する命令と
命令の実行順序が変わる命令の目的アドレスかを指定す
るステートメントとに識別する識別手段と、前記識別手
段による識別結果を記憶する第2の記憶手段と、前記第
2の記憶手段から内容を読み出す第2の読み出し手段と
を具備することを特徴とする言語処理装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5018306A JPH06230977A (ja) | 1993-02-05 | 1993-02-05 | 言語処理装置 |
| US08/191,095 US5404533A (en) | 1993-02-05 | 1994-02-04 | Language processing system for converting a source program into a computer executable machine language |
| EP94101827A EP0609903B1 (en) | 1993-02-05 | 1994-02-07 | Program language compiling system |
| DE69425289T DE69425289T2 (de) | 1993-02-05 | 1994-02-07 | Kompilierungssystem für Programmiersprachen |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5018306A JPH06230977A (ja) | 1993-02-05 | 1993-02-05 | 言語処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06230977A true JPH06230977A (ja) | 1994-08-19 |
Family
ID=11967934
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5018306A Pending JPH06230977A (ja) | 1993-02-05 | 1993-02-05 | 言語処理装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5404533A (ja) |
| EP (1) | EP0609903B1 (ja) |
| JP (1) | JPH06230977A (ja) |
| DE (1) | DE69425289T2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6631514B1 (en) * | 1998-01-06 | 2003-10-07 | Hewlett-Packard Development, L.P. | Emulation system that uses dynamic binary translation and permits the safe speculation of trapping operations |
| US20020184611A1 (en) * | 2001-05-30 | 2002-12-05 | Palm, Inc. | Design system and method having improved display of code |
| US7457936B2 (en) | 2003-11-19 | 2008-11-25 | Intel Corporation | Memory access instruction vectorization |
| CN116820419A (zh) * | 2022-03-22 | 2023-09-29 | 瑞昱半导体股份有限公司 | 源代码校验方法及非暂态计算机可读存储介质装置 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0259945A (ja) * | 1988-08-26 | 1990-02-28 | Toshiba Corp | メモリ制御回路 |
| US5201050A (en) * | 1989-06-30 | 1993-04-06 | Digital Equipment Corporation | Line-skip compiler for source-code development system |
| FR2652926B1 (fr) * | 1989-10-06 | 1994-07-08 | Bull Sa | Procede d'exploitation de la memoire dans un systeme informatique du type a adressage virtuel et dispositif pour la mise en óoeuvre dudit procede. |
| JPH0588879A (ja) * | 1991-09-27 | 1993-04-09 | Nec Corp | プログラム開発支援システム |
| US5323489A (en) * | 1991-11-14 | 1994-06-21 | Bird Peter L | Method and apparatus employing lookahead to reduce memory bank contention for decoupled operand references |
-
1993
- 1993-02-05 JP JP5018306A patent/JPH06230977A/ja active Pending
-
1994
- 1994-02-04 US US08/191,095 patent/US5404533A/en not_active Expired - Lifetime
- 1994-02-07 EP EP94101827A patent/EP0609903B1/en not_active Expired - Lifetime
- 1994-02-07 DE DE69425289T patent/DE69425289T2/de not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0609903A2 (en) | 1994-08-10 |
| EP0609903B1 (en) | 2000-07-19 |
| DE69425289D1 (de) | 2000-08-24 |
| DE69425289T2 (de) | 2001-03-15 |
| US5404533A (en) | 1995-04-04 |
| EP0609903A3 (en) | 1997-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4202244B2 (ja) | Vliw型dsp,及びその動作方法 | |
| JP2007272353A (ja) | プロセッサ装置及び複合条件処理方法 | |
| JPH06230977A (ja) | 言語処理装置 | |
| JP3686091B2 (ja) | データ駆動型情報処理装置 | |
| JP3696625B2 (ja) | データ駆動型情報処理装置 | |
| US6934819B2 (en) | Method for memory addressing in micro controller and device using the same | |
| JPS6116334A (ja) | デ−タ処理装置 | |
| JPH05274341A (ja) | ベクトル命令処理装置 | |
| KR100287891B1 (ko) | 테스트 서브루틴 처리장치 및 처리방법 | |
| JP2712896B2 (ja) | 言語処理システム | |
| JP2570959B2 (ja) | データ処理装置 | |
| JP3190945B2 (ja) | マイクロプログラム制御回路 | |
| JP3705263B2 (ja) | シーケンサ | |
| KR100294655B1 (ko) | 멀티타스크기능을수행하는마이컴프로그래머블콘트롤러의제어방법 | |
| JP3392413B2 (ja) | 2レベルマイクロ制御方式及び方法 | |
| US5822775A (en) | Efficient data processing method for coefficient data in a digital dignal, processor | |
| JP2764358B2 (ja) | データ駆動型情報処理装置 | |
| JPS6411973B2 (ja) | ||
| JPH05282143A (ja) | 主記憶アクセス制御回路 | |
| JPH08297583A (ja) | 割り込み処理装置およびその方法 | |
| JP2576589B2 (ja) | 仮想記憶アクセス制御方式 | |
| JPH09282160A (ja) | 多分岐制御方式 | |
| JPH05224919A (ja) | マイクロプロセッサのプログラム実行方式 | |
| JP2004021498A (ja) | プログラム最適化方法 | |
| JPH02249006A (ja) | プログラマブルコントローラ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000613 |