【事件の表示】
　平成　３年特許願第３０１６４５号「マイクロコンピュータ」拒絶査定に対する審判事件［平成　５年　６月１１日出願公開、特開平　５−１４３３１７］について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯・本願発明
　本願は、平成３年１１月１８日の出願であって、本願請求項１に係る発明（以下、「本願発明」という。）は、平成８年１０月２日付け手続補正書及び平成９年１１月７日付け手続補正書によって補正された明細書および図面の記載からみて、その特許請求の範囲の請求項１に記載されたとおりの、
　「リードオンリメモリのアドレスを決定する第一のプログラムカウンタ、および、電気的に書込み可能なメモリのアドレスを計算する第二のプログラムカウンタを備え、前記電気的に書込み可能なメモリに前記リードオンリメモリの修正、追加をすべきアドレスのアドレスデータと、そのアドレスにおける追加、修正のプログラムデータと、前記第二のプログラムカウンタを制御するコードとが、一組になったものを複数組記憶させ、前記第一のプログラムカウンタと前記電気的に書込み可能なメモリに記憶されたアドレスデータが一致したとき、第二のプログラムカウンタを制御するコードにもとづいて、前記リードオンリメモリの内容と前記電気的に書込み可能なメモリの内容とを切り換えて命令を実行するマイクロコンピュータ。」
により特定されるところにあるものと認める。
　
２．引用文献
（１）これに対して、原査定の拒絶の理由に引用された特開昭５７−２０９５４１号公報（以下、「引用文献１」と言う。）には、
　「本発明は、命令ＲＯＭを有するデータ処理装置、特に命令ＲＯＭの内容を修正する修正処理ブロックをもうけ、命令ＲＯＭ上の単一の命令を修正すべく複数個の命令を追加可能に構成した命令ＲＯＭを有するデータ処理装置に関するものである。」（第２頁左上欄第１〜６行目）
　「図は本発明の一実施例構成を示す。図中の符号１はＲＯＭ、２はアドレス・レジスタ、３は歩進回路、４は命令レジスタ、５は修正処理ブロック、６は修正処理アドレス格納メモリ、７は比較回路、８は修正データ格納メモリ、９は修正時アドレス・レジスタであってメモリ８をアクセスするもの、１０は歩進回路、１１ないし１５は夫々ゲート回路、１６は選択回路、１７はノット回路を表している。」（第２頁左下欄第４〜１２行目）
　「このようなデータ処理装置において、・・・ＲＯＭ１上の命令を修正したい場合が生じる。・・・・修正処理アドレス格納メモリ６は、例えばＲＯＭ１上の全アドレス領域をＮ分割したブロックに対応してＮ個のアドレス領域をもつ。そして、アドレス・レジスタ２の内容中の上記ブロックに対応するブロックアドレスによってアクセスされる例えば１つの格納域をもつ。また修正データ格納メモリ８は、上記ブロック・アドレスによってアクセスされるＮ個分のエントリ領域（番地「０」ないし「Ｎ−１」）をもつと共に、該エントリ領域から分岐によってアクセスされる所定個数のアドレス領域をもつ。」（第２頁右下欄第３〜１６行目）
　「修正データ格納メモリ８の上記エントリ領域内の１つに、複数の修正後命令の先頭のものを書込んだ上で制御情報として例えば「１」（「１１」の誤記と認められる。）を書込みかつ分岐アドレスＢを書込んでおく。そして、修正データ格納メモリ８上の図示Ｎ番地以降の番地Ｂに第２の修正後命令を書込んだ上で制御情報を「１０」とし、次に番地（Ｂ＋１）に第３の修正後命令を書込んだ上で制御情報を「１０」とし、・・・・・、例えば番地（Ｂ＋２）に最後の修正後命令を書込んだ上で制御情報を「０１」とする。なお修正後命令が書込まれていない番地の内容には制御情報として「００」が書込まれている」（第３頁左上欄第１２行〜同頁右上欄第４行目）
　「以下、動作を説明する。アドレス・レジスタ２の内容によってＲＯＭ１がアクセスされるとき、あわせてメモり６とメモリ８とが上述のブロック・アドレスによってアクセスされる。メモリ６から読出された所のＲＯＭ１のアドレス領域に対応するアドレス情報とアドレス・レジスタ２の内容とが比較回路７によって比較される。もしも一致したとすると、ゲート回路１１、１２、１４、１５がオンされ、ゲート回路１３がオフされる。この時メモリ８の上記エントリ領域の内容も読出されており、命令レジスタ４にセットされる。即ち、修正後命令が命令レジスタ4にセットされる。
　このとき、制御情報が「０１」であれば、当該修正命令を読出した後に、再びＲＯＭ1をアクセスするように正常状態に復帰することを指示しており、修正時アドレス・レジスタ９には何んらセットされない。そして、アドレス・レジスタ２の内容が更新される。
　一方、制御情報が「１１」であれば、複数個の修正後命令が読出されることを指示している。この場合には、ゲート１５を介して分岐アドレス（上述のアドレスＢ）が修正時アドレス・レジスタ９にセットされる。そして、メモリ８に対して修正時アドレス・レジスタ９の内容（アドレスＢ）をもってアクセスが行われる。図示の場合には、番地Ｂの内容である第２の修正後命令甲が読出されて命令レジスタ４にセットされる。このとき制御情報が「１０」であれば、更に第３修正後命令が存在することを指示しており、修正時アドレス・レジスタ９の内容は（Ｂ＋１）に歩進される。そして図示の第３修正後命令乙が読出されて命令レジスタ４にセットされる。図示の場合には、このときの制御情報も「１０」であり、修正時アドレス・レジスタ９の内容は（Ｂ＋２）となり、図示の場合命令丙が読出されて命令レジスタ４にセットされる。このとき制御情報は「０１」であり、次にはＲＯＭ１に対するアクセスに復帰することを指示している。したがって、次にはＲＯＭ１がアクセスされる形となる。」（第３頁右上欄第５行〜同頁右下欄第４行目）
と記載されている。
　さらに、その図面を参照すると、その「修正データ格納メモリ８」には、修正後命令（甲，乙，丙）と、「制御情報」とがセットになって格納されていることが記載されている。
　すなわち、上記引用文献１には、ＲＯＭ上の命令を修正したいときは、修正したい命令の修正後の命令と制御情報を修正データ格納メモリに書込むと共に、それに対応するアドレスを修正処理アドレス格納メモリに記憶させておき、命令が実行された時に、通常は、アドレスレジスタの内容によってＲＯＭがアクセスされ、該ＲＯＭから命令が命令レジスタに読出され、実行されるが、アドレスレジスタは、該ＲＯＭをアクセスすると共に、修正処理アドレス格納メモリをもアクセスし、アドレスレジスタの内容と修正処理アドレス格納メモリの内容とが一致したときは、比較回路の出力により、修正データ格納メモリから命令が読出され、命令レジスタにセットされる。そして、この時に、制御情報が「０１」であれば、修正後命令を修正データ格納メモリから読出した後に、正常状態に復帰し、再びＲＯＭをアクセスするが、制御情報が「１１」であれば、複数個の修正後命令が読出されることを指示しているので、分岐アドレスが修正データ格納メモリから読出されて、修正時アドレス・レジスタにセットされ、その内容によって修正データ格納メモリがアクセスされ、次の命令が読出される。この時、もし、制御情報が「１０」であれば、更に修正後命令が存在していることを指示しているので、修正時アドレス・レジスタの内容は歩進し、次の修正後命令が読出される。そして、制御情報が「０１」となるまで修正時アドレス・レジスタは、修正データ格納メモリをアクセスし、制御情報が「０１」となると、正常状態に復帰するデータ処理装置の発明（以下、「引用文献１の発明」と言う。）が記載されていると認められる。
　
（２）次に、同じく、原査定の拒絶の理由に引用された特開平３−３３９２６号公報（以下、「引用文献２」と言う。）には、
　「リードオンリメモリの書込みプログラムにバグなどが発見された場合やその一部を修正したい場合に、リードオンリメモリの内容を書換えることなく、一部を疑似的に書換えてプログラムを修正でき、あるいは、割込み処理を行わせることにより実質的にプログラムの追加とか削除を行い得るマイクロコンピュータを提供することを目的とする。」（第２頁左上欄第１６行〜同頁右上欄第３行目）
　「第１図は、たとえば１チップのマイクロコンピュータを示しており、１はプログラムカウンタ、２は例えばマスクＲＯＭが用いられた所定のプログラムが書込まれたプログラムメモリ、３は電気的に書込み可能な不揮発性メモリ（たとえばＥＰＲＯＭ、ＥＥＰＲＯＭなどであり、以下、ＥＲＯＭと略記する）、４はセレクタ、５は命令デコーダである。
　プログラムカウンタ１は、プログラムメモリ２だけでなく、ＥＲＯＭ３にもアドレス値を与えるように接続されている。ＥＲＯＭ３は、プログラムメモリ２の書込みプログラムにバグなどが発見された場合やその一部を修正したい場合に、このプログラムメモリ２の修正したいアドレスに対応するアドレスデータと修正するためのプログラムデータが書込まれている。セレクタ４は、通常はプログラムメモリ２の出力データを選択して命令デコーダ５に入力されるが、ＥＲＯＭ３に記憶されたアドレスデータとプログラムカウンタ１の出力内容が一致したときにＥＲＯＭ３からプログラムデータが出力すると、このＥＲＯＭ３の出力データ（修正されたプログラムデータ）をプログラムメモリ２の出力データ（修正すべきプログラムデータ）に代えて選択して命令デコーダ５に入力されるように構成されている。」（第２頁右下欄第７行〜第３頁左上欄１１行目）
　「通常は、システムクロック（図示せず）によってカウントアップするプログラムカウンタ１によってアドレスが指定されるプログラムメモリ２から読出されるデータがセレクタ４により選択されて命令デコーダ５によってデコードされることによってプログラムが実行される。しかし、ＥＲＯＭ３に記憶されているアドレスデータとプログラムカウンタ１の出力内容とが一致したときにＥＲＯＭ３からプログラムデータが出力すると、このＥＲＯＭ３の出力データ（修正されたプログラムデータ）がプログラムメモリ２の出力データ（修正すべきプログラムデータ）に代わってセレクタ４により選択されて命令デコーダ５に入力する。これにより、疑似的に書換えられたプログラムが命令デコーダ５によってデコードされ、修正されたプログラムが実行されることになる。」（第３頁左上欄第１８行〜第３頁右上欄第１３行目）
　「第５図は、本発明のマイクロコンピュータの第３実施例を示している。第５図は、たとえば１チップのマイクロコンピュータを示しており、第２図を参照して前述したマイクロコンピュータと比べて、（ａ）ＥＲＯＭ３は、プログラムメモリ２の書込みプログラムにバグなどが発見された場合やその一部を修正したい場合に、このプログラムメモリ２の修正したいアドレスに対応するアドレスデータと修正するための割込み処理用のプログラムデータが書込まれている点、（ｂ）プログラムカウンタ１の出力（アドレス値）及びＥＲＯＭ５３に記憶されているアドレスデータが一致検出部５４に与えられている点、（ｃ）一致検出部５４が両入力の一致を検出した時に、ＥＲＯＭ５３に記憶されている割込み処理用のプログラムデータが割込み発生回路５５に入力し、この割込み発生回路５５によりプログラムカウンタ１の値の書き換えを行うように制御する点、・・・・が異なり、その他は同じである・・・・」（第４頁左下欄第１９行〜同頁右下欄第２０行目）
　「次に、第５図のマイクロコンピュータの動作を説明する。このマイクロコンピュータの動作は、基本的には従来のマイクロコンピュータの動作と同様であるが、任意のプログラム位置で割込み処理を発生させ、この割込み処理によりプログラムを修正できるようになっている。」（第５頁左上欄第４〜９行目）
　「次に、ＥＲＯＭ５３のデータ構成と割込み処理のフローについて、第６図および第７図を参照ながら説明する。ＥＲＯＭ５３のプログラムデータ領域のデータ構成は、第６図に示すように、割込みを発生させるアドレスの入ったアドレスデータと、それにつながってコード部とアドレス・データ部とのペアが複数連続して書込まれている。割込み処理では、第７図に示すフローのように、まず、コード部の値をチェックし、その値に応じて処理を選択する。コード部の値が「１」の時は、調整用のプログラムを実行し、コード部の値が「２」の時は、アドレス・データ部のアドレスのサブルーチンをコールし、コード部の値が「３」の時は、アドレス・データ部のアドレスにデータ部のデータを書込み、コード部の値が「４」時は、アドレス・データ部のアドレスのデータを読出し、コード部の値が「５」の時は、アドレス・データ部のアドレスにジャンプし、コード部の値が５以外の時は、リターンする。割込み処理からのジャンプは、スタック（図示せず）に退避された戻り先のアドレスを書き換えてリターンすることで容易に行うことができる。勿論、ＥＲＯＭ５３のデータを通常の命令コードに置き換えて実行させても良いが、通常発生するバグは既に使われているサブルーチンを追加したり、数行の処理をはぶくことで修正できることが多く、前記６つのコードがあれば修正できるので、割り込み処理のプログラムは非常に小さなフローで十分できる。」（第５頁左下欄第１６行〜第７頁左上欄第３行目）
　「第８図は、前記調整用のプログラムの内容を示すフローチャートである。まず、調整フ１グを“０”にセットする。この調整フラグは、調整器（図示せず）が接続されると、“１”にセットされる。この調整器が接続されていなければリターンし、接続されていると調整器との間で通信を行う。この通信で使用される通信データは、第９図に示すように、調整コード部、アドレス部、データ部から構成されており、調整コード部の値が「１」の時は、アドレス・データ部のアドレスのサブルーチンをコールし、調整コード部の値が「２」の時は、アドレス・データ部のアドレスにデータ部のデータを書込み、調整コード部の値が「３」の時は、アドレス・データ部のアドレスのデータを調整器に送り、調整コード部の値が「４」の時は、アドレス・データ部のアドレスにジャンプする。
　調整コード部の値が「４」以外の時は、調整フラグが“１”かどうかをチェックし、“０”のままであればリターンし、調整フラグが“１”であれば通信を繰返す。調整器は、調整したい箇所のアドレスと調整コード“１”とをＥＲＯＭ５３に書込み、調整用の通信が行われるのを待つ。製品は、ＥＲＯＭ５３のアドレスと実行しているプログラムのアドレスとが一致すると、割込みが発生し、調整コードが“１”なので通信を行なう。調整器は、調整したい内容を通信データに書込む。調整で複数のサブルーチンを実行させたい時は、初めの通信で調整コードを“１”に書換えて、複数個の通信でサブルーチンコールを繰返すことで行なう。これにより、製品になった状態で製品のプログラムの全てのステップで調整が可能となる。」（第６頁左上欄第６行〜同頁右上欄第１８行目）と記載されている（「調整フ１グ」は「調整フラグ」の誤記と認められる。）。
　すなわち、上記引用文献２には、通常は、プログラムカウンタによってアドレスが指定されるプログラムメモリから読出されるデータがセレクタによって選択されて命令デコーダに入力し、デコードされてプログラムが実行されるが、電気的に書込み可能な不揮発性メモリであるＥＲＯＭに記憶されているアドレスデータとプログラムカウンタの出力内容とが一致したときにＥＲＯＭの出力データである修正されたプログラムデータがプログラムメモリの出力データである修正すべきプログラムデータに代わってセレクタにより選択されて命令デコーダに入力されるマイクロコンピュータにおいて、ＥＲＯＭには、割込みを発生させるアドレスの入ったアドレスデータと、それにつながってコード部とアドレス・データ部とのペアがアドレス単位で連続して書込まれており、プログラムカウンタの出力内容アドレスとＥＲＯＭに記憶されているアドレスデータとが一致すると、割込み処理が行なわれ、該割込み処理においては、まず、コード部の値をチェックし、その値に応じた処理を選択する。すなわち、コード部の値が「１」のときには、調整用のプログラムを実行し、該調整用のプログラム実行時には、調整器との間で通信を行ない、その通信データの内容は、調整コード部、アドレス部、データ部から構成され、調整コード部の値に応じた処理を行ない、コード部の値が「２」の時は、アドレス・データ部のアドレスのサブルーチンをコールし、コード部の値が「３」の時は、アドレス・データ部のアドレスにデータ部のデータを書込み、コード部の値が「４」の時は、アドレス・データ部のデータを読出し、コード部の値が「５」の時は、アドレス・データ部のアドレスにジャンプし、コード部の値が５以外の時は、リターンするマイクロコンピュータの発明（以下、「引用文献２の発明」と言う。）が記載されていると認められる。
　
３．対比
　そこで、本願発明と上記引用文献１の発明とを対比すると、上記引用文献１の発明は、修正後命令が読出されるときには、制御情報も読出され、該制御情報の値に応じて、正常状態に復帰したり、複数個の修正後命令を読出すように修正時アドレス・レジスタをセットしているので、上記引用文献１の発明における「ＲＯＭ」，「アドレス・レジスタ」，「修正データ格納メモリ」，「修正後命令」，「制御情報」及び「修正時アドレス・レジスタ」は、それぞれ本願発明における「リードオンリメモリ」，「第一のプログラムカウンタ」，「メモリ」，「追加、修正のプログラムデータ」，「コード」及び「第２のプログラムカウンタ」に相当するので、両者は共に、
　リードオンリメモリのアドレスを決定する第一のプログラムカウンタ、および、メモリのアドレスを計算する第二のプログラムカウンタを備え、前記メモリに前記リードオンリメモリの修正、追加をすべきアドレスのアドレスデータと、そのアドレスにおける追加、修正のプログラムデータと、前記第二のプログラムカウンタを制御するコードとを記憶させ、前記第一のプログラムカウンタと前記メモリに記憶されたアドレスデータが一致したとき、第二のプログラムカウンタを制御するコードにもとづいて、前記リードオンリメモリの内容とメモリの内容とを切り換えて命令を実行するマイクロコンピュータである点では同じである。
　ただ、（ａ）本願発明においては、修正データ格納用のメモリとして、電気的に書込み可能なメモリを用いているのに対して、引用文献１の発明においては、メモリとしてどのような記憶素子を用いるのか記載されていない点、及び、（ｂ）本願発明においては、該電気的に書込み可能なメモリには、「リードオンリメモリの修正、追加すべきアドレスのアドレスデータと、そのアドレスにおける追加、修正のプログラムデータと、第二のプログラムカウンタを制御するコードとが、一組になったものを複数組記憶させ」ているのに対して、上記引用文献１の発明においては、メモリは、ＲＯＭの全アドレス領域をＮ分割したブロックに対応したＮ個のアドレス領域を持ち、該アドレス領域には、ブロックに対応するブロックアドレスによってアクセスされる格納域を持ち、また該修正後命令と制御情報は、上記ブロックアドレスによってアクセスされるＮ個分のエントリ領域に書込まれるようにされている点で、両者は相違している。
　
４．当審の判断
　よって上記相違点（ａ），（ｂ）について検討すると、（ａ）については、上記引用文献２の発明において、マイクロコンピュータのリードオンリメモリの内容を一部修正、追加するときに、該修正、追加したいデータを電気的に書込み可能なメモリであるＥＲＯＭに記憶させることが示されており、相違点（ａ）については、上記引用文献１の発明に、上記引用文献２の発明を適用して、そのメモリとして、電気的に書込み可能なメモリを用いて本願発明のようにすることは、当業者が容易に発明をすることができたものと認められる。
　次に、相違点（ｂ）については、本願発明と同様な、プログラムの置換え及び挿入を行なうことができるマイクロコンピュータである引用文献２の発明において、電気的に書込み可能なメモリであるＥＲＯＭに、リードオンリメモリの修正、追加をすべきアドレスのアドレスデータと、コード部と、アドレスデータ部とのペアがアドレス単位で複数組書込まれており、プログラムカウンタの出力とＥＲＯＭに記憶されているアドレスデータとを比較し、両者が一致したときに割込み処理が行なわれてＥＲＯＭの出力が選択され、そのコード部の値に応じた処理が行なわれることが示されており、引用文献１の発明に上記引用文献２の発明を適用して、アドレス単位で、修正、追加すべきアドレスのアドレスデータと、そのアドレスにおける修正、追加のプログラムデータと、第二のプログラムカウンタを制御するコードとを、一組として、複数組記憶させるように構成して、本願発明のようにすることは、当業者が容易に発明をすることができたものとと認められる。
　そして、引用文献１の発明ように、ブロック単位で記憶させるのと比べて、本願発明のように、アドレス単位で記憶させるようにすれば、メモリの使用容量が少なくて済むということは、当業者にとって自明の事項に過ぎず、格別の効果であるものとは認められない。
　
５．審判請求人の主張について
　審判請求人は、審判請求の理由中で、本願発明と上記引用文献１，２との相違点について、「引用文献１に記載のものは、ブロック毎の修正のため、１箇所の修正でも１ブロック分のメモリが必要となります。また、更に連続して修正を行う場合には、その分修正ブロックの追加が必要となります。
　これに対して、本願発明では、修正内容がブロック毎ではなく、プログラムデータ毎にアドレスがペアになるよう構成していることにより、連続修正や挿入を容易に行うことができ、メモリの容量も少なくて済むという作用効果を奏するものであります。
　そして、引用文献１及び２には、“プログラムデータ毎にアドレスがペアになるよう構成する”点については何の開示もなく、また示唆する記載もありません。」と、主張している。
　しかしながら、上記したように、マイクロコンピュータのプログラム管理の単位として、本願発明のように、アドレス単位で行なうことは、引用文献２に記載されているように、当業者にとって公知であり、本願発明において、修正、追加をすべきプログラムを、引用文献１に記載されている、ブロック毎に修正する代わりに、引用文献２に記載されているように、プログラムデータ毎に修正、追加を行うようにすることは、当業者が容易になし得たものと認められ、また、そのようにすれば、メモリの容量も少なくて済むということは、当業者にとって、自明の事項に過ぎず、格別の効果であるものとは認められないので、審判請求人の主張は採用することができない。
　
６．むすび
　以上のとおりであるので、本願発明は、上記引用文献１の発明に引用文献２の発明を適用することによって当業者が容易に発明をすることができたものと認められるので、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。