(57)【特許請求の範囲】
【請求項１】
複数の命令フィールドから構成される命令語の群を格納したメモリを備えた計算機において、
前記メモリから読み出された命令語の前記各命令フィールド毎に当該命令フィールドで指定できないと予め定められている命令が存在した場合にプログラムエラーを検出し、前記各命令フィールド毎で且つ前記予め定められている命令毎のプログラムエラー検出に応じた固有のエラー信号を出力するプログラムエラー検出回路と、
前記プログラムエラー検出回路から出力可能なエラー信号毎に、そのエラー信号を有効化又は無効化するためのデータを保持するレジスタと、
前記計算機のシステム立ち上げ時に前記レジスタに、前記プログラムエラー検出回路から出力可能なエラー信号毎に、そのエラー信号を有効化又は無効化するためのデータを設定するデータ設定手段と、
前記プログラムエラー検出回路から前記プログラムエラー検出に応じて出力されたエラー信号を前記レジスタが保持しているデータに基づいて有効化又は無効化し、有効化した場合に制御信号を出力するプログラムエラー割り込み禁止回路と、
前記プログラムエラー割り込み禁止回路から前記制御信号が出力された場合に当該制御信号に基づいてプログラムエラー割り込み信号を出力するプログラムエラー割り込み処理装置と
を具備したことを特徴とする計算機。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、複数の命令フィールドから構成される命令語を実行する計算機に係り、特に予め定められた複数のプログラムエラーを検出するプログラムエラー検出回路を備えた計算機に関する。
【０００２】
【従来の技術】
一般に計算機においては、定義されていない命令等、実行することのできない命令を処理しようとした場合、これをプログラムエラーとして検出し、割り込み処理を行うようになっている。この検出は、プログラムエラー検出回路と称されるハードウェアで行われる。
【０００３】
特にＶＬＩＷ（Ｖｅｒｙ  Ｌｏｎｇ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ）型並列処理方式（ＶＬＩＷ方式）のアーキテクチャを適用した計算機（以下、ＶＬＩＷ方式の計算機と称する）は、他の順次実行方式の計算機に比べ、プログラムエラーをハードウェアで検出するケースが多い。
【０００４】
ＶＬＩＷ方式の命令語の構造例を図４に示す。この図４の例では、１命令語はフィールドＦ１〜Ｆ４の４つのフィールドに分割され、各フィールドＦ１〜Ｆ４に命令Ｉ１〜Ｉ４が設定される。基本的には、この４個の命令Ｉ１〜Ｉ４が同時に処理される。
【０００５】
さて、図４に示した構造の命令語を適用したＶＬＩＷ方式の計算機では、ハードウェア量の削減とハードウェアの使用率向上を目的として、図５に示すように、各フィールドＦ１〜Ｆ４内で指定できる命令が限定されることが多い。
【０００６】
この図５の例では、フィールドＦ１は、加減算命令、データセット命令およびＬＤ（ロード）命令だけが指定でき、フィールドＦ２は、加減算命令、データセット命令およびシフト命令だけが指定できる。また、フィールドＦ３は、加減算命令、データセット命令およびＳＴ（ストア）命令だけが指定でき、フィールドＦ４は、加減算命令、データセット命令および分岐命令だけが指定できる。
【０００７】
プログラムエラー検出回路は、このような各フィールド内で指定できる命令の限定（制約）を考慮して作成されたもので、その構成は複雑である。
ところが、ＶＬＩＷ方式の計算機のハードウェア量を追加し、各フィールド内で指定できる命令の制約を少なくした上位機種を作る場合には、それに対応して、複雑なプログラムエラー検出回路も新たに作り直す（設計し直す）必要がある。また、ハードウェアの機能変更により、互換性も無くなる。更に、上位機種では、下位機器種のソフトウェアを開発できなくなる。
【０００８】
【発明が解決しようとする課題】
上記したように従来の計算機では、ハードウェアの仕様変更によりプログラムエラーとなるケースが変わった場合、複雑なプログラムエラー検出回路を新たに作り直さなければならず、また、ハードウェアの互換性も無くなる等の問題があった。
【０００９】
この発明は上記事情を考慮してなされたものでその目的は、計算機の仕様変更によりプログラムエラーを検出するケースが変わった場合に、仕様変更前と同一構成のプログラムエラー検出回路を使用しても、仕様変更のためにプログラムエラーの検出が不要となった要因でプログラムエラー割り込みが発生することを防止でき、計算機の仕様変更に無関係にプログラムエラー検出回路の共通化が図れ、且つハードウェアの互換性を維持できる計算機を提供することにある。
【００１０】
【課題を解決するための手段】
この発明は、複数の命令フィールドから構成される命令語の群を格納したメモリを備えた計算機において、上記メモリから読み出された命令語の各命令フィールド毎に当該命令フィールドで指定できないと予め定められている命令が存在した場合にプログラムエラーを検出し、上記各命令フィールド毎で且つ上記予め定められている命令毎のプログラムエラー検出に応じた固有のエラー信号を出力するプログラムエラー検出回路と、このプログラムエラー検出回路から出力可能なエラー信号毎に、そのエラー信号を有効化又は無効化するためのデータを保持するレジスタと、上記計算機のシステム立ち上げ時に上記レジスタに、上記プログラムエラー検出回路から出力可能なエラー信号毎に、そのエラー信号を有効化又は無効化するためのデータを設定するデータ設定手段と、上記プログラムエラー検出回路から上記プログラムエラー検出に応じて出力されたエラー信号を上記レジスタが保持しているデータに基づいて有効化又は無効化し、有効化した場合に制御信号を出力するプログラムエラー割り込み禁止回路と、このプログラムエラー割り込み禁止回路から上記制御信号が出力された場合に当該制御信号に基づいてプログラムエラー割り込み信号を出力するプログラムエラー割り込み処理装置とを備えたことを特徴とする。
【００１２】
【作用】
上記の構成において、上記計算機のシステム立ち上げ時には、上記レジスタに、プログラムエラー検出回路から出力可能なエラー信号毎に、そのエラー信号を有効化又は無効化するためのデータが設定される。プログラムエラー検出回路は、メモリから読み出された命令語の各命令フィールド毎に当該命令フィールドで指定できないと予め定められている命令が存在した場合にプログラムエラーを検出する。プログラムエラー検出回路は、上記各命令フィールド毎で且つ上記予め定められている命令毎のプログラムエラー検出に応じた固有のエラー信号を出力する。
【００１３】
プログラムエラー割り込み禁止回路は、プログラムエラー検出回路からプログラムエラー検出に応じて出力されたエラー信号を上記レジスタが保持しているデータに基づいて有効化又は無効化する。プログラムエラー割り込み禁止回路は、プログラムエラー検出回路から出力されたエラー信号を有効化した場合に限り制御信号を出力する。この制御信号に基づいて、プログラムエラー割り込み処理装置からプログラム割り込み信号が出力される。言い換えれば、メモリから読み出された命令語のある命令フィールドに、プログラムエラー検出回路によってプログラムエラーとして検出すべき命令が存在したために、当該プログラムエラー検出回路から対応するエラー信号が出力されたとしても、当該エラー信号を無効化するならば、当該プログラムエラーの検出に起因するプログラムエラー割り込みを禁止できる。
【００１４】
このように上記の構成においては、計算機の仕様変更前と同一構成のプログラムエラー検出回路を使用したために、たとえ計算機の仕様変更により検出が不要となったプログラムエラー（プログラムエラー要因）が検出されて対応するエラー検出信号が出力されたとしても、計算機のシステム立ち上げ時に上記レジスタに設定されたデータの指定によって、当該検出が不要となったプログラムエラー要因に対応するエラー検出信号を無効化するならば、当該プログラムエラー要因によるプログラムエラー割り込みを禁止することができ、プログラムエラー検出回路の共通化が図れる。
【００１５】
【実施例】
図１はこの発明を適用するＶＬＩＷ方式の計算機の一実施例を示す要部ブロック構成図である。なお、この図１の計算機は、図４に示す構造の命令語を用いているものとする。
【００１６】
図１において、１は命令語群からなる各種プログラム、データ等が格納されるメモリである。メモリ１の所定番地には、システム立ち上げ時に実行されて後述するレジスタ５にデータをセットするための特定のデータセット命令Ｍが格納されている。この特定データセット命令Ｍは、ブートプログラムに含まれている。このブートプログラムは、実機ではＲＯＭに格納されているが、ここでは説明の簡略化のために、メモリ１に格納されているものとする。
【００１７】
２はメモリ制御装置である。このメモリ制御装置２は、分岐要求が無い限り、メモリアドレスをインクリメントしながらメモリ１から順番に命令語を取り出す。またメモリ制御装置２は、分岐要求があった場合には、後述する命令アドレス生成装置１５から与えられる分岐アドレス（分岐先アドレス）で示されるメモリ１のメモリ番地から命令語の取り出しを開始する。
【００１８】
３はメモリ１から供給される命令語を、各フィールドＦ１〜Ｆ４毎にデコードする命令デコード装置、４はプログラムエラー検出回路である。
プログラムエラー検出回路４は、命令デコード装置３から出力されるフィールドＦ１〜Ｆ４毎のデコード信号３１〜３４をもとに、予め定められたプログラムエラーを検出するハードウェアである。
【００１９】
本実施例におけるプログラムエラー検出回路４は、命令語の各フィールドＦ１〜Ｆ４内で指定できる命令の制約が、図５に示したようになっていることを前提として開発されたものであり、１２種類のプログラムエラーを検出するようになっている。したがってプログラムエラー検出回路４から出力されるプログラムエラー検出信号には、プログラムエラー検出信号Ｅ０  〜Ｅ１１の１２種類ある。この信号Ｅ０  〜Ｅ１１と、フィールドＦ１〜Ｆ４で指定されるプログラムエラーとなる命令との対応関係を図２に示す。
【００２０】
図２に示すように、信号Ｅ０  は命令語のフィールドＦ１でシフト命令が指定されたプログラムエラー、信号Ｅ１  は同フィールドＦ１でＳＴ（ストア）命令が指定されたプログラムエラー、信号Ｅ２  は同フィールドＦ１で分岐命令が指定されたプログラムエラーを、それぞれ示す。
【００２１】
次に、信号Ｅ３  は命令語のフィールドＦ２でＳＴ命令が指定されたプログラムエラー、信号Ｅ４  は同フィールドＦ２で分岐命令が指定されたプログラムエラー、信号Ｅ５  は同フィールドＦ２でＬＤ（ロード）命令が指定されたプログラムエラーを、それぞれ示す。
【００２２】
次に、信号Ｅ６  は命令語のフィールドＦ３で分岐命令が指定されたプログラムエラー、信号Ｅ７  は同フィールドＦ３でＬＤ命令が指定されたプログラムエラー、信号Ｅ８  は同フィールドＦ３でシフト命令が指定されたプログラムエラーを、それぞれ示す。
【００２３】
次に、信号Ｅ９  は命令語のフィールドＦ４でＬＤ命令が指定されたプログラムエラー、信号Ｅ１０は同フィールドＦ４でシフト命令が指定されたプログラムエラー、信号Ｅ１１は同フィールドＦ４でＳＴ命令が指定されたプログラムエラーを、それぞれ示す。
【００２４】
５は１２ビットのレジスタである。このレジスタ５は、上記プログラムエラー検出信号Ｅ０  〜Ｅ１１に起因するプログラムエラー割り込みを禁止するためのビット０〜１１の禁止ビットを保持する。レジスタ５の各ビット０〜１１は、上記特定のデータセット命令Ｍによりセット／リセットが可能となっている。
【００２５】
６はレジスタ５へのデータセットを許可（イネーブル）するための制御信号である。この制御信号６は、データセット命令Ｍを命令デコード装置３がデコードした場合に真となる。
【００２６】
７はレジスタ５にセットするデータを命令デコード装置３から供給するためのデータ線である。このデータ線７を通したデータ供給は、上記特定のデータセット命令Ｍを命令デコード装置３がデコードした場合に行われる。
【００２７】
８−０〜８−１１  はレジスタ５の各ビット（禁止ビット）０〜１１の状態を反転するためのインバータ、９はインバータ８−０〜８−１１  の出力状態に応じて、プログラムエラー検出回路４からのプログラムエラー検出信号Ｅ０  〜Ｅ１１を無効化するためのプログラムエラー割り込み禁止回路である。このプログラムエラー割り込み禁止回路９は、１２個のＡＮＤゲート９−０〜９−１１  から構成される。ＡＮＤゲート９−ｉ（ｉ＝０〜１１）は、プログラムエラー検出回路４からのプログラムエラー検出信号Ｅｉ  とインバータ８−ｉの出力信号とを入力し、インバータ８−ｉの出力信号が“０”のとき、プログラムエラー検出信号Ｅｉ  の出力を禁止する。
【００２８】
１０はＡＮＤゲート９−０〜９−１１  の出力の論理和をとるＯＲゲートである。このＯＲゲート１０の出力信号は、プログラムエラー検出を示す制御信号１１として用いられる。
【００２９】
１２はＯＲゲート１０からのプログラムエラー検出を示す制御信号１１およびプログラムエラー以外のエラーを示す制御信号１３を受けて、割り込みが起きたことを示す割り込み信号１４を生成する割り込み処理装置、１５は命令アドレス生成装置である。命令アドレス生成装置１５は、割り込み処理装置１２からの割り込み信号１４と命令デコード装置３からの制御信号１６から、メモリ制御装置２へ分岐要求と分岐アドレスを出力する。この制御信号１６は、分岐命令を命令デコード装置３がデコードした場合に真となる。
【００３０】
次に、図１の構成の動作を説明する。
まず、メモリ１に格納されている特定のデータセット命令Ｍを実行する。このデータセット命令Ｍは、ブートプログラム中に含まれており、システム立ち上げ時に１回実行されるものとする。本実施例で適用されるデータセット命令Ｍの命令形式を図３に示す。
【００３１】
ここでは、データセット命令Ｍはビット０〜３１の３２ビットで構成されており、ビット０〜７の８ビットがデータセットを指定するＯＰ（オペレーション）コード、ビット２０〜３１の１２ビットがレジスタ５にセットされるデータ（以下、マスクデータと称する）である。なお、データセット先（レジスタ５）を指定するデスティネーション指定フィールドは省略されている。
【００３２】
さて、システム立ち上げ時に、メモリ１から図３に示す形式の特定のデータセット命令Ｍを含むＶＬＩＷ方式の命令語がメモリ制御装置２により取り出されて命令デコード装置３に供給され、同装置３によりデコードされたものとする。この場合、命令デコード装置３は、データセット命令Ｍに応じて制御信号６を真にすると同時に、データ線７上に、データセット命令Ｍのビット２０〜３１に設定されている１２ビットのマスク（ＭＡＳＫ）データを出力する。
【００３３】
制御信号６は、レジスタ５のラッチイネーブル信号（ＥＮ）となり、これにより命令デコード装置３からデータ線７を介してレジスタ５に供給された１２ビットのマスクデータが、同レジスタ５にセットされる。このレジスタ５にセットされた１２ビットのマスクデータ、即ちレジスタ５のビット０〜１１の各ビット（禁止ビット）は、“１”でプログラムエラー検出信号Ｅ０  〜Ｅ１１に起因するプログラムエラー割り込みの禁止を指定する。
【００３４】
その後、システムが立ち上がり、やがて、プログラムエラー検出回路４の検出対象となるプログラムエラーを起こす命令を含む図４に示す構造の命令語がメモリ制御装置２によりメモリ１から取り出されて、命令デコード装置３に供給されたものとする。
【００３５】
命令デコード装置３は、メモリ制御装置２から供給された命令語を、各フィールドＦ１〜Ｆ４毎にデコードし、そのデコード結果であるデコード信号３１〜３４を出力する。
【００３６】
プログラムエラー検出回路４は、この命令デコード装置３からの各フィールドＦ１〜Ｆ４毎のデコード信号３１〜３４を受けて、各フィールドＦ１〜Ｆ４毎に予め定められたプログラムエラーの検出を行う。即ちプログラムエラー検出回路４は、例えばフィールドＦ１であれば、デコード信号３１が、シフト命令、ＳＴ命令、または分岐命令を示しているか否かを検出する。そしてプログラムエラー検出回路４は、デコード信号３１がシフト命令を示しているならば、プログラムエラー検出信号Ｅ０  を真（“１”）にし、同じくＳＴ命令を示しているならばプログラムエラー検出信号Ｅ１  を真（“１”）にし、同じく分岐命令を示しているならばプログラムエラー検出信号Ｅ２  を真（“１”）にする（図２参照）。
【００３７】
これに対し、デコード信号３１が、フィールドＦ１での指定が許されている加減算命令、データセット命令またはＬＤ命令を示しているならば、プログラムエラー検出回路４は、プログラムエラー検出信号Ｅ０  〜Ｅ２  のいずれも真にしない。
【００３８】
プログラムエラー検出回路４からのプログラムエラー検出信号Ｅ０  〜Ｅ１１は、プログラムエラー割り込み禁止回路９中の対応するＡＮＤゲート９−０〜９−１１  の一方の入力に供給される。このＡＮＤゲート９−０〜９−１１  の他方の入力には、インバータ８−０〜８−１１  の出力が供給される。このインバータ８−０〜８−１１  の出力は、レジスタ５のビット（禁止ビット）０〜１１の論理状態を反転したものである。
【００３９】
ＡＮＤゲート９−ｉ（ｉ＝０〜１１）は、インバータ８−ｉの出力が“１”の場合、即ちレジスタ５のビットｉがプログラムエラー割り込み許可を示す“０”のリセット状態の場合には、プログラムエラー検出信号Ｅｉ  をそのまま出力する。これに対し、インバータ８−ｉの出力が“０”の場合、即ちレジスタ５のビットｉがプログラムエラー割り込み禁止を示す“１”のセット状態の場合には、ＡＮＤゲート９−ｉはプログラムエラー検出信号Ｅｉ  の出力を禁止する。
【００４０】
したがって、たとえプログラムエラー検出回路４にて、プログラムエラー検出信号Ｅｉ  出力の対象となるプログラムエラーが検出されて、同信号Ｅｉ  が真にされても、レジスタ５のビット（禁止ビット）ｉがセットされているならば、同信号Ｅｉ  はＡＮＤゲート９−ｉにより強制的に偽にされる。これは、プログラムエラー検出回路４を作り直して、プログラムエラー検出信号Ｅｉ  出力の対象となるプログラムエラーの検出機能をなくしたのと等価である。
【００４１】
この場合、プログラムエラー検出信号Ｅｉ  以外のプログラムエラー検出信号が全て真でないならば、ＡＮＤゲート９−０〜９−１１  の出力は全て“０”（偽）となるため、ＯＲゲート１０の出力である制御信号１１も“０”（偽）となり、プログラムエラー検出に従う割り込み処理装置１２からの割り込み信号１４の出力は禁止される。
【００４２】
以上のことから、図１に示す計算機のハードウェア仕様が変更されて、例えば命令語のフィールドＦ１に対応してシフタが追加され、同フィールドＦ１内で指定できる命令として、図５に示す加減算命令とデータセット命令とＬＤ命令の他に、シフト命令が新たに追加された場合には、レジスタ５に次のようなマスクデータをセットすることにより、プログラムエラー検出回路４を作り直さななくても、このシフト命令をフィールドＦ１で指定したためにプログラムエラー割り込みが発生することを防止できる。
【００４３】
即ち、フィールドＦ１でシフト命令を指定した場合、プログラムエラー検出回路４では（ハードウェア仕様の変更に合わせて作り直しがなされていないものとすると）、前記したようにプログラムエラー検出信号Ｅ０  が真とされる。したがって、このプログラムエラー検出信号Ｅ０  に従うプログラムエラー割り込みを禁止するためには、レジスタ５のビット０を“１”にセットすればよい。
【００４４】
また、レジスタ５のビット０を“１”にセットするには、データセット命令Ｍのビット２０〜３１に、先頭ビット（ビット２０に対応するビット）が“１”の１２ビットマスクデータを設定しておき、即ちビットパターンが“１××……××”（×は“１”または“０”）の１２ビットマスクデータを持つデータセット命令Ｍを用意しておき、同命令Ｍをシステム立ち上げ時に実行すればよい。
【００４５】
一方、プログラムエラー検出回路４により検出されたエラー、即ち論理状態が真とされたプログラムエラー検出信号Ｅｉ  に対応したレジスタ５のビットｉがリセットされている場合には、ＡＮＤゲート９−ｉは、そのプログラムエラー検出信号Ｅｉ  をそのまま出力する。この場合、ＯＲゲート１０の出力である制御信号１１は“１”（真）となる。
【００４６】
割り込み処理装置１２は、プログラムエラー検出を示す制御信号１１が“１”の場合、割り込みを検出し、割り込み信号１４により命令アドレス生成装置１５に対して割り込み発生を通知する。これを受けて命令アドレス生成装置１５は、メモリ制御装置２に対して分岐要求と分岐アドレス（プログラムエラーの割り込みハンドラのアドレス）を出力する。
【００４７】
メモリ制御装置２は、プログラムエラーの割り込みハンドラに置かれた命令をメモリ１から取り出して命令デコード装置３に供給する。このようにして、プログラムエラー割り込み処理が行われる。
【００４８】
以上の説明から明らかなように、図１の構成の計算機では、プログラムエラー検出回路４で検出される１２種類のプログラムエラー要因に対応したプログラムエラー検出信号Ｅ０  〜Ｅ１１のうち、特定のプログラムエラー要因の検出によって真とされるプログラムエラー検出信号だけを、システム立ち上げ時に実行される特定データセット命令Ｍ中のマスク（ＭＡＳＫ）データによりレジスタ５を通してマスクすることで、プログラムエラー割り込みの許可／禁止を制御することができる。
【００４９】
したがって、図１の計算機のハードウェア量を追加し、命令語の各フィールドＦ１〜Ｆ４内で指定できる命令の制約が少なくなった上位機種を作る場合に、プログラムエラー検出回路４を作り直さなくても、データセット命令Ｍのマスクデータを変えるだけで、検出が不要となったプログラムエラーによってプログラムエラー割り込みが発生する不都合を防止することができる。
【００５０】
また、前記実施例では、プログラムエラー割り込み禁止回路９に対してプログラムエラー要因別にプログラムエラー割り込みの許可／禁止を指定するレジスタ５を、データセット命令Ｍにより操作する場合について説明したが、これに限るものではない。例えば、レジスタ５に代えてＤＩＰスイッチを用い、利用者の操作によりマスクデータをセットするようにしても構わない。この場合、誤操作を招く虞はあるものの、その計算機のハードウェア仕様が変わったときだけ操作すればよい。
また、命令語の構造や、各フィールド毎の命令の制約は、前記実施例に限定されるものでないことは勿論である。
【００５１】
【発明の効果】
以上詳述したようにこの発明によれば、プログラムエラー検出回路により検出される各プログラムエラー要因別に、その要因によるプログラムエラー割り込みを、例えばシステム立ち上げ時の指定により許可／禁止する構成としたので、この要因別の指定により、計算機の仕様変更のために検出不要となったプログラムエラー要因によるプログラムエラー割り込みの発生を禁止することができる。
【００５２】
このため、計算機の仕様変更によりプログラムエラー検出回路での検出対象となっている複数のプログラムエラー要因の一部が検出が不要となったとしても、そのプログラムエラー検出回路をそのまま使用することができ、プログラムエラー検出回路の共通化を図ることができ、且つハードウェアの互換性も維持することができる。
【図面の簡単な説明】
【図１】この発明を適用するＶＬＩＷ方式の計算機の一実施例を示す要部ブロック構成図。
【図２】図１中のプログラムエラー検出回路４の機能を、命令語の各フィールドで指定されるプログラムエラーとなる命令と各プログラムエラー検出信号との対応関係により説明するための図。
【図３】図１中のレジスタ５にマスクデータをセットするための特定データセット命令Ｍの形式を示す図。
【図４】ＶＬＩＷ方式の命令語の構造例を示す図。
【図５】図４に示す命令語の各フィールド内で指定できる命令の一例を示す図。
【符号の説明】
１…メモリ、２…メモリ制御装置，３…命令デコード装置、４…プログラムエラー検出回路、５…レジスタ（プログラムエラー割り込み禁止指定手段、禁止ビット保持手段）、９…プログラムエラー割り込み禁止回路、９−０〜９−１１  …ＡＮＤゲート、１０…ＯＲゲート、１２…割り込み処理装置、１５…命令アドレス生成装置、Ｍ…データセット命令（プログラムエラー割り込み禁止指定手段）、Ｅ０  〜Ｅ１１…プログラムエラー検出信号。
【図１】
0003585940.tif 000002
【図２】
0003585940.tif 000003
【図３】
0003585940.tif 000004
【図４】
0003585940.tif 000005
【図５】
0003585940.tif 000006