JPH05120067A - プログラムパツチ方式 - Google Patents

プログラムパツチ方式

Info

Publication number
JPH05120067A
JPH05120067A JP3283444A JP28344491A JPH05120067A JP H05120067 A JPH05120067 A JP H05120067A JP 3283444 A JP3283444 A JP 3283444A JP 28344491 A JP28344491 A JP 28344491A JP H05120067 A JPH05120067 A JP H05120067A
Authority
JP
Japan
Prior art keywords
instruction
patch
command
area
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.)
Pending
Application number
JP3283444A
Other languages
English (en)
Inventor
Reiko Ishibashi
令子 石橋
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 Solution Innovators Ltd
Original Assignee
NEC Solution Innovators Ltd
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 Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP3283444A priority Critical patent/JPH05120067A/ja
Publication of JPH05120067A publication Critical patent/JPH05120067A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】パッチエリア33とその番地を示すパッチエリ
アポインタ311を特定のエリアに持つプログラムに対
するパッチ指示の煩わしさを軽減させるとともに、パッ
チエリアを二重に使用するミスをなくす。 【構成】コマンド取得解析手段10は、命令追加パッ
チ,命令削除パッチ,命令置換パッチのコマンドを取得
し解析する。命令追加パッチのとき、追加命令パッチ手
段11で追加命令群,命令退避手段12で追加命令番地
の命令群をパッチエリア33に格納し、分岐命令生成格
納手段13でパッチエリア33の呼出しと戻りの分岐命
令を生成格納し、ポインタ更新手段14でパッチエリア
ポインタ311を更新する。命令削除パッチのとき、命
令削除パッチ手段15で削除命令群のエリアにNOP命
令を生成し格納する。命令置換パッチのとき、コマンド
分割生成手段17で命令削除と命令追加のパッチコマン
ドに分割し、それぞれのコマンドを実行して命令を置換
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理システムにおけ
るプログラムのパッチ方式に関し、特に全命令長の最小
公約数を命令長とするNOP(NO OPERATIO
N;無動作)命令を持つプロセッサ上で動作し、パッチ
エリアと該パッチエリアの番地を示すパッチエリアポイ
ンタを特定のエリアに持つプログラムに対する命令追加
パッチ,命令削除パッチ,および命令置換パッチに関す
る。
【0002】
【従来の技術】従来のプログラムのパッチは指定された
アドレスのオリジナルコードを指定された新コードへ置
き換える機能のみしか持たなかった為、プログラムに命
令を追加する場合にパッチ作成者が追加命令を格納する
パッチエリアのアドレスを意識する必要や追加命令を格
納するパッチエリアへの分岐命令や追加命令の終りに元
の処理へ戻るための分岐命令を指定する必要があり、ま
た命令を削除する場合は削除する命令長分のNOP命令
を指定する必要があった。
【0003】
【発明が解決しようとする課題】このように従来のプロ
グラムパッチでは、プログラムに命令を追加する場合に
パッチ作成者が追加命令を格納するパッチエリアのアド
レスを意識する必要や追加命令を格納すすパッチエリア
への分岐命令や追加命令の終りに元の処理へ戻るための
分岐命令を指定する必要があり、また命令を削除する場
合は削除する命令長分のNOP命令を指定する必要があ
った。したがって、パッチエリアを二重に使用するミス
が発生したりパッチ指示の煩わしさがあった。
【0004】
【課題を解決するための手段】本発明のプログラムパッ
チ方式は、パッチエリアと該パッチエリアの番地を示す
パッチエリアポインタを特定のエリアに持つプログラム
の命令追加パッチにおいて、命令追加番地と追加命令群
が指定されるパッチコマンドを取得し解析するコマンド
取得解析手段と、パッチコマンドで指定された前記追加
命令群を前記パッチエリアに設定する追加命令パッチ手
段と、命令の命令長を取得する命令長取得手段と、前記
命令追加番地から分岐命令を格納する範囲にある命令群
を前記パッチエリアに退避する命令退避手段と、分岐先
番地と分岐命令格納番地の情報により無条件分岐命令を
生成し該分岐命令を分岐命令格納番地に格納する分岐命
令生成格納手段と、前記パッチエリアポインタを更新す
るポインタ更新手段とを有する。
【0005】また、本発明のプログラムパッチ方式は、
全命令長の最小公約数を命令長とするNOP命令を持つ
プロセッサ上で動作するプログラムの命令削除パッチに
おいて、命令削除番地と削除命令群が指定されるパッチ
コマンドを取得し解析するコマンド取得解析手段と、命
令の命令長を取得する命令長取得手段と、前記命令削除
番地から削除命令群のエリアにNOP命令を生成し格納
する命令削除パッチ手段とを有する。
【0006】またさらに、本発明のプログラムパッチ方
式は、命令置換パッチにおいて、命令置換を指定するパ
ッチコマンドを前記命令削除パッチと命令追加パッチの
コマンドに分割生成するコマンド分割生成手段を有す
る。
【0007】
【実施例】次に、本発明について図面を参照して説明す
る。
【0008】図1は本発明の一実施例示す説明図であ
る。コマンド取得解析手段10においてパッチコマンド
20を解析し、命令追加パッチ手段11,命令退避手段
12,分岐命令生成格納13,ポインタ更新手段14,
命令削除パッチ手段15,命令長取得手段16,および
コマンド分割生成手段17により、ロードモジュール3
0に対してパッチコマンド20の指示に従ったパッチを
行う。
【0009】ロードモジュール30は、データ領域3
1,実行命令コードが格納されている命令領域32、追
加命令の命令コードを格納する為に使用されるパッチエ
リア33,およびパッチエリア33の先頭番地が格納さ
れているパッチエリアポインタ311から成る。
【0010】図2はパッチコマンド20の形式を示す説
明図である。同図においてパッチコマンド20は、種別
21,第1オペランド22,第2オペランド23,第3
オペランド24とから成る。
【0011】種別21がADD(命令追加パッチ指示)
のとき、第1オペランド22には命令追加番地,第2オ
ペランド23には追加命令(1)〜追加命令(n)を指
示する。
【0012】種別21がDEL(命令削除パッチ指示)
のとき、第1オペランド22には命令削除先頭番地,第
2オペランド23には削除命令(1)〜削除命令(n)
を指示する。
【0013】種別21がREP(命令置換パッチ指示)
のとき、第1オペランド22には命令置換番地,第2オ
ペランド23には旧命令(1)〜旧命令(n)第3オペ
ランド24には新命令(1)〜新命令(n)を指示す
る。
【0014】種別21がADDおよびDELのときに
は、第3オペランド24は指定されない。
【0015】図3はコマンド取得解析手段10の動作を
示す図である。同図においてコマンド取得解析手段10
はパッチコマンド20を取得し(301)、種別21を
チェックし(302)、種別21が命令追加を指示する
コマンド「ADD」であれば命令追加パッチ手段11に
制御を渡し(303)、種別21が命令削除を指示する
コマンド「DEL」であれば命令削除パッチ手段15に
制御を渡し(304)、種別21が命令置換を指示する
コマンド「REP」であればコマンド分割生成手段17
により「ADD」コマンドと「DEL」コマンドを分割
生成した後(305)、命令削除パッチ手段15に制御
を渡し(306)、その後命令追加パッチ手段11に制
御を渡す(307)。
【0016】まず、ADDコマンド(命令追加パッチ指
示)入力時の動作を説明する。
【0017】図4および図5は命令追加パッチ手段11
の流れ図であり、401〜417は各ステップを示す。
同図において命令追加パッチ手段11は、ロードモジュ
ール30内のパッチエリアポインタ311およびパッチ
コマンド20の第1オペランド22である命令追加番地
を取得する(401)。パッチエリアポインタ311の
値は、常に追加命令を格納するために使用可能な先頭番
地を示している。
【0018】ステップ401で得たパッチエリアポイン
タ311の示すパッチエリア33にパッチコマンド20
の第2オペランド23である追加命令(1)〜追加命令
(n)を先頭から順に格納する(402)。追加命令
(1)〜追加命令(n)の命令長の総和[L3]を命令
長取得手段16により算出し(403〜406)、該命
令長[L3]をポインタ更新手段14に入力し、ポイン
タ更新手段14によりパッチエリアポインタ311をス
テップ402で格納した追加命令(1)〜追加命令
(n)の次を示すよう更新する(407)。
【0019】図6および図7は命令長取得手段16の概
要図と流れ図を示し、図8および図9はポインタ更新手
段14の概要図と流れ図を示す。
【0020】命令長取得手段16は、図6および図7に
示すように、入力した命令コード51と命令長テーブル
161により該当の命令長52を検索し出力する(6
1)。
【0021】ポインタ更新手段14は、図8および図9
に示すように、ロードモジュール30内のパッチエリア
ポインタ311を取得し(81)、該パッチエリアポイ
ンタ311と入力された命令長[L1、L2またはL
3]を加算した値を前記ロードモジュール30内のパッ
チエリアポインタ311に格納する(82)。
【0022】ここで図4および図5を参照するとステッ
プ407では追加命令群の命令長[L3],ステップ4
14では退避命令長[L2],ステップ417では分岐
命令の命令長[L1]をそれぞれ入力する。
【0023】次に分岐命令と命令追加番地の命令群の命
令長を比較し、パッチエリア33へ退避する命令群の命
令長[L2]を命令長取得手段16により算出し(40
8〜412)、算出した退避命令長[L2]と追加命令
番地を命令退避手段12に入力し、命令退避手段12に
より命令追加番地から分岐命令の命令長の範囲にある命
令をステップ402でパッチエリア33に格納した追加
命令(1)〜追加命令(n)の後に格納する(41
3)。
【0024】図10および図11は命令退避手段12の
概要図と流れ図を示す。命令退避手段12は、ロードモ
ジュール30内のパッチエリアポインタ311を取得し
(101)、該パッチエリアポインタ311と命令追加
番地から入力された退避命令長[L2]の範囲にある命
令群を前記パッチエリアポインタ311の示すエリアに
格納する(102)。
【0025】命令退避後、退避命令長[L2]をポイン
タ更新手段12に入力し、ポインタ更新手段12により
パッチエリアポインタ311をステップ413で格納し
た退避命令群の次を示すよう更新する(414)。
【0026】ポインタ更新後、ステップ401で得たパ
ッチエリアポインタ311(パッチエリア33の先頭を
示す)と命令追加番地を各々分岐先アドレス11と分岐
命令格納番地112として分岐命令生成格納手段13へ
入力し、分岐命令生成格納手段13によりパッチエリア
への分岐命令を生成し命令追加番地に格納し(41
5)、ステップ415で格納した分岐命令の次の命令番
地[A2]とロードモジュール30内のパッチエリアポ
インタ311を各々分岐先アドレス111と分岐命令格
納番地112として分岐命令生成格納手段13へ入力
し、分岐命令生成格納手段13によりパッチエリアから
制御を戻す分岐命令を生成し、ステップ413で格納し
た退避命令群の後に格納する(416)。
【0027】図12および図13は分岐命令生成格納手
段13の概要図と流れ図を示す。分岐命令生成格納手段
13は、入力した分岐先アドレス111と分岐命令格納
番地112から無条件分岐命令113を生成し(12
1)、生成した無条件分岐命令113を分岐命令格納番
地112の示すエリアに格納する(122)。
【0028】分岐命令格納後、分岐命令の命令長[L
1]をポインタ更新手段14に入力し、ステップ416
で格納した分岐命令の次を示すようにパッチエリアポイ
ンタ311を更新する(417)。
【0029】次に、DELコマンド(命令削除パッチ指
示)入力時の動作を説明する。
【0030】図14は命令削除パッチ手段15の流れ図
であり、131〜136は各ステップを示す。命令削除
パッチ手段15はパッチコマンド20の第1のオペラン
ド22の命令削除番地を得(131)、命令長取得手段
16により第2オペランド23の削除命令(1)〜削除
命令(n)の命令長を得(132〜135)、命令削除
番地からステップ132〜135で算出した命令長の範
囲にNOP命令群を格納する(136)。
【0031】最後に、REPコマンド(命令置換パッチ
指示)入力時の動作を説明する。入力コマンドの種別2
1が命令置換パッチ指示であるとき、図3に示すように
コマンド分割生成手段17によりADDコマンドとDE
Lコマンドに分割生成した後(305)、命令削除パッ
チ手段15に制御を渡し(306)、その後命令追加パ
ッチ手段11に制御を渡す(307)。
【0032】図15はコマンド分割生成手段17の流れ
図であり、141〜142は各ステップを示す。コマン
ド分割生成手段17は、命令置換番地を第1オペランド
22,旧命令(1)〜旧命令(n)を第2オペランド2
3としDELコマンドを生成し(141)、命令置換番
地を第1オペランド22,新命令(1)〜新命令(n)
を第2オペランド23としADDコマンドを生成する
(142)。生成した各コマンドを入力とし、前述した
命令削除パッチ手段15と命令追加パッチ手段11を実
行することにより旧命令(1)〜旧命令(n)を新命令
(1)〜新命令(n)に置換する。
【0033】以上述べたようにして全命令長の最小公約
数を命令長とする命令を持つプロセッサ上で動作し、パ
ッチエリア33とパッチエリアポインタ311を特定の
エリアに持つプログラムに対する命令追加パッチ,命令
削除パッチ,および命令置換パッチを実現できる。
【0034】
【発明の効果】以上説明したように本発明は、プログラ
ムに命令を追加する場合にパッチ作成者が追加命令を格
納するパッチエリアのアドレスを意識する必要や追加命
令を格納するパッチエリアへの分岐命令や追加命令の終
りに元の処理へ戻るための分岐命令を指定する必要がな
くなり、また命令を削除する場合は削除する命令長分の
NOP命令を指定する必要がない。そしてパッチエリア
を二重に使用するミスがなくなり、パッチ指示の煩わし
さも減少し、効率良いパッチ指定が行なえるようにな
る。
【図面の簡単な説明】
【図1】本発明の一実施例を示す説明図。
【図2】パッチコマンドの形式を示す説明図。
【図3】コマンド取得解析手段の流れ図。
【図4】命令追加パッチ手段の流れ図(1)。
【図5】命令追加パッチ手段の流れ図(2)。
【図6】命令長取得手段の概要図。
【図7】命令長取得手段の流れ図。
【図8】ポインタ更新手段の概要図。
【図9】ポインタ更新手段の流れ図。
【図10】命令退避手段の概要図。
【図11】命令退避手段の流れ図。
【図12】分岐命令生成格納手段の概要図。
【図13】分岐命令生成格納手段の流れ図。
【図14】命令削除パッチ手段の流れ図。
【図15】コマンド分割生成手段の流れ図。
【符号の説明】
10 コマンド取得解析手段 11 命令追加パッチ手段 12 命令退避手段 13 分岐命令生成格納手段 14 ポインタ更新手段 15 命令削除パッチ手段 16 命令長取得手段 17 コマンド分割生成手段 20 パッチコマンド 21 種別(コマンド名) 22 第1オペランド 23 第2オペランド 24 第3オペランド 30 ロードモジュール 31 データ領域 32 命令領域 33 パッチエリア 161 命令長テーブル 311 パッチエリアポインタ L1 分岐命令の命令長 L2 退避命令群の命令長 L3 追加命令群の命令長 A1 追加命令番地 A2 パッチエリアからの戻り番地

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 パッチエリアと該パッチエリアの番地を
    示すパッチエリアポインタを特定のエリアに持つプログ
    ラムの命令追加パッチにおいて、命令追加番地と追加命
    令群が指定されるパッチコマンドを取得し解析するコマ
    ンド取得解析手段と、パッチコマンドで指定された前記
    追加命令群を前記パッチエリアに設定する追加命令パッ
    チ手段と、命令の命令長を取得する命令長取得手段と、
    前記命令追加番地から分岐命令を格納する範囲にある命
    令群を前記パッチエリアに退避する命令退避手段と、分
    岐先番地と分岐命令格納番地の情報により無条件分岐命
    令を生成し該分岐命令を分岐命令格納番地に格納する分
    岐命令生成格納手段と、前記パッチエリアポインタを更
    新するポインタ更新手段とを有することを特徴とするプ
    ログラムパッチ方式。
  2. 【請求項2】 全命令長の最小公約数を命令長とするN
    OP命令を持つプロセッサ上で動作するプログラムの命
    令削除パッチにおいて、命令削除番地と削除命令群が指
    定されるパッチコマンドを取得し解析するコマンド取得
    解析手段と、命令の命令長を取得する命令長取得手段
    と、前記命令削除番地から削除命令群のエリアにNOP
    命令を生成し格納する命令削除パッチ手段とを有するこ
    とを特徴とする請求項1記載のプログラムパッチ方式。
  3. 【請求項3】 命令置換パッチにおいて、命令置換を指
    定するパッチコマンドを前記命令削除パッチと命令追加
    パッチのコマンドに分割生成するコマンド分割生成手段
    を有することを特徴とする請求項1または2記載のプロ
    グラムパッチ方式。
JP3283444A 1991-10-30 1991-10-30 プログラムパツチ方式 Pending JPH05120067A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3283444A JPH05120067A (ja) 1991-10-30 1991-10-30 プログラムパツチ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3283444A JPH05120067A (ja) 1991-10-30 1991-10-30 プログラムパツチ方式

Publications (1)

Publication Number Publication Date
JPH05120067A true JPH05120067A (ja) 1993-05-18

Family

ID=17665626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3283444A Pending JPH05120067A (ja) 1991-10-30 1991-10-30 プログラムパツチ方式

Country Status (1)

Country Link
JP (1) JPH05120067A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100678609B1 (ko) * 2005-09-13 2007-02-06 주식회사 하이스마텍 스마트카드에서 명령어 호출 시스템 및 방법, 이를 위한패치 시스템 및 방법
JP2007164242A (ja) * 2005-12-09 2007-06-28 Nec Electronics Corp プログラム書換データ生成装置、プログラム及びプログラム書換データ生成方法
JP2009536396A (ja) * 2006-06-19 2009-10-08 サムスン エレクトロニクス カンパニー リミテッド OTA(Over−the−air)が可能な携帯装置のためのプログラムアップグレード方法およびシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100678609B1 (ko) * 2005-09-13 2007-02-06 주식회사 하이스마텍 스마트카드에서 명령어 호출 시스템 및 방법, 이를 위한패치 시스템 및 방법
JP2007164242A (ja) * 2005-12-09 2007-06-28 Nec Electronics Corp プログラム書換データ生成装置、プログラム及びプログラム書換データ生成方法
JP2009536396A (ja) * 2006-06-19 2009-10-08 サムスン エレクトロニクス カンパニー リミテッド OTA(Over−the−air)が可能な携帯装置のためのプログラムアップグレード方法およびシステム
KR101417759B1 (ko) * 2006-06-19 2014-07-14 삼성전자주식회사 시스템 정보 갱신 장치 및 방법

Similar Documents

Publication Publication Date Title
JPH05120067A (ja) プログラムパツチ方式
JPH05257669A (ja) データ処理装置
JP3507353B2 (ja) オーバレイ印刷制御方法及び装置及びコンピュータ読取り可能なプログラムが格納された記憶媒体
JP2005025263A (ja) プログラミング支援装置及び方法並びにプログラミング支援プログラム
JPS61147336A (ja) ロ−ドモジユ−ルの世代管理方式
JP2000194514A (ja) ドキュメント処理装置及び記憶媒体
JP2540940B2 (ja) マルチウインドウ編集管理方法
CN112817632A (zh) 一种互动页的打包方法、装置
JPH05342072A (ja) ファイルの世代管理方法
JPH0561657A (ja) プログラム編集方式
JPH05181664A (ja) プログラムパッチ修正方式
JPH04367029A (ja) プログラマブルコントローラ用プログラミング装置
JPH05119978A (ja) 翻訳情報編集方式
JPH05233249A (ja) ソース・ドキュメント一括管理方式
JP2000112734A (ja) ソフトウェア作成方法及び装置
JP2000067077A (ja) データベースシステム及び表分割指定の処理を行うプログラムを格納した記録媒体
JPH06195249A (ja) 名称指定方法
JPH0785004A (ja) 文書処理システム
JPH10307719A (ja) 高級言語パッチ作成システム
JPH1153246A (ja) ハイパーリンク装置の自動更新装置及びその方法
JPH07175643A (ja) ソフトウェア設計書とソースプログラムの連動編集が可能なソフトウェア開発支援装置
JPH02161554A (ja) プログラム起動方式
JPH0619894A (ja) 文書処理装置
JPH07110765A (ja) 文書編集方式
JPH04313120A (ja) プログラムパッチ指定時ファイル更新方式