(57)【要約】【課題】動作プログラムを擬似的に修正可能な携帯可能電子装置を提供すること。【解決手段】携帯可能電子装置は、アドレスにより管理された第１の記憶領域により構成されたデータ書き換え不能な第１の記憶手段と、アドレスにより管理された第２の記憶領域により構成されたデータ書き換え可能な第２の記憶手段と、前記第１の記憶領域の監視対象アドレスと前記第２の記憶領域のジャンプ先アドレスとを対応付けたアドレス管理情報を管理するアドレス管理手段と、アクセス対象のアドレスをカウントするカウント手段と、前記前記カウント手段による前記監視対象アドレスのカウントに対応して前記カウント手段に前記ジャンプ先アドレスを設定し、前記カウント手段に設定された前記ジャンプ先アドレスに従って、前記ジャンプ先アドレスに記憶されたデータを読み出すデータ処理手段と、を備えている。【選択図】図５
2011198107.tif 000002
【特許請求の範囲】
【請求項１】
アドレスにより管理された第１の記憶領域により構成されたデータ書き換え不能な第１の記憶手段と、
アドレスにより管理された第２の記憶領域により構成されたデータ書き換え可能な第２の記憶手段と、
前記第１の記憶領域の監視対象アドレスと前記第２の記憶領域のジャンプ先アドレスとを対応付けたアドレス管理情報を管理するアドレス管理手段と、
アクセス対象のアドレスをカウントするカウント手段と、
前記カウント手段によりカウントされるアドレスに従って、前記第１の記憶領域からデータを読み出し、前記前記カウント手段による前記監視対象アドレスのカウントに対応して前記カウント手段に前記ジャンプ先アドレスを設定し、前記カウント手段に設定された前記ジャンプ先アドレスに従って、前記第２の記憶領域の前記ジャンプ先アドレスに記憶されたデータを読み出すデータ処理手段と、
を備えたことを特徴とする携帯可能電子装置。
【請求項２】
前記カウント手段は、前記第１の記憶領域の第１のアドレスから第２のアドレスまでを順にカウントし、
前記アドレス管理手段は、前記第１のアドレスから第２のアドレスまでに含まれた前記監視対象アドレスと前記第２の記憶手段のジャンプ先アドレスとを対応付けて管理することを特徴とする請求項１に記載の携帯可能電子装置。
【請求項３】
前記第１のアドレスから前記第２のアドレスに対応した第３の記憶領域は、プログラムデータを記憶し、
前記ジャンプ先アドレスに対応した第４の記憶領域は、修正プログラムデータを記憶することを特徴とする請求項２に記載の携帯可能電子装置。
【請求項４】
パスワードを登録するパスワード登録手段と、
パスワードを入力する入力手段と、
を備え、
前記データ処理手段は、前記入力手段により入力された入力パスワードと前記パスワード登録手段に登録された登録パスワードとの一致を条件として、前記ジャンプ先アドレスに記憶されたデータの読み出しを有効にすることを特徴とする請求項１に記載の携帯可能電子装置。
【請求項５】
前記第１の記憶領域の第１の監視対象アドレスと前記第２の記憶領域の第１のジャンプ先アドレスとを対応付けた第１のアドレス管理情報に基づく第１のデータ読み出し処理を有効又は無効に設定する第１の制御情報、及び前記第１の記憶領域の第２の監視対象アドレスと前記第２の記憶領域の第２のジャンプ先アドレスとを対応付けた第２のアドレス管理情報に基づく第２のデータ読み出し処理を有効又は無効に設定する第２の制御情報を登録する制御情報登録手段を備え、
前記アドレス管理手段は、前記第１及び第２のアドレス管理情報を管理する、
ことを特徴とする請求項１に記載の携帯可能電子装置。
【請求項６】
前記データ処理手段は、前記第１のアドレス管理情報、前記第１の制御情報、前記第２のアドレス管理情報、及び前記第２の制御情報に基づき、前記前記カウント手段による前記第１の監視対象アドレスのカウントに対応した前記第１のジャンプ先アドレスに記憶されたデータの読み出し、及び前記前記カウント手段による前記第２の監視対象アドレスのカウントに対応した前記第２のジャンプ先アドレスに記憶されたデータの読み出しを制御する、
ことを特徴とする請求項５に記載の携帯可能電子装置。
【請求項７】
ＩＣモジュールを備えたＩＣカードであって、
前記ＩＣモジュールは、
アドレスにより管理された第１の記憶領域により構成されたデータ書き換え不能な第１の記憶手段と、
アドレスにより管理された第２の記憶領域により構成されたデータ書き換え可能な第２の記憶手段と、
前記第１の記憶領域の監視対象アドレスと前記第２の記憶領域のジャンプ先アドレスとを対応付けたアドレス管理情報を管理するアドレス管理手段と、
アクセス対象のアドレスをカウントするカウント手段と、
前記カウント手段によりカウントされるアドレスに従って、前記第１の記憶領域からデータを読み出し、前記前記カウント手段による前記監視対象アドレスのカウントに対応して前記カウント手段に前記ジャンプ先アドレスを設定し、前記カウント手段に設定された前記ジャンプ先アドレスに従って、前記第２の記憶領域の前記ジャンプ先アドレスに記憶されたデータを読み出すデータ処理手段と、
を備えたことを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば書き換えが可能な不揮発性メモリおよびＣＰＵなどの制御素子を有するＩＣ（集積回路）モジュールを内蔵した、いわゆるＩＣカードと称される携帯可能電子装置に関する。
【背景技術】
【０００２】
近年、安全性に優れるＩＣカード（接触式及び非接触式）の普及が目覚しい。このようなＩＣカードは、電力供給が断たれてもデータを保持する事が可能な不揮発性メモリ、リーダライタと通信可能な通信Ｉ／Ｆ、各種動作を実行するＣＰＵなどの制御素子、ＣＰＵの動作プログラム等を記憶するＲＯＭ（Read Only Memory）、及びデータを一時的に記憶するＲＡＭ（Random Access Memory）を有する。
【０００３】
ＩＣカードは、クレジットカード、定期券、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのＩＤカードとしても様々な分野で使われるようになっている。これは、従来の磁気カードに比べ、ＩＣカードは、ＣＰＵ、ＲＯＭ、ＲＡＭ、不揮発性メモリなどを有するＩＣを備えることにより、様々な機能が実現可能となったこと、さらには偽造が難しいためセキュリティの面でも大きく向上したことが要因である。
【０００４】
また、ＩＣカードを多目的に利用可能とするために、複数のアプリケーションで運用可能なＩＣカードに関する技術が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１６４２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＩＣカードは、ＲＯＭに記憶された動作プログラムに基づき動作する。状況に応じて、動作プログラムの修正が必要となる場合があるが、ＲＯＭに記憶された動作プログラムを書き換えることはできない。そこで、ＲＯＭに記憶された動作プログラムを擬似的に修正する技術が要望されている。
【０００７】
本発明の目的は、ＲＯＭに記憶された動作プログラムを擬似的に修正可能な携帯可能電子装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一実施形態に係る携帯可能電子装置は、アドレスにより管理された第１の記憶領域により構成されたデータ書き換え不能な第１の記憶手段と、アドレスにより管理された第２の記憶領域により構成されたデータ書き換え可能な第２の記憶手段と、前記第１の記憶領域の監視対象アドレスと前記第２の記憶領域のジャンプ先アドレスとを対応付けたアドレス管理情報を管理するアドレス管理手段と、アクセス対象のアドレスをカウントするカウント手段と、前記カウント手段によりカウントされるアドレスに従って、前記第１の記憶領域からデータを読み出し、前記前記カウント手段による前記監視対象アドレスのカウントに対応して前記カウント手段に前記ジャンプ先アドレスを設定し、前記カウント手段に設定された前記ジャンプ先アドレスに従って、前記第２の記憶領域の前記ジャンプ先アドレスに記憶されたデータを読み出すデータ処理手段と、を備える。
【発明の効果】
【０００９】
本発明によれば、ＲＯＭに記憶された動作プログラムを擬似的に修正可能な携帯可能電子装置を提供できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るＩＣカードシステム（別称、スマートカードシステム）の概略構成を示すブロック図である。
【図２】本発明の一実施形態に係るＩＣカードの概略構成を示すブロック図である。
【図３】本発明の一実施形態に係るＩＣカードのアドレス監視回路を構成する各種レジスタの一例を示す図である。
【図４】本発明の一実施形態に係るＩＣカードのデータメモリに記憶されるデータを説明するための図である。
【図５】プログラム修正のためのジャンプ処理の一例を説明するための図である。
【図６】プログラム修正のための前処理の一例を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照し、本発明の実施形態について説明する。
【００１２】
図１は、本発明の一実施形態に係るＩＣカードシステム（別称、スマートカードシステム）の概略構成を示すブロック図である。図１に示すように、ＩＣカードシステムは、端末１（通信装置）及びＩＣカード２（携帯可能電子装置）により構成される。
【００１３】
端末１は、カードリーダ／ライタ１０２、本体（上位装置）１０３、キーボード１０４、ディスプレイ１０５、プリンタ１０６を備えている。端末１（カードリーダ／ライタ１０２）はＩＣカード２と通信可能に構成されており、端末１はＩＣカード２に対してデータを送信したり、ＩＣカード２からのデータを受信したりする。
【００１４】
本体１０３は、例えば、複数の通信方式及び複数のアプリケーションを選択的に実行することができる。ディスプレイ１０５は、ＩＣカード２との通信結果及び認証結果等を表示する。キーボード１０４は、本体１０３に対して文字や数字等を入力する。例えば、キーボード１０４は、後述するパスワードを入力することができる。カードリーダ／ライタ１０２は、ＩＣカード２と通信する。
【００１５】
なお、ＩＣカード２は、接触式のカード、非接触式のカード、及び非接触式と接触式の両者をサポートするコンビ型のカードのいずれであってもよい。
【００１６】
図２は、本発明の一実施形態に係るＩＣカードの概略構成を示すブロック図である。図２に示すように、ＩＣカード２は、例えばプラスティックカードであり、ＩＣチップ２００、及び通信部２０５を備えている。ＩＣチップ２００は、制御素子により構成される制御部２０１、データメモリ２０２、ワーキングメモリ２０３、プログラムメモリ２０４、アドレス監視回路２０６を備えている。例えば、ＩＣチップ２００と通信部２０５とが一体的にＩＣモジュール化されて、ＩＣカード本体内（プラスティックカード内）にＩＣモジュールとアンテナとが埋設される。
【００１７】
なお、携帯可能電子装置の一例として、上記したようなＩＣカード２について説明するが、本発明はこれに限定されるものではない。例えば、携帯可能電子装置は、ＳＩＭ形状のＩＣカードであってもよい。また、一つのＩＣチップ２００により、制御部２０１、データメモリ２０２、ワーキングメモリ２０３、プログラムメモリ２０４、アドレス監視回路２０６が構成されてもよいし、複数のＩＣチップにより、制御部２０１、データメモリ２０２、ワーキングメモリ２０３、プログラムメモリ２０４、アドレス監視回路２０６が構成されてもよい。
【００１８】
通信部２０５は、例えば接触式の通信インターフェースである。データメモリ２０２は、ＥＥＰＲＯＭ、ＦＲＡＭ、ＦＬＡＳＨ等の書き込み及び消去が可能な（書き換え可能な）不揮発性メモリであり、各種データの記憶に使用される。ワーキングメモリ２０３は、制御部２０１が処理を行う際の処理データを一時的に保持するためのメモリであり、例えばＲＡＭにより構成される。プログラムメモリ２０４は、制御部２０１の動作プログラムなどを記憶するためのメモリであり、例えばマスクＲＯＭで構成される。
【００１９】
制御部２０１は、データ処理手段として機能し、プログラムメモリ２０４に記憶された動作プログラム等に基づき動作する。また、制御部２０１は、データメモリ２０２又はワーキングメモリ２０３に記憶されたデータを読み出したり、データメモリ２０２又はワーキングメモリ２０３に対してデータを書き込んだり、さらには、通信部２０５を介して受信したコマンド（端末１から送信されたコマンド）を解釈し実行したり、通信部２０５を介して端末１に対してコマンド実行結果の返信を制御したりする。さらに、制御部２０１は、プログラムカウンタＰＣを備え、プログラムカウンタＰＣによりカウントされるアドレスに従って、プログラムを読み出す。
【００２０】
次に、プログラムメモリ２０４に記憶されたプログラムの擬似的な書き換えによる第１のプログラム修正について説明する。
【００２１】
例えば、プログラムメモリ２０４に記憶されたプログラムの部分修正が必要となる場合に備えて、予め、プログラムメモリ２０４に記憶されたプログラムの中に、データメモリ２０２の所定領域（所定アドレス）へのアクセスを指示するアクセス情報を埋め込む。例えば、一定間隔で、プログラムの中にアクセス情報を埋め込む。プログラムメモリ２０４に記憶されたプログラムの中に、データメモリ２０２の第１の領域へのアクセスを指示する第１のアクセス情報を埋め込み、データメモリ２０２の第１の領域には、部分修正プログラムを書き込む。これにより、プログラムメモリ２０４に記憶されたプログラムが読み取られ、上記した第１のアクセス情報が読み取られると、この第１のアクセス情報の指示に従いデータメモリ２０２の第１の領域の部分修正プログラムが読み取られる。このようにしてプログラムメモリ２０４に記憶されたプログラムを擬似的に書き換え、プログラムを修正することができる。
【００２２】
上記したプログラム修正の場合、アクセス情報の埋め込み間隔でのプログラム修正となる。このため、比較的小さいデータのプログラム修正が必要な場合であっても、修正する必要の無いデータも含めた比較的大きい部分修正プログラムに基づくプログラム修正となる。つまり、比較的小さいデータのプログラム修正が必要な場合であっても、データメモリ２０２には、修正する必要の無いデータも含めた比較的大きい部分修正プログラムが用意されることになる。これは、データメモリ２０２の使用効率の低下につながる。
【００２３】
そこで、上記した第１のプログラム修正より、より効率よくプログラムを修正することが可能な第２のプログラム修正について説明する。つまり、データメモリ２０２を効率よく使用することが可能な第２のプログラム修正について説明する。
【００２４】
図３に示すように、例えば、アドレス監視回路２０６は、アドレス監視レジスタ３０１とジャンプ先レジスタ３０４とで構成された第１のアドレスユニット、アドレス監視レジスタ３０２とジャンプ先レジスタ３０５とで構成された第２のアドレスユニット、アドレス監視レジスタ３０３とジャンプ先レジスタ３０６とで構成された第３のアドレスユニットを備えている。
【００２５】
なお、本実施形態では、上記したように、アドレス監視回路２０６が３つのアドレスユニットにより構成されるケースについて説明するが、本発明はこれに限定されるものではない。アドレス監視回路２０６は１以上のアドレスユニットにより構成することができる。
【００２６】
アドレス監視レジスタ３０１は、第１の監視対象アドレスを登録するレジスタであり、アドレス監視レジスタ３０２は、第２の監視対象アドレスを登録するレジスタであり、アドレス監視レジスタ３０３は、第３の監視対象アドレスを登録するレジスタである。また、ジャンプ先レジスタ３０４は、第１のジャンプ先アドレスを登録するレジスタであり、ジャンプ先レジスタ３０５は、第２のジャンプ先アドレスを登録するレジスタであり、ジャンプ先レジスタ３０６は、第３のジャンプ先アドレスを登録するレジスタである。
【００２７】
つまり、第１のアドレスユニットは、第１の監視対象アドレスと第１のジャンプ先アドレスとを対応付けた第１のアドレス管理情報を管理し、第２のアドレスユニットは、第２の監視対象アドレスと第２のジャンプ先アドレスとを対応付けた第２のアドレス管理情報を管理し、第３のアドレスユニットは、第３の監視対象アドレスと第３のジャンプ先アドレスとを対応付けた第３のアドレス管理情報を管理する。
【００２８】
例えば、図５に示すように、アドレス監視レジスタ３０１がプログラムメモリ２０４上の第１の監視対象アドレス（アドレスＡＡＡＡ）を登録し、ジャンプ先レジスタ３０４がデータメモリ２０２上の第１のジャンプ先アドレス（アドレスＢＢＢＢ）を登録する。制御部２０１のプログラムカウンタＰＣが第１の監視対象アドレス（アドレスＡＡＡＡ）をカウントすると、制御部２０１は、アドレス監視レジスタ３０１及びアドレス監視アドレス３０４に基づき、プログラムカウンタＰＣがカウントした第１の監視対象アドレス（アドレスＡＡＡＡ）を第１のジャンプ先アドレス（アドレスＢＢＢＢ）へ書き換える。
【００２９】
制御部２０１は、プログラムカウンタＰによりカウントされるアドレスからデータを読み出す。例えば、プログラムカウンタＰが、プログラムメモリ２０４の記憶領域の第１のアドレスから第２のアドレスまで順にアドレスをカウントする場合、第１のアドレスから第２のアドレスまでの間に含まれた第１の監視対象アドレス（アドレスＡＡＡＡ）をカウントすると、上記したように、プログラムカウンタＰＣがカウントした第１の監視対象アドレス（アドレスＡＡＡＡ）は第１のジャンプ先アドレス（アドレスＢＢＢＢ）へ書き換えられる。従って、制御部２０１は、プログラムメモリ２０４の記憶領域の第１のアドレスから第２のアドレスまでのアドレスからデータを読み出す途中で、第１の監視対象アドレス（アドレスＡＡＡＡ）に記憶されたデータに替えて、データメモリ２０２上の第１のジャンプ先アドレス（アドレスＢＢＢＢ）のデータを読み出すことができる。
【００３０】
なお、第１のアドレスから第２のアドレスに対応する記憶領域にプログラムデータが記憶され、第１の監視対象アドレス（アドレスＡＡＡＡ）に対応する記憶領域に修正対象プログラムデータが記憶され、第１のジャンプ先アドレス（アドレスＢＢＢＢ）に対応する記憶領域に修正プログラムが記憶されているものとする。
【００３１】
続いて、アドレス監視レジスタ３０１、３０２、３０３、及びジャンプ先レジスタ３０４、３０５、３０６に対するデータの設定について説明する。例えば、データメモリ２０２は、アドレス監視レジスタ３０１、３０２、３０３に設定するための第１、第２、第３の監視アドレスを記憶し、また、ジャンプ先レジスタ３０４、３０５、３０６に設定するための第１、第２、第３のジャンプ先アドレスも記憶する。
【００３２】
例えば、ＩＣカード２００（制御部２０１）が起動するときのプログラム処理において、制御部２０１は、データメモリ２０２に記憶された第１、第２、第３の監視アドレスをアドレス監視レジスタ３０１、３０２、３０３に設定し、また、データメモリ２０２に記憶された第１、第２、第３のジャンプ先アドレスをジャンプ先レジスタ３０４、３０５、３０６に設定する。
【００３３】
また、図３に示すように、アドレス監視回路２０６は、パスワードレジスタ３０７及びイネーブルレジスタ３０８も備える。パスワードレジスタ３０７は、パスワードを記憶するレジスタである。例えば、制御部２０１が、パスワードレジスタ３０７に設定された正規パスワードと、通信部２０５を介して入力された入力パスワードとの一致を検出すると、アドレス監視回路２０６により監視アドレスとジャンプ先アドレスとを対応付けた管理情報によるプログラム修正を許可する。
【００３４】
また、イネーブルレジスタ３０８は、第１、第２、第３のビットを記憶可能に構成されており、第１のビットがアドレス監視レジスタ３０１とジャンプ先レジスタ３０４によるプログラム修正の有効又は無効を制御し、第２のビットがアドレス監視レジスタ３０２とジャンプ先レジスタ３０５によるプログラム修正の有効又は無効を制御し、第３のビットがアドレス監視レジスタ３０３とジャンプ先レジスタ３０６によるプログラム修正の有効又は無効を制御する。
【００３５】
例えば、第１のビットが「１」ならば、アドレス監視レジスタ３０１とジャンプ先レジスタ３０４によるプログラム修正は有効となり、第１のビットが「０」ならば、アドレス監視レジスタ３０１とジャンプ先レジスタ３０４によるプログラム修正は無効となる。
【００３６】
また、パスワードレジスタ３０７とイネーブルレジスタ３０８とを組み合わせて、プログラム修正の有効又は無効を制御するようにしてもよい。例えば、制御部２０１が、パスワードレジスタ３０７に設定された正規パスワードと、通信部２０５を介して入力された入力パスワードとの一致を検出した場合に、イネーブルレジスタ３０８に基づきプログラム修正の有効又は無効を制御するようにしてもよい。
【００３７】
図４は、ＩＣカード２００のデータメモリ２０２に記憶されるデータの一例を示す図である。例えば、データメモリ２０２は、記憶内容が消去可能な不揮発性のデータ記憶領域４０１を備える。データ記憶領域４０１は、監視アドレス記憶領域４０２、４０３、４０４を備える。監視アドレス記憶領域４０２は、アドレス監視レジスタ３０１に登録するための第１の監視アドレスを記憶する。監視アドレス記憶領域４０３は、アドレス監視レジスタ３０２に登録するための第２の監視アドレスを記憶する。監視アドレス記憶領域４０４は、アドレス監視レジスタ３０３に登録するための第３の監視アドレスを記憶する。
【００３８】
さらに、データ記憶領域４０１は、ジャンプ先アドレス記憶領域４０５、４０６、４０７を備える。ジャンプ先アドレス記憶領域４０５は、ジャンプ先レジスタ３０４に登録するための第１のジャンプ先アドレスを記憶する。ジャンプ先アドレス記憶領域４０６は、ジャンプ先レジスタ３０５に登録するための第２のジャンプ先アドレスを記憶する。ジャンプ先アドレス記憶領域４０７は、ジャンプ先レジスタ３０６に登録するための第３のジャンプ先アドレスを記憶する。
【００３９】
さらに、データ記憶領域４０１は、ＩＣカードに書き込まれるデータを格納する書き込みデータ記憶領域４０８を備える。さらに、データ記憶領域４０１は、第１、第２の修正プログラムを記憶する修正プログラム記憶領域４０９、４１０を備える。例えば、ジャンプ先レジスタ３０４に登録される第１のジャンプ先アドレスは、修正プログラム記憶領域４０９の位置を示すアドレスである。また、ジャンプ先レジスタ３０５に登録される第２のジャンプ先アドレスは、修正プログラム記憶領域４０９の位置を示すアドレスである。
【００４０】
つまり、プログラムカウンタＰＣが第１の監視アドレスをカウントすると、プログラムカウンタＰＣがカウントした第１の監視アドレスは第１のジャンプ先アドレスへ書き換えられる。従って、制御部２０１は、プログラムメモリ２０４の第１の監視アドレスに記憶されたデータに替えて、データメモリ２０２の第１のジャンプ先アドレスのデータを読み出すことができる。
【００４１】
同様に、プログラムカウンタＰＣが第２の監視アドレスをカウントすると、プログラムカウンタＰＣがカウントした第２の監視アドレスは第２のジャンプ先アドレスへ書き換えられる。従って、制御部２０１は、プログラムメモリ２０４の第２の監視アドレスに記憶されたデータに替えて、データメモリ２０２の第２のジャンプ先アドレスのデータを読み出すことができる。
【００４２】
次に、図６を参照して、第２のプログラム修正の前処理について説明する。
【００４３】
ＩＣカード２００（制御部２０１）が起動するときのプログラム処理において、制御部２０１は、監視アドレス記憶領域４０２、４０３、４０４に記憶された第１、第２、第３の監視アドレスを、アドレス監視レジスタ３０１、３０２、３０３に設定する（ＳＴ６０１）。さらに、制御部２０１は、ジャンプ先アドレス記憶領域４０５、４０６、４０７に記憶された第１、第２、第３のジャンプ先アドレスをジャンプ先レジスタ３０４、３０５、３０６に設定する（ＳＴ６０１）。
【００４４】
続いて、制御部２０１は、パスワードレジスタ３０７にパスワードを設定する（ＳＴ６０３）。さらに、制御部２０１は、イネーブルレジスタ３０８の第１、第２、第３のビットに「１」又は「０」を設定する（ＳＴ６０４）
プログラムカウンタＰＣは、プログラムメモリ２０４上に格納されたプログラムのアドレス（例えば第１のアドレスから第２のアドレス）を順にカウントし、制御部２０１は、プログラムカウンタＰＣによりカウントされるアドレスに従い、プログラムを読み出す。
【００４５】
例えば、プログラムカウンタＰＣが第１の監視アドレス（アドレスＡＡＡＡ）をカウントすると、プログラムカウンタＰＣがカウントした第１の監視アドレス（アドレスＡＡＡＡ）は第１のジャンプ先アドレス（アドレスＢＢＢＢ）へ書き換えられる。これにより、データリード位置が、第１の監視アドレス（アドレスＡＡＡＡ）から第１のジャンプ先アドレス（アドレスＢＢＢＢ）へジャンプする。従って、制御部２０１は、プログラムメモリ２０４の第１の監視アドレスに記憶されたデータに替えて、データメモリ２０２の第１のジャンプ先アドレスのデータを読み出すことができる。
【００４６】
以上により、本実施形態のＩＣカードは、上記説明した第２のプログラム修正により、効率よくＲＯＭに記憶された動作プログラムを擬似的に修正することができる。例えば、プログラムメモリ２０４に記憶されたプログラムを部分的（比較的小さいデータサイズで）に効率よく擬似修正することができる。これにより、データメモリ２０２には必要最低限の修正プログラムを記憶すればよく、データメモリ２０２の記憶資源を有効利用することができる。
【００４７】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００４８】
１…端末、２…ＩＣカード（携帯可能電子装置）、１０２…カードリーダ／ライタ、１０３…本体、１０４…キーボード、１０５…ディスプレイ、１０６…プリンタ、２００…ＩＣチップ、２０１…制御部、２０２…データメモリ、２０３…ワーキングメモリ、２０４…プログラムメモリ、２０５…通信部、２０６…アドレス監視回路
【図１】
2011198107.tif 000003
【図２】
2011198107.tif 000004
【図３】
2011198107.tif 000005
【図４】
2011198107.tif 000006
【図５】
2011198107.tif 000007
【図６】
2011198107.tif 000008