JP3520966B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JP3520966B2 JP3520966B2 JP26444098A JP26444098A JP3520966B2 JP 3520966 B2 JP3520966 B2 JP 3520966B2 JP 26444098 A JP26444098 A JP 26444098A JP 26444098 A JP26444098 A JP 26444098A JP 3520966 B2 JP3520966 B2 JP 3520966B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- instance
- address
- register
- start address
- 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.)
- Expired - Lifetime
Links
Landscapes
- Executing Machine-Instructions (AREA)
Description
し、特に、インスタンスを持つ関数の呼び出し方式に適
用して好適なものである。
タなどの演算制御装置には、インスタンスを持った関数
の処理が可能な言語体系で記述されたプログラムで動作
するものがある。このような言語体系として、例えば、
「IEC1131−3」で規定されているコントローラ
用の言語があり、この中のファンクションブロック(F
B)がインスタンスメモリを持った関数に相当する。
シン語展開例である。ここで、関数funcA及び関数
funcBは、それぞれ独自のインスタンスを持ってい
るものとする。インスタンスとは、関数が実行する時に
固定で持つメモリ領域であり、前回の処理値などが格納
される。なお、同じ関数であっても、その関数をコール
する位置が異なれば、インスタンスの格納位置も異な
る。
数funcAを呼び出す場合、関数funcAのインス
タンス先頭アドレスをプロセッサ内のアドレスレジスタ
にセットし、関数funcAを呼び出す。次に、関数f
uncAが関数funcBを呼び出す場合、関数fun
cAのインスタンス先頭アドレスがプロセッサ内のアド
レスレジスタにセットされているため、関数funcA
のインスタンス先頭アドレスをスタックに退避させてか
ら()、関数funcBのインスタンス先頭アドレス
をプロセッサ内のアドレスレジスタにセットし()、
関数funcBを呼び出す。次に、関数funcBの処
理が終了し、関数funcAの処理に戻る場合、関数f
uncAのインスタンス先頭アドレスがプロセッサ内の
アドレスレジスタにセットされている必要がある。この
ため、スタックに退避させていた関数funcAのイン
スタンス先頭アドレスをプロセッサ内のアドレスレジス
タにセットし()、関数funcAの処理に戻る。
場合の従来の関数呼び出し方法を示すマシン語展開例で
ある。図6の例では、メイン関数MAINは関数fun
cAを2箇所で呼び出しており、関数funcAのメイ
ン関数MAINで呼ばれる位置が異なると、関数fun
cAのインスタンスの格納位置も異なる。このため、関
数funcA1及び関数funcA2の2つのオブジェ
クトが生成されている。
1の位置で関数funcAを呼び出す場合、関数fun
cA1のインスタンス先頭アドレスをプロセッサ内のア
ドレスレジスタにセットし、関数funcA1を呼び出
す。次に、関数funcA1が関数funcBを呼び出
す場合、関数funcA1のインスタンス先頭アドレス
がプロセッサ内のアドレスレジスタにセットされている
ため、関数funcA1のインスタンス先頭アドレスを
スタックに退避させてから、関数funcB1のインス
タンス先頭アドレスをプロセッサ内のアドレスレジスタ
にセットし、関数funcBを呼び出す。次に、関数f
uncBの処理が終了し、関数funcA1の処理に戻
る場合、関数funcA1のインスタンス先頭アドレス
がプロセッサ内のアドレスレジスタにセットされている
必要がある。このため、スタックに退避させていた関数
funcA1のインスタンス先頭アドレスをプロセッサ
内のアドレスレジスタにセットし、関数funcAの処
理に戻る。
で関数funcAを呼び出す場合、関数funcA2の
インスタンス先頭アドレスをプロセッサ内のアドレスレ
ジスタにセットし、関数funcA2を呼び出す。次
に、関数funcA2が関数funcBを呼び出す場
合、関数funcA2のインスタンス先頭アドレスがプ
ロセッサ内のアドレスレジスタにセットされているた
め、関数funcA2のインスタンス先頭アドレスをス
タックに退避させてから、関数funcB2のインスタ
ンス先頭アドレスをプロセッサ内のアドレスレジスタに
セットし、関数funcBを呼び出す。次に、関数fu
ncBの処理が終了し、関数funcA2の処理に戻る
場合、関数funcA2のインスタンス先頭アドレスが
プロセッサ内のアドレスレジスタにセットされている必
要がある。このため、スタックに退避させていた関数f
uncA2のインスタンス先頭アドレスをプロセッサ内
のアドレスレジスタにセットし、関数funcAの処理
に戻る。
関数呼び出し方法では、インスタンスを持つ関数fun
cAからインスタンスを持つ関数funcBを呼び出す
場合、関数funcAのインスタンス先頭アドレスをア
ドレスレジスタのスタックに退避させ、関数funcB
のインスタンス先頭アドレスをアドレスレジスタにセッ
トさせる必要があるとともに、関数funcAの処理に
戻る場合には、関数funcAのインスタンス先頭アド
レスをアドレスレジスタに再びセットさせる必要があ
り、これらの処理を実行するプログラムが複雑になると
いう問題があった。
funcAが複数箇所で使用されている場合、関数fu
ncAは各呼び出し位置ごとに別々のインスタンスを持
ち、関数funcAから呼び出される関数funcBも
各関数funcAごとに独自のインスタンスを持つ。こ
のため、同一の関数funcAを呼び出す場合において
も、関数funcAの呼ばれている個数分のオブジェク
トを生成し、それぞれの関数funcAが呼び出す関数
funcBのインスタンス先頭アドレスをアドレスレジ
スタにセットするマシン語を生成する必要があるという
問題があった。
持つ関数の呼び出しプログラムを簡略化することが可能
な情報処理装置を提供することである。
ために、本発明によれば、 インスタンスを持つ関数の
処理を行う情報処理装置において、スタックを有するア
ドレスレジスタと、第1の1マシン語命令で、第1の関
数の呼び出し位置によるインスタンスの先頭アドレスを
前記スタックに退避させ、第2の関数の呼び出し位置に
よるインスタンスの先頭アドレスを前記アドレスレジス
タに設定する手段と、第2の1マシン語命令で、前記第
1の関数の呼び出し位置によるインスタンスの先頭アド
レスを前記スタックから取り出し、前記アドレスレジス
タに設定する手段と、前記第1の関数の中で、前記第1
の1マシン語命令で前記アドレスレジスタに設定した前
記第2の関数の呼び出し位置によるインスタンスの先頭
アドレスと呼び出し命令で、前記第2の関数と前記第2
の関数の呼び出し位置によるインスタンスを呼び出す手
段を備えている。
の呼び出しプログラムを簡略化することが可能となると
ともに、これらの命令をハードウェアで直接実行するこ
とにより、インスタンスを持つ関数の呼び出し処理を高
速に実行することが可能となる。
の関数の呼び出し位置によるインスタンスの先頭アドレ
スを前記第1の関数の呼び出し位置によるインスタンス
に設定する手段を備えることを特徴とする。これらのこ
とにより、同一の関数を複数の箇所で使用する場合にお
いても、その関数のオブジェクトを各箇所ごとに個別に
生成する必要がなくなり、インスタンスを持つ関数の呼
び出し処理を効率的に行うことが可能となる。
情報処理装置について図面を参照しながら説明する。図
1は、本発明の一実施例に係わる情報処理装置の構成を
示すブロック図である。図1において、CPU1には、
フェッチ制御部5、データメモリアクセス制御部6及び
演算実行部8が設けられ、データメモリアクセス制御部
6には、スタック構造を持つアドレスレジスタ部7が設
けられている。
が設けられ、関数のインスタンスは、インスタンスメモ
リ4にマッピングされる。なお、同じ関数であっても、
その関数のコールする位置が異なれば、インスタンスの
格納位置も異なる。
から命令を取り出し、演算実行部8に供給する。データ
メモリアクセス制御部6は、データメモリ3からデータ
を取り出し、演算実行部8に供給する。
られた命令に従って、データメモリアクセス制御部6か
ら送られたデータを処理する。関数をコールする場合、
その関数のインスタンスメモリ4の先頭アドレスをアド
レスレジスタ部7にセットし、その関数内でインスタン
スメモリ4にアクセスする時は、アドレスレジスタ部7
をベースレジスタとしてインスタンスメモリ4にアクセ
スする。
関数Aのインスタンス4aの先頭アドレスをアドレスレ
ジスタ部7のスタックに退避させ、関数Bのインスタン
ス4bの先頭アドレスをアドレスレジスタ部7に設定す
る。そして、関数Bから関数Aに復帰する時に、関数A
のインスタンス4aの先頭アドレスをアドレスレジスタ
部7のスタックから取り出し、関数Aのインスタンス4
aの先頭アドレスをアドレスレジスタ部7に書き戻す。
て、関数Aから呼ばれる関数Bのインスタンス4bの領
域の先頭アドレスを、関数Aのインスタンス4aの領域
に予めセットしておく。
び出し方法を示すプログラム例及びインスタンスメモリ
の内容を示す図である。図2において、メイン関数ma
inのの位置で関数funcAを呼び出すために、P
USH_IS100命令が使用されている。また、メイ
ン関数mainのの位置で関数funcAを呼び出す
ために、PUSH_IS140命令が使用されている。
関数funcAでは、関数funcAから関数func
Bを呼び出すために、PUSH_IS(IS+0)命令
が使用されている。関数funcBでは、関数func
Bから関数funcAに復帰するために、POP_IS
命令が使用されている。
のインスタンスメモリ4の領域として、データメモリ3
の100〜119番地が割り当てられ、の位置の関数
funcAから呼ばれる関数funcBのインスタンス
メモリ4の領域として、データメモリ3の120〜13
9番地が割り当てられ、の位置で呼ばれる関数fun
cAのインスタンスメモリ4の領域として、データメモ
リ3の140〜159番地が割り当てられ、の位置の
関数funcAから呼ばれる関数funcBのインスタ
ンスメモリ4の領域として、データメモリ3の160〜
179番地が割り当てられている。
Aのインスタンスメモリ4の領域(100番地)には、
の位置の関数funcAから呼ばれる関数funcB
のインスタンスメモリ4の領域の先頭アドレス(120
番地)を格納し、の位置で呼ばれる関数funcAの
インスタンスメモリ4の領域(140番地)には、の
位置の関数funcAから呼ばれる関数funcBのイ
ンスタンスメモリ4の領域の先頭アドレス(160番
地)を格納しておく。
H_IS命令は、現在処理している関数のインスタンス
の先頭アドレスをアドレスレジスタ部7のスタックに退
避させ、これから呼び出す関数のインスタンスの先頭ア
ドレスをアドレスレジスタ部7にセットする。
在処理している関数のインスタンスの先頭アドレスをア
ドレスレジスタ部7のスタックに退避させ、の位置で
呼び出す関数funcAのインスタンスメモリの先頭ア
ドレス(100番地)をアドレスレジスタ部7にセット
する。また、PUSH_IS140命令は、現在処理し
ている関数のインスタンスの先頭アドレスをアドレスレ
ジスタ部7のスタックに退避させ、の位置で呼び出す
関数funcAのインスタンスメモリの先頭アドレス
(140番地)をアドレスレジスタ部7にセットする。
IS(IS+0)命令は、現在処理している関数のイン
スタンスの先頭アドレスをアドレスレジスタ部7のスタ
ックに退避させ、インスタンスメモリ4の(IS+0)
番地に格納されているデータをアドレスレジスタ部7に
セットする。ここで、ISは、現在処理している関数の
インスタンスの先頭アドレスである。
IS100命令が実行され、の位置で関数funcA
が呼ばれた後、関数funcAのPUSH_IS(IS
+0)命令が実行されると、アドレスレジスタ部7にセ
ットされている関数funcAのインスタンスメモリ
の先頭アドレス(100番地)を、アドレスレジスタ部
7のスタックに退避させる。そして、インスタンスメモ
リの100番地に格納されているデータ(120番地)
をアドレスレジスタ部7にセットし、関数funcBを
呼び出す。
S140命令が実行され、の位置で関数funcAが
呼ばれた後、関数funcAのPUSH_IS(IS+
0)命令が実行されると、アドレスレジスタ部7にセッ
トされている関数funcAのインスタンスメモリの
先頭アドレス(140番地)を、アドレスレジスタ部7
のスタックに退避させる。そして、インスタンスメモリ
の140番地に格納されているデータ(160番地)を
アドレスレジスタ部7にセットし、関数funcBを呼
び出す。
関数funcBを呼び出した時には、先頭アドレスが1
20番地の関数funcBのインスタンスを用いて処理
を行うことが可能となるとともに、の位置の関数fu
ncAから関数funcBを呼び出した時には、先頭ア
ドレスが160番地の関数funcBのインスタンスを
用いて処理を行うことが可能となり、同一の関数fun
cAから関数funcBを異なる位置で呼び出した場合
においても、関数funcAの呼び出し位置に応じて、
関数funcBのインスタンスを使い分けることが可能
となる。
S命令は、関数funcBを呼び出した関数funcA
のインスタンスの先頭アドレスをアドレスレジスタ部7
のスタックから取り出し、アドレスレジスタ部7に設定
するこのように、PUSH_IS命令及びPOP_IS
命令を用いて、インスタンスを持つ関数の呼び出し処理
を実行することにより、プログラムを簡潔に動作させる
ことができる。
uncBのインスタンスメモリ4の領域の先頭アドレス
を、関数funcAのインスタンスメモリ4の領域に格
納しておき、PUSH_IS(IS+0)命令を用い
て、関数funcBのインスタンスメモリ4の先頭アド
レスを指定することにより、関数funcBのインスタ
ンスメモリ4の先頭アドレスを関数funcAの中で直
接指定する必要がなくなる。このため、及びのそれ
ぞれの位置に対応して別個に生成された関数funcB
のインスタンスに対し、関数funcAのオブジェクト
をそれぞれ別個に生成する必要がなくなり、インスタン
スを持つ関数の呼び出し処理を効率的に行うことが可能
となる。
例を示すブロック図である。図3において、プロセッサ
11には、フェッチ制御部14、フェッチデータ格納レ
ジスタ15、マイクロプログラム制御部16、データア
クセス制御部17、ISレジスタ18、ISレジスタス
タックポインタ19及び加減算器20が設けられ、フェ
ッチ制御部14はプログラムメモリ12から命令を取り
出して、フェッチデータ格納レジスタ15に格納する。
ンスタンスメモリ領域が各関数funcA、funcB
の呼び出し位置、ごとに設けられている。また、呼
び出し元の関数funcAのインスタンスメモリの領域
には、呼び出し先の関数funcBのインスタンスメモ
リの先頭アドレスが格納されている。
リ13のデータの読み出しや書き込みを行い、ISレジ
スタ18は、現在処理している関数のインスタンスの先
頭アドレスを格納する。
H_IS命令を実行する場合、ISレジスタ18の内容
をISレジスタスタックポインタ19に退避させ、加減
算器20にISレジスタスタックポインタ19を1だけ
インクリメントさせた後、これから呼び出す関数のイン
スタンスの先頭アドレスをISレジスタ18にセットす
る。
POP_IS命令を実行する場合、呼び出し元の関数の
インスタンスの先頭アドレスをISレジスタスタックポ
インタ19から取り出してISレジスタ18にセット
し、加減算器20にISレジスタスタックポインタ19
を1だけデクリメントさせる。
PUSH_IS(IS+0)命令を実行する場合、IS
レジスタ18の内容をISレジスタスタックポインタ1
9に退避させ、加減算器20にISレジスタスタックポ
インタ19を1だけインクリメントさせる。そして、デ
ータメモリ13の(IS+0)番地に格納されているデ
ータを読み出すように、データアクセス制御部17に指
示する。なお、ISは、呼び出し元の関数のインスタン
スの先頭アドレスを示し、データメモリ13の(IS+
0)番地には、呼び出し先の関数のインスタンスの先頭
アドレスが格納されている。データアクセス制御部17
は、データメモリ13の(IS+0)番地に格納されて
いるデータを読み出すと、そのデータをISレジスタ1
8にセットする。
び出し方法を示すフローチャートである。なお、これら
の処理は、マイクロプログラムで実行することができ
る。図4において、PUSH_IS100命令が実行さ
れると、ISレジスタ18の内容をISレジスタスタッ
クポインタ19に格納し(ステップS1)、ISレジス
タスタックポインタ19の内容を1だけインクリメント
し(ステップS2)、ISレジスタ18に100をセッ
トする(ステップS3)。
ジスタスタックポインタ19の内容をISレジスタ18
に格納し(ステップS11)、ISレジスタスタックポ
インタ19の内容を1だけデクリメントする(ステップ
S12)。
れると、ISレジスタ18の内容をISレジスタスタッ
クポインタ19に格納し(ステップS21)、ISレジ
スタスタックポインタ19の内容を1だけインクリメン
トし(ステップS22)、ISレジスタ18に(IS+
0)番地のデータをセットする(ステップS23)。平
成15年11月6日付けで出願人名義変更届提出済み
第1のインスタンスの先頭アドレスをスタックに退避さ
せ、第2のインスタンスの先頭アドレスをアドレスレジ
スタに設定する命令と、前記第1のインスタンスの先頭
アドレスを前記スタックから取り出し、前記アドレスレ
ジスタに設定する命令を用いることにより、インスタン
スを持つ関数の呼び出しプログラムを簡略化することが
可能となるとともに、これらの命令をハードウェアで直
接実行することにより、インスタンスを持つ関数の呼び
出し処理を高速に実行することが可能となる。
先の関数のインスタンスの先頭アドレスを、呼び出し元
の関数のインスタンスに設定することにより、同一の関
数を複数の箇所で使用する場合においても、その関数の
オブジェクトを各箇所ごとに個別に生成する必要がなく
なり、インスタンスを持つ関数の呼び出し処理を効率的
に行うことが可能となる。
を示すブロック図である。
示すプログラム例及びインスタンスメモリの内容を示す
図である。
ロック図である。
示すフローチャートである。
ある。
関数呼び出し方法を示すプログラム例である。
Claims (2)
- 【請求項1】 インスタンスを持つ関数の処理を行う情
報処理装置において、 スタックを有するアドレスレジスタと、第1の 1マシン語命令で、第1の関数の呼び出し位置に
よるインスタンスの先頭アドレスを前記スタックに退避
させ、第2の関数の呼び出し位置によるインスタンスの
先頭アドレスを前記アドレスレジスタに設定する手段
と、第2の 1マシン語命令で、前記第1の関数の呼び出し位
置によるインスタンスの先頭アドレスを前記スタックか
ら取り出し、前記アドレスレジスタに設定する手段と、 前記第1の関数の中で、前記第1の1マシン語命令で前
記アドレスレジスタに設定した前記第2の関数の呼び出
し位置によるインスタンスの先頭アドレスと呼び出し命
令で、前記第2の関数と前記第2の関数の呼び出し位置
によるインスタンスを呼び出す手段 を備えることを特徴
とする情報処理装置。 - 【請求項2】 前記第2の関数の呼び出し位置によるイ
ンスタンスの先頭アドレスを前記第1の関数の呼び出し
位置によるインスタンスに設定する手段を備えることを
特徴とする請求項1に記載の情報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26444098A JP3520966B2 (ja) | 1998-09-18 | 1998-09-18 | 情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26444098A JP3520966B2 (ja) | 1998-09-18 | 1998-09-18 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000099331A JP2000099331A (ja) | 2000-04-07 |
| JP3520966B2 true JP3520966B2 (ja) | 2004-04-19 |
Family
ID=17403232
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP26444098A Expired - Lifetime JP3520966B2 (ja) | 1998-09-18 | 1998-09-18 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3520966B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111209042B (zh) * | 2020-01-06 | 2022-08-26 | 北京字节跳动网络技术有限公司 | 一种建立函数栈的方法、装置、介质和电子设备 |
-
1998
- 1998-09-18 JP JP26444098A patent/JP3520966B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000099331A (ja) | 2000-04-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0330226B1 (en) | Apparatus of and method for executing subprogram in bank switching data processing system | |
| JPS6259812B2 (ja) | ||
| US6564283B1 (en) | Data processing system for expanded addresses | |
| JPH10207717A (ja) | マイクロコンピュータ | |
| JP2003515805A (ja) | プロセッサシステム | |
| JP3520966B2 (ja) | 情報処理装置 | |
| JP3088303B2 (ja) | キャッシュ・メモリ・バンク制御装置 | |
| JPS61296407A (ja) | マルチプロセツサ式数値制御装置 | |
| JPS62151940A (ja) | レジスタ退避/復帰方式 | |
| JPH056281A (ja) | 情報処理装置 | |
| JP3074809B2 (ja) | プログラマブル・コントローラ | |
| JPH05290188A (ja) | 超並列計算機 | |
| JP3345050B2 (ja) | 二次元配列型メモリシステム | |
| JPH07109589B2 (ja) | 命令処理方式 | |
| JP2972557B2 (ja) | データ転送制御装置および制御方法 | |
| JP3022848B2 (ja) | マルチタスクのタスク切り替え方法とリアルタイム・オペレーティング・システム | |
| JP3095483B2 (ja) | レジスタ保存命令処理方法 | |
| JPH0442328A (ja) | 情報処理装置の割り込み制御方式 | |
| JPH0512107A (ja) | プログラム実行方式 | |
| JPH0661039B2 (ja) | メモリアクセス制御回路 | |
| JPH03201133A (ja) | 情報処理装置 | |
| JPH0231265A (ja) | Dma制御装置 | |
| JPH0682321B2 (ja) | マイクロ制御装置 | |
| JPH0812637B2 (ja) | アドレス変換方式 | |
| JPH03259338A (ja) | 情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031208 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20031208 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040120 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040128 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040218 |
|
| A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20040525 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080213 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090213 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090213 Year of fee payment: 5 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090213 Year of fee payment: 5 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100213 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110213 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110213 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120213 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120213 Year of fee payment: 8 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120213 Year of fee payment: 8 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130213 Year of fee payment: 9 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |