JPH0452937A - 実行形式ソフトウェア動作不可回避方式 - Google Patents
実行形式ソフトウェア動作不可回避方式Info
- Publication number
- JPH0452937A JPH0452937A JP2161639A JP16163990A JPH0452937A JP H0452937 A JPH0452937 A JP H0452937A JP 2161639 A JP2161639 A JP 2161639A JP 16163990 A JP16163990 A JP 16163990A JP H0452937 A JPH0452937 A JP H0452937A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- access boundary
- access
- boundary mismatch
- disaccord
- 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
Links
- 238000000034 method Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 5
- 238000012546 transfer Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は実行形式ソフトウェア動作不可回避方式に関し
、特にコンピュータのハードウェア、アーキテクチャ及
び使用するコンパイル言語のアクセス境界調整が異なる
コンピュータ間のソフトウェア移植を行う実行形式ソフ
トウェア動作不可回避方式に関する。
、特にコンピュータのハードウェア、アーキテクチャ及
び使用するコンパイル言語のアクセス境界調整が異なる
コンピュータ間のソフトウェア移植を行う実行形式ソフ
トウェア動作不可回避方式に関する。
従来、既存の実行形式ソフトウェアの移植では、ハード
ウェア、アーキテクチャ及び使用するコンパイル言語の
アクセス境界調整の扱いが異なる場合は、そのソフトウ
ェアソースコードの再コンパイルまたはソースコード上
のテーブル(IF!4造体)等のレイアウトと使用して
いる命令と処理方法との見直しを行い、アクセス境界が
合うようにソースコードを書き直す以外に方法がなかっ
た。
ウェア、アーキテクチャ及び使用するコンパイル言語の
アクセス境界調整の扱いが異なる場合は、そのソフトウ
ェアソースコードの再コンパイルまたはソースコード上
のテーブル(IF!4造体)等のレイアウトと使用して
いる命令と処理方法との見直しを行い、アクセス境界が
合うようにソースコードを書き直す以外に方法がなかっ
た。
従来のソフトウェア移植について、ハードウェア、アー
キテクチャ及び使用するコンパイル言語のアクセス境界
調整を要する場合、またはメモリレイアウトの扱いが異
なる場合に、実行形式ソフトウェアをそのまま実行させ
たときに境界不正による正しく動作しないという問題が
ある。これを回避するには実行形式ソフトウェアのソー
スコードを再コンパイルするか、またはソースコードを
見直してソースコード上のテーブル(構造体)等のメモ
リレイアウトや使用している命令処理方法を調査し、ア
クセス境界が合うようにソースコードを書き直さなけれ
ばならないという欠点がある。
キテクチャ及び使用するコンパイル言語のアクセス境界
調整を要する場合、またはメモリレイアウトの扱いが異
なる場合に、実行形式ソフトウェアをそのまま実行させ
たときに境界不正による正しく動作しないという問題が
ある。これを回避するには実行形式ソフトウェアのソー
スコードを再コンパイルするか、またはソースコードを
見直してソースコード上のテーブル(構造体)等のメモ
リレイアウトや使用している命令処理方法を調査し、ア
クセス境界が合うようにソースコードを書き直さなけれ
ばならないという欠点がある。
本発明の実行形式ソフトウェア動作不可回避方式は、ア
クセス境界不一致を起した命令の位置(アドレス)を探
索する命令位置探索手段と、アクセス境界不一致を起し
た命令の種類を分析する命令種類分析手段と、アクセス
境界不一致を起した命令をアクセス境界不一致エラーに
ならない命令に置換える命令置換手段と、アクセス境界
不一致を起した命令が実行しようとした処理を再実行さ
せる再実行手段とを備えて構成される。
クセス境界不一致を起した命令の位置(アドレス)を探
索する命令位置探索手段と、アクセス境界不一致を起し
た命令の種類を分析する命令種類分析手段と、アクセス
境界不一致を起した命令をアクセス境界不一致エラーに
ならない命令に置換える命令置換手段と、アクセス境界
不一致を起した命令が実行しようとした処理を再実行さ
せる再実行手段とを備えて構成される。
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例の構成を示す流れ図、第2図
は本実施例の動作の概要を示すブロック図、第3図は本
実施例の動作についてアクセス境界不一致エラーを起し
た場合の具体的な回避例を示す説明図である。
は本実施例の動作の概要を示すブロック図、第3図は本
実施例の動作についてアクセス境界不一致エラーを起し
た場合の具体的な回避例を示す説明図である。
第2図においてO8上で動作しているプログラム12が
アクセス境界不一致によるプログラム割込を発生した場
合は、O8のプログラム割込に対する処理手段13によ
り対処処理が行なわれる。
アクセス境界不一致によるプログラム割込を発生した場
合は、O8のプログラム割込に対する処理手段13によ
り対処処理が行なわれる。
また、アクセス境界不一致エラー以外のプログラム割込
の場合は、その他のプログラムエラーに対する処理手段
14により対処され、プログラム割込発生時点に復帰す
るか否かが判別される。アクセス境界不一致エラーのプ
ログラム割込の場合、アクセス境界が異なった場合の実
行形式ソフトウェア動作不可回避手段15により対処さ
れプログラム割込発生時に復帰するか否かが判別される
。
の場合は、その他のプログラムエラーに対する処理手段
14により対処され、プログラム割込発生時点に復帰す
るか否かが判別される。アクセス境界不一致エラーのプ
ログラム割込の場合、アクセス境界が異なった場合の実
行形式ソフトウェア動作不可回避手段15により対処さ
れプログラム割込発生時に復帰するか否かが判別される
。
第1図と、第3図(a)および(b)とを参照してさら
に具体的に説明する。
に具体的に説明する。
第3図(a)に示すように、アクセス境界が4バイト境
界でなければならない転送命令(ロード、ストア、ムー
ブ等)のとき第3図(a)に示すアクセス境界不一致回
避例の場合は、第1図においてアクセス境界不一致のプ
ログラムエラーとして検出され、アクセス境界不一致を
起した命令の位置くアドレス)を探索する命令位置探索
手段1によりプログラム割込発生時点に接近する。
界でなければならない転送命令(ロード、ストア、ムー
ブ等)のとき第3図(a)に示すアクセス境界不一致回
避例の場合は、第1図においてアクセス境界不一致のプ
ログラムエラーとして検出され、アクセス境界不一致を
起した命令の位置くアドレス)を探索する命令位置探索
手段1によりプログラム割込発生時点に接近する。
そしてアクセス境界不一致を起した命令の種類を分析す
る命令種類分析手段2によりアクセス境界不一致を回避
する命令か否が判別される。この例の場合、転送命令(
ロード、ストア、ムーブ等)であるので、アクセス境界
不一致を起した命令をアクセス境界不一致エラーになら
ない命令に置換える命令置換手段13により、データを
1バイトずつ転送する命令(アクセス境界不一致エラー
のならない)に置換える。アクセス境界不一致を起した
命令が実行しようとした処理を再実行させる再実行手段
14により、アクセス境界が異なった領域にデータを正
しく格納または取出しを行うことができる。
る命令種類分析手段2によりアクセス境界不一致を回避
する命令か否が判別される。この例の場合、転送命令(
ロード、ストア、ムーブ等)であるので、アクセス境界
不一致を起した命令をアクセス境界不一致エラーになら
ない命令に置換える命令置換手段13により、データを
1バイトずつ転送する命令(アクセス境界不一致エラー
のならない)に置換える。アクセス境界不一致を起した
命令が実行しようとした処理を再実行させる再実行手段
14により、アクセス境界が異なった領域にデータを正
しく格納または取出しを行うことができる。
第3図(b)に示すように、境界が4バイト境界でなけ
ればならない判定命令(コンベア等)のとき第3図(b
)に示す境界不一致回避例の場合は、第1図においてア
クセス境界不一致のプログラムエラーとして検出され、
アクセス境界不一致を起した命令の位置(アドレス)を
探索する命令置換探索手段1によりプログラム割込発生
時点に接近する。
ればならない判定命令(コンベア等)のとき第3図(b
)に示す境界不一致回避例の場合は、第1図においてア
クセス境界不一致のプログラムエラーとして検出され、
アクセス境界不一致を起した命令の位置(アドレス)を
探索する命令置換探索手段1によりプログラム割込発生
時点に接近する。
そして、アクセス境界不一致を起した命令の種類を分析
する命令種類分析手段2によりアクセス境界不一致を回
避する命令が否かが判別される。
する命令種類分析手段2によりアクセス境界不一致を回
避する命令が否かが判別される。
この例の場合、アクセス境界不一致を回避することを要
する判定命令(コンベア等)であるので、アクセス境界
不一致を起した命令をアクセス境界不一致エラーになら
ない命令に置換える命令置換手段3によりデータを1バ
イトずつ転送する命令(アクセス境界不一致エラーとな
らない)を用いて判定するデータを4バイト境界である
別に設けられた作業域に1バイトずつ移動する。アクセ
ス境界不一致を起した命令が実行しようとした処理を再
実行させる再実行手段14によりアクセス境界が異なっ
た領域のデータの判定を正しく行うことができる。
する判定命令(コンベア等)であるので、アクセス境界
不一致を起した命令をアクセス境界不一致エラーになら
ない命令に置換える命令置換手段3によりデータを1バ
イトずつ転送する命令(アクセス境界不一致エラーとな
らない)を用いて判定するデータを4バイト境界である
別に設けられた作業域に1バイトずつ移動する。アクセ
ス境界不一致を起した命令が実行しようとした処理を再
実行させる再実行手段14によりアクセス境界が異なっ
た領域のデータの判定を正しく行うことができる。
以上のようにして、本実施例はデータの転送や判定を行
うときのアクセス境界不一致を回避している。
うときのアクセス境界不一致を回避している。
以上説明したように本発明は、既存実行形式ソフトウェ
アの移植において、ハードウェア、アーキテクチャ及び
使用するコンパイル言語のアクセス境界調整の扱いが異
なる場合でも、既存実行形式ソフトウェアのソースコー
ドの再コンパイルやコースコードの見直しによる調査、
書き直しを行わなくとも、既存実行形式ソフトウェアを
使用できるという効果がある。
アの移植において、ハードウェア、アーキテクチャ及び
使用するコンパイル言語のアクセス境界調整の扱いが異
なる場合でも、既存実行形式ソフトウェアのソースコー
ドの再コンパイルやコースコードの見直しによる調査、
書き直しを行わなくとも、既存実行形式ソフトウェアを
使用できるという効果がある。
合の具体的回避例を示す説明図。
1・・・・・・命令位置探索手段、2・・・・・・命令
種類分析手段、3・・・・・・命令置換手段、4・・・
・・・再実行手段。
種類分析手段、3・・・・・・命令置換手段、4・・・
・・・再実行手段。
Claims (1)
- アクセス境界不一致を起した命令の位置(アドレス)
を探索する命令位置探索手段と、アクセス境界不一致を
起した命令の種類を分析する命令種類分析手段と、アク
セス境界不一致を起した命令をアクセス境界不一致エラ
ーにならない命令に置換える命令置換手段と、アクセス
境界不一致を起した命令が実行しようとした処理を再実
行させる再実行手段とを備えて成ることを特徴とする実
行形式ソフトウェア動作不可回避方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2161639A JPH0452937A (ja) | 1990-06-20 | 1990-06-20 | 実行形式ソフトウェア動作不可回避方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2161639A JPH0452937A (ja) | 1990-06-20 | 1990-06-20 | 実行形式ソフトウェア動作不可回避方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0452937A true JPH0452937A (ja) | 1992-02-20 |
Family
ID=15739014
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2161639A Pending JPH0452937A (ja) | 1990-06-20 | 1990-06-20 | 実行形式ソフトウェア動作不可回避方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0452937A (ja) |
-
1990
- 1990-06-20 JP JP2161639A patent/JPH0452937A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Silberman et al. | An architectural framework for supporting heterogeneous instruction-set architectures | |
| US7065750B2 (en) | Method and apparatus for preserving precise exceptions in binary translated code | |
| US6634023B1 (en) | Compile method, exception handling method and computer | |
| US6006033A (en) | Method and system for reordering the instructions of a computer program to optimize its execution | |
| KR100290269B1 (ko) | 추론적명령에있어서의예외처리 | |
| CN101446918B (zh) | 一种实现用户态调试器调试单个函数的方法及系统 | |
| US20100095286A1 (en) | Register reduction and liveness analysis techniques for program code | |
| KR20010014095A (ko) | 어드레스되는 구성요소의 스펙큘레이션의 실패를 검출하기위한 메모리 제어기 | |
| KR20010014094A (ko) | 개선된 마이크로프로세서 | |
| US8261251B2 (en) | Modification of array access checking in AIX | |
| JPH07311740A (ja) | コンピュータ | |
| US5150474A (en) | Method for transferring arguments between object programs by switching address modes according to mode identifying flag | |
| JPH0452937A (ja) | 実行形式ソフトウェア動作不可回避方式 | |
| JP3461185B2 (ja) | ロードモジュールへのソースコード行番号登録方法および装置 | |
| JPS63626A (ja) | プログラム管理装置 | |
| JP2728504B2 (ja) | 入力命令文検査装置 | |
| JPH11110250A (ja) | ソフトウェア実行モード切替方法 | |
| KR950005523B1 (ko) | 프로그램어블 로직 콘트롤러의 스텝 런 처리방법 | |
| JP2590083B2 (ja) | ソース・プログラム翻訳処理方法 | |
| JPH05108404A (ja) | デバツガシステム | |
| JPH02135545A (ja) | デバッガの実行制御処理方式 | |
| JPH0314040A (ja) | プログラム移植支援装置 | |
| US20060161905A1 (en) | Method, system and program product for providing computing-environment control of a resource to be accessed by program code | |
| JPH04236635A (ja) | 識別名検索処理方式 | |
| JPS63200243A (ja) | デバッグ方法及びその装置 |