JPH05324395A - Program debugging device - Google Patents

Program debugging device

Info

Publication number
JPH05324395A
JPH05324395A JP4114340A JP11434092A JPH05324395A JP H05324395 A JPH05324395 A JP H05324395A JP 4114340 A JP4114340 A JP 4114340A JP 11434092 A JP11434092 A JP 11434092A JP H05324395 A JPH05324395 A JP H05324395A
Authority
JP
Japan
Prior art keywords
interrupt
program
location
instruction
specific software
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.)
Withdrawn
Application number
JP4114340A
Other languages
Japanese (ja)
Inventor
Takashi Yanagihara
▲隆▼ 柳原
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 JP4114340A priority Critical patent/JPH05324395A/en
Publication of JPH05324395A publication Critical patent/JPH05324395A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To provide the program debugging device capable of breaking operation and data tracing at the optional position of a program even for the ROMed program. CONSTITUTION:The optional debugging position is registered by a register group 14 and the read position of an instruction is held by a register 15. Coincidence between the register group 14 and the register 15 is discriminated by a comparator 16. An interruption instruction transmission part 17 transmits a specific software interruption instruction at the time of the coincidence and masks the actually stored instruction. A specific software interruption processing part 22 analyzes the position of an interruption source when the interruption is generated by the execution of the specific software interruption instruction and performs the breaking operation or the data racing based on preregistered information. A command processing part 24 sets, changes or displays registered positions information to be referred to by the specific software interruption processing part 22. A RAM 13 is used as a working area. A CPU 11 corrects the debugging information of the optional debugging position by the software interruption.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はプログラムのデバッグを
行うためのデバッグ装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a debugging device for debugging a program.

【0002】[0002]

【従来の技術】プログラムのデバッグ装置では、従来か
らプログラムと固定データを、記憶内容の変更が可能な
記憶素子としてのRAM(ランダム・アクセス・メモ
リ)に格納してデバッグを行うようになっている。
2. Description of the Related Art Conventionally, in a program debugging device, a program and fixed data are stored in a RAM (random access memory) as a storage element whose storage content can be changed for debugging. ..

【0003】このような装置では、ある特定なソフトウ
ェア割込命令を、コマンド処理部でアプリケーション・
プログラムに書き込んでおく。そして、アプリケーショ
ン部でその特定なソフト割込命令を実行する。
In such a device, a specific software interrupt instruction is sent to the command processor by the application processor.
Write it in the program. Then, the application unit executes the specific software interrupt instruction.

【0004】このある特定なソフトウェア割込命令の実
行によって起動された割込処理部では、割込復旧情報か
ら割込元の箇所を求める。次に処理情報の登録テーブル
を割込元の箇所でインデックスして予め登録されてある
処理種別を求め、データ・トレースまたはブレーク動作
を行う。
In the interrupt processing unit activated by the execution of this specific software interrupt instruction, the location of the interrupt source is obtained from the interrupt recovery information. Next, the registration table of the processing information is indexed at the location of the interrupt source to obtain the previously registered processing type, and the data trace or break operation is performed.

【0005】その後、ある特定なソフトウェア割込命令
を書き込む前の元の命令を復活させて、シングル・ステ
ップ動作を設定し、その元の命令を実行するように割込
復旧情報中の命令実行ポインタを1命令戻す設定とをし
てから、割り込みを復旧させる。
After that, the original instruction before writing a specific software interrupt instruction is restored, the single step operation is set, and the original instruction is executed so that the original instruction is executed. After setting 1 to return one instruction, restore the interrupt.

【0006】元の命令を実行直後、設定されてあったシ
ングル・ステップ割り込みによって起動された割込処理
で、シングル・ステップ動作の解除と、再度、ある特定
なソフトウェア割込命令を書き込み後、割り込み復旧を
行うようになっていた。
Immediately after executing the original instruction, the interrupt processing started by the set single-step interrupt cancels the single-step operation, and again writes a specific software interrupt instruction, and then interrupts. It was supposed to be restored.

【0007】[0007]

【発明が解決しようとする課題】このような従来のプロ
グラムのデバッグ装置では、プログラムをRAMに記憶
させて、コマンドによってある特定のソフトウェア割込
命令に置き換えるようなっていた。したがって、プログ
ラムと固定データを記憶内容の書き換えが不可能なRO
M(リード・オンリ・メモリ)に記憶させるようにした
装置では、このような方法をとることができなかった。
In such a conventional program debugging device, the program is stored in the RAM and replaced with a specific software interrupt instruction by a command. Therefore, it is impossible to rewrite the stored contents of the program and fixed data.
Such a method could not be adopted in a device which stores data in M (read only memory).

【0008】そこで本発明の目的は、ROM化したプロ
グラムでも、予め登録した所望の箇所でデータのトレー
スとブレーク動作を行うことのできるプログラムのデバ
ッグ装置を提供することにある。
Therefore, an object of the present invention is to provide a program debugging device capable of performing a data trace and a break operation at a desired location registered in advance even in a ROMized program.

【0009】[0009]

【課題を解決するための手段】本発明のプログラムのデ
バッグ装置は、予め任意のデバッグ箇所を登録するレジ
スタ群と、このレジスタ群に登録された箇所で、命令読
みだしを行うと記憶内容にかかわらず、ある特定のソフ
トウェア割込命令をバス上に送出する割込命令送出部を
有するメモリ・バスと、前記ある特定のソフトウェア割
込命令の実行による割り込みが発生したときに割込元の
箇所を解析して、予め登録された情報を基にしてデータ
・トレースまたはブレーク動作を行う割込処理部と、前
記任意のデバッグ箇所および前記割込処理部で参照する
登録情報を設定、変更あるいは表示するコマンド処理部
のそれぞれを構成するプログラムと固定データを記憶し
た第1の記憶手段と、プログラム実行中のワーク・エリ
アとしての第2の記憶手段と、前記割り込みの発生によ
り任意のデバッグ箇所のデバッグ情報を収集する中央処
理装置とを備える。
A program debugging apparatus according to the present invention has a register group in which an arbitrary debug location is registered in advance, and if an instruction is read at a location registered in this register group, the memory content will not be affected. First, a memory bus having an interrupt instruction sending unit for sending a specific software interrupt instruction to the bus and a location of an interrupt source when an interrupt occurs due to the execution of the specific software interrupt instruction. Set, change, or display an interrupt processing unit that analyzes and performs a data trace or break operation based on previously registered information, and the registration information referred to by the arbitrary debug location and the interrupt processing unit. A first storage unit that stores a program and fixed data that configure each of the command processing units, and a second storage unit that is a work area during program execution. Comprising a 憶 means, a central processing unit for collecting debug information for any debug points by the occurrence of the interrupt.

【0010】また、前記メモリ・バスは、任意のデバッ
グ箇所を登録するレジスタ群と、このレジスタ群に登録
された箇所と命令の読みだし箇所との一致を判定する比
較器と、ある特定のソフトウェア割込命令を送出する割
込命令送出部と、この割込命令送出部の動作を有効ある
いは無効にする制御部とを備える構成としてもよく、前
記割込処理部は、割込復旧情報から割込元の箇所を求
め、次に収集すべきデータの内容を登録した登録情報を
インデックスしてデータ・トレースまたはブレーク動作
を行う構成にしてもよい。
The memory bus is provided with a register group for registering an arbitrary debug point, a comparator for determining a match between the register point and the instruction read point, and a specific software. The interrupt processing unit may be configured to include an interrupt command transmitting unit that transmits an interrupt command and a control unit that enables or disables the operation of the interrupt command transmitting unit. It is also possible to obtain the location of the data source and to index the registration information in which the content of the data to be collected next is registered to perform the data trace or break operation.

【0011】[0011]

【実施例】次に本発明について図面を参照して説明す
る。
The present invention will be described below with reference to the drawings.

【0012】図1は本発明によるプログラムのデバッグ
装置の一実施例の構成を示したブロック図である。本実
施例のデバッグ装置は、中央処理装置(CPU)11
と、プログラムと固定データとを記憶したROM12
と、ワーク・エリアとしてのRAM13と、デバッグ箇
所を登録するレジスタ群14と、命令の読みだし箇所を
保持するレジスタ15と、レジスタ群14とレジスタ1
5との一致を判定する比較器16と、メモリ・バスにあ
る特定なソフトウェア割込命令を送出する送出部とその
動作の有効あるいは無効を制御する制御部とからなる割
込命令送出部17と、メモリ・データ・バス18と、メ
モリ・アドレス・バス19と、命令とアドレスとデータ
の制御をするメモリ・コントロール・バス20とによっ
て構成されている。
FIG. 1 is a block diagram showing the configuration of an embodiment of a program debugging apparatus according to the present invention. The debugging device of this embodiment is a central processing unit (CPU) 11
And a ROM 12 storing a program and fixed data
A RAM 13 as a work area, a register group 14 for registering a debug location, a register 15 for holding an instruction read location, a register group 14 and a register 1.
5, a comparator 16 for judging the coincidence with 5, and an interrupt command sending unit 17 comprising a sending unit for sending a specific software interrupt command on the memory bus and a control unit for controlling the validity or invalidity of its operation. , A memory data bus 18, a memory address bus 19, and a memory control bus 20 for controlling instructions, addresses and data.

【0013】ROM12内には、アプリケーション部2
1,ある特定なソフトウェア割込命令の特定ソフトウェ
ア割込処理部22,シングル・ステップ割り込みのシン
グルステップ割込処理部23およびコマンド処理部24
をそれぞれ実現するためのプログラムが格納されてい
る。
The application section 2 is stored in the ROM 12.
1, a specific software interrupt processing unit 22 of a specific software interrupt instruction, a single-step interrupt single-step interrupt processing unit 23 and a command processing unit 24
The programs for realizing each are stored.

【0014】図2は図1のアプリケーション部における
プログラムの流れの一例を簡略化して表した流れ図であ
る。アプリケーション部21では、ある処理Aが行われ
(ステップS101)、次にデバッグ箇所の命令を実行
することになる(ステップS102)。デバッグ箇所と
して、レジスタ群14に予め登録されていると、この命
令を読み出す際に、割込命令送出部17が有効となり、
実際に記憶されている命令の代わりに、ある特定のソフ
トウェア割込命令にすりかわって読みだされ実行され
る。
FIG. 2 is a simplified flow chart showing an example of the flow of the program in the application section of FIG. In the application unit 21, a certain process A is performed (step S101), and then the instruction at the debug location is executed (step S102). If the register group 14 is registered in advance as a debug point, the interrupt instruction sending unit 17 becomes effective when reading this instruction,
Instead of the instruction actually stored, it is read and executed in place of a specific software interrupt instruction.

【0015】図3は図1の特定ソフトウェア割込処理部
22の処理の様子を表した流れ図である。特定ソフトウ
ェア割込処理部22では、先ず割込元となる箇所を解析
する処理が行われる(ステップS201)。次に、解析
した割込箇所をインデックスして、予め登録された情報
を索引する処理が行われる(ステップS202)。
FIG. 3 is a flowchart showing how the specific software interrupt processing section 22 of FIG. 1 performs processing. The specific software interrupt processing unit 22 first performs a process of analyzing a location that is an interrupt source (step S201). Next, a process of indexing the analyzed interrupt location and indexing information registered in advance is performed (step S202).

【0016】索引が行われたら、得られた情報を基にし
てそれに応じた処理が行われる。すなわち、処理の種別
がデータ・トレースの場合には(ステップS203;Y
es)、登録情報中の処理すべきデータを収集して(ス
テップS204)、次の処理(ステップS206)へ進
む。
After the indexing is performed, the corresponding processing is performed based on the obtained information. That is, when the type of processing is data trace (step S203; Y
es), collect the data to be processed in the registration information (step S204), and proceed to the next processing (step S206).

【0017】処理の種別がブレーク動作の場合には(ス
テップS203;No)、モニタに制御を渡す(ステッ
プS205)。そして、モニタから制御を戻されたら、
次の処理(ステップS206)へ進む。
When the type of processing is break operation (step S203; No), control is passed to the monitor (step S205). And when the monitor returns control,
The process proceeds to the next process (step S206).

【0018】次の処理では、デバッグ箇所に実際に記憶
されている命令を実行する(ステップS102)ため
に、 (イ)シングル・ステップ動作を設定する。
In the next processing, in order to execute the instruction actually stored in the debug location (step S102), (a) single step operation is set.

【0019】(ロ)割込命令送出部17の動作設定を無
効にし、割込命令の送出を停止する。
(B) The operation setting of the interrupt command sending section 17 is invalidated and the sending of the interrupt command is stopped.

【0020】(ハ)割込復旧情報中の命令実行ポインタ
を1命令戻す。
(C) The instruction execution pointer in the interrupt recovery information is returned by one instruction.

【0021】の一連の処理を実行後、割り込みを復旧さ
せる(終了)。
After executing the series of processes, the interrupt is restored (end).

【0022】再び、図2のアプリケーション部21に戻
る。割込命令送出部17の動作設定が無効であるので、
デバッグ箇所に実際に記憶されている命令が実行される
(ステップS102)。また、シングル・ステップ動作
の設定がしてあるので、次の処理Bが行われる(ステッ
プS103)前に、再び、シングル・ステップの割り込
みが発生する。
Returning again to the application section 21 of FIG. Since the operation setting of the interrupt command sending unit 17 is invalid,
The instruction actually stored in the debug location is executed (step S102). Further, since the single-step operation is set, a single-step interrupt is generated again before the next process B is performed (step S103).

【0023】図4は図1のシングル・ステップ割込処理
部の制御の様子を表した流れ図である。シングル・ステ
ップ割込処理部23では、再度、デバッグ箇所の設定を
有効とするために、 (イ)シングル・ステップ動作を解除する。
FIG. 4 is a flow chart showing the control of the single-step interrupt processing unit of FIG. The single-step interrupt processing unit 23 again releases the (a) single-step operation in order to validate the setting of the debug location again.

【0024】(ロ)割込命令送出部17の動作設定を有
効にし、割込命令の送出を有効とする。
(B) The operation setting of the interrupt command sending section 17 is made valid, and the sending of the interrupt command is made valid.

【0025】の一連の処理を実行後、割り込みを復旧さ
せる(終了)。
After executing the series of processes of (1), the interrupt is restored (end).

【0026】図5は図1のコマンド処理部24の制御の
様子を表した流れ図である。コマンド処理部24では、
任意のデバッグ箇所をレジスタ群14に登録し、かつ、
任意のある特定のソフトウェア割込命令により起動され
る特定ソフトウェア割込処理部22で参照する登録情報
の設定を行ったり、変更あるいは表示を行う(ステップ
S401)。
FIG. 5 is a flow chart showing the control of the command processing section 24 of FIG. In the command processing unit 24,
Register an arbitrary debug location in the register group 14, and
The registration information referred to by the specific software interrupt processing unit 22 activated by an arbitrary specific software interrupt command is set, changed, or displayed (step S401).

【0027】以上説明したように本実施例のプログラム
のデバッグ装置では、2種類の処理の種別を、アプリケ
ーション部21の任意のデバッグ箇所で、予めレジスタ
群に登録し、その箇所の実際に記憶されている命令の代
わりにある特定なソフトウェア命令をCPU11に送り
込むことによって、ソフトウェア割り込みを発生させ、
該当箇所のデバッグ情報を収集する。したがって、アプ
リケーション部21のプログラムがROMに記憶されて
いても、デバッグ情報の収集機能を実現することができ
る。
As described above, in the program debugging apparatus of this embodiment, two types of processing are registered in advance in the register group at any debug location of the application section 21 and are actually stored at that location. A specific software command instead of the current command to the CPU 11 to generate a software interrupt,
Collect the debug information of the relevant part. Therefore, even if the program of the application unit 21 is stored in the ROM, the debug information collecting function can be realized.

【0028】また、任意のデバッグ箇所の登録と、そこ
で行うデバッグ情報収集処理の処理種別、すなわち、デ
ータ・トレースと、ブレーク動作との切り替えをコマン
ドによって行うことができる。
Further, it is possible to register an arbitrary debug location and switch the processing type of the debug information collecting processing to be performed there, that is, the data trace and the break operation by a command.

【0029】[0029]

【発明の効果】このように本発明によれば、プログラム
の実行時に記憶の書き換えができない記憶手段にプログ
ラムが格納された装置であっても、任意の箇所で、デー
タ・トレースあるいはブレーク動作のデバッグ情報収集
機能を実行することができるという効果がある。
As described above, according to the present invention, even in a device in which a program is stored in a storage means that cannot be rewritten when the program is executed, the data trace or the break operation can be debugged at any place. There is an effect that the information collecting function can be executed.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明によるプログラムのデバッグ装置の一実
施例の構成を示したブロック図である。
FIG. 1 is a block diagram showing a configuration of an embodiment of a program debug device according to the present invention.

【図2】図1のアプリケーション部におけるプログラム
の流れの一例を表した流れ図である。
FIG. 2 is a flow chart showing an example of the flow of a program in the application unit of FIG.

【図3】図1の特定ソフトウェア割込処理部の処理の様
子を表した流れ図である。
FIG. 3 is a flowchart showing how the specific software interrupt processing unit of FIG. 1 performs processing.

【図4】図1のシングル・ステップ割込処理部の制御の
様子を表した流れ図である。
FIG. 4 is a flowchart showing how the single-step interrupt processing unit in FIG. 1 is controlled.

【図5】図1のコマンド処理部の処理の様子を表した流
れ図である。
5 is a flowchart showing how the command processing unit of FIG. 1 performs processing.

【符号の説明】[Explanation of symbols]

11 CPU 12 ROM 13 RAM 14 レジスタ群 15 レジスタ 16 比較器 17 割込命令送出部 18 メモリ・データ・バス 19 メモリ・アドレス・バス 20 メモリ・コントロール・バス 21 アプリケーション部 22 特定ソフトウェア割込処理部 23 シングル・ステップ割込処理部 24 コマンド処理部 11 CPU 12 ROM 13 RAM 14 Register Group 15 Register 16 Comparator 17 Interrupt Command Sending Section 18 Memory Data Bus 19 Memory Address Bus 20 Memory Control Bus 21 Application Section 22 Specific Software Interrupt Processing Section 23 Single・ Step interrupt processing unit 24 Command processing unit

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 予め任意のデバッグ箇所を登録するレジ
スタ群と、このレジスタ群に登録された箇所で、命令読
みだしを行うと記憶内容にかかわらず、ある特定のソフ
トウェア割込命令をバス上に送出する割込命令送出部を
有するメモリ・バスと、 前記ある特定のソフトウェア割込命令の実行による割り
込みが発生したときに割込元の箇所を解析して、予め登
録された情報を基にしてデータ・トレースまたはブレー
ク動作を行う割込処理部と、前記任意のデバッグ箇所お
よび前記割込処理部で参照する登録情報を設定、変更あ
るいは表示するコマンド処理部のそれぞれを構成するプ
ログラムと固定データを記憶した第1の記憶手段と、 プログラム実行中のワーク・エリアとしての第2の記憶
手段と、 前記割り込みの発生により任意のデバッグ箇所のデバッ
グ情報を収集する中央処理装置とを備えることを特徴と
するプログラムのデバッグ装置。
1. A register group in which an arbitrary debug location is registered in advance, and a specific software interrupt instruction is transferred to a bus when instruction reading is performed at a location registered in this register group, regardless of the stored contents. A memory bus having an interrupt command sending unit for sending and an interrupt source part is analyzed when an interrupt occurs due to execution of the specific software interrupt command, and based on information registered in advance. A program and fixed data that configure the interrupt processing unit that performs data trace or break operation, and the command processing unit that sets, changes, or displays the registration information referred to by the arbitrary debug location and the interrupt processing unit, respectively. The stored first storage means, the second storage means as a work area during program execution, and arbitrary debug by the occurrence of the interrupt A debugging device for a program, comprising: a central processing unit for collecting debugging information of a location.
【請求項2】 前記メモリ・バスは、任意のデバッグ箇
所を登録するレジスタ群と、このレジスタ群に登録され
た箇所と命令の読みだし箇所との一致を判定する比較器
と、ある特定のソフトウェア割込命令を送出する割込命
令送出部と、この割込命令送出部の動作を有効あるいは
無効にする制御部とからなるバスであることを特徴とす
る請求項1記載のプログラムのデバッグ装置。
2. The memory bus includes a register group for registering an arbitrary debug location, a comparator for determining a match between a location registered in the register group and an instruction read location, and a specific software. 2. The program debugging apparatus according to claim 1, wherein the bus is composed of an interrupt command sending unit for sending an interrupt command and a control unit for enabling or disabling the operation of the interrupt command sending unit.
【請求項3】 前記割込処理部は、割込復旧情報から割
込元の箇所を求め、次に収集すべきデータの内容を登録
した登録情報をインデックスしてデータ・トレースまた
はブレーク動作を行うことを特徴とする請求項1または
2記載のプログラムのデバッグ装置。
3. The interrupt processing unit obtains the location of the interrupt source from the interrupt recovery information and indexes the registered information that registers the content of the data to be collected next to perform a data trace or break operation. 3. The program debugging apparatus according to claim 1, wherein the program debugging apparatus is a program debugging apparatus.
JP4114340A 1992-05-07 1992-05-07 Program debugging device Withdrawn JPH05324395A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4114340A JPH05324395A (en) 1992-05-07 1992-05-07 Program debugging device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4114340A JPH05324395A (en) 1992-05-07 1992-05-07 Program debugging device

Publications (1)

Publication Number Publication Date
JPH05324395A true JPH05324395A (en) 1993-12-07

Family

ID=14635328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4114340A Withdrawn JPH05324395A (en) 1992-05-07 1992-05-07 Program debugging device

Country Status (1)

Country Link
JP (1) JPH05324395A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004793A (en) * 2005-06-20 2007-01-11 Seagate Technology Llc Method and device for measuring code coverage for embedded processor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004793A (en) * 2005-06-20 2007-01-11 Seagate Technology Llc Method and device for measuring code coverage for embedded processor system

Similar Documents

Publication Publication Date Title
JP5905911B2 (en) Diagnostic code using single-step execution
WO2007002889A2 (en) Debugging using watchpoints
JPH05324395A (en) Program debugging device
JPS60159951A (en) Tracing system in information processing device
JP2653412B2 (en) How to set breakpoints
JPH0581087A (en) Processor monitoring system
JPS61204703A (en) Developing device for engine control computer system
JP3068578B2 (en) In-circuit emulator and saturation calculation processing method
JP2000181748A (en) Debug system for multi-memory space program and its debug method
JPH04145544A (en) Debugging device
JP3330767B2 (en) Information processing apparatus and trace acquisition method in information processing apparatus
JP2653411B2 (en) How to set breakpoints
JPH05224989A (en) Microprocessor containing cache memory and its trace analyzer
JPH01145740A (en) Emulator for multi-process
JPS609294B2 (en) Tracing method in electronic computers
JP2697230B2 (en) Debug support device
JP2001166966A (en) Method for managing execution environment of program to be tested in debugger
JPH0465729A (en) Symbolic debugger
JPH05204710A (en) Event tracer
JPS59202546A (en) Debugging device
JPS63289654A (en) Program branching instruction monitoring system
JPS638946A (en) Program debug supporting system
JPH02187831A (en) Exception processing system in virtual computer system
JPS6355091B2 (en)
JPH0581068A (en) Debugging support device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990803