No.2
- 回答日時:
リロケータブルでないプログラムを期待されない領域にロードして実行すると、普通は暴走します。
例としてはgoto(jump)命令(ループ制御等に隠れたgoto含む)などのとび先に本来のプログラムがないので、どんな動きをするのかわかりません。
また、普通、プログラムは常に一定のメモリ領域にロードされることを期待できません。OSのコア部分のサイズが変わったり、各種ドライバの使用状況によってユーザープログラムが使用できるメモリの領域が変化するためです。
でも、最近のCPU/OSはメモリの仮想化(論理アドレスー物理アドレス変換・管理)ができるので、常に同じ論理アドレスで実行されることを期待してもいいのかもしれません。
この回答へのお礼
お礼日時:2006/10/17 22:30
ありがとうございます。本来のプログラムというところがよくわからなかったのですが、どういうことでしょうか?プログラムがメモリ上のどんな位置にロードされたとしてもでGOTOが使われたときは普通にそこにとぶだけではないのでしょうか?すいませんが、まだよくわかっていないみたいなのでもう少し詳しくお願いできますか?
No.3ベストアンサー
- 回答日時:
アセンブラレベルでは、アドレスの指定方法が大きく分けて相対アドレスと絶対アドレスがあることは知っていますか?
プログラムが1000番地から1999番地にロードされることを期待していて、goto命令の飛び先が絶対アドレス指定で1500番地だとします。
リロケータブルでない場合、プログラムが2000番地から2999番地にロードされても飛び先は1500番地のまま調整されないので、1500番地に飛びます。が、1500番地にはプログラムが無い=何があるかは不定なので、その後どうなるかは不定=ほぼ暴走になります。
リロケータブルの場合、大抵は相対アドレス指定されているはずなので、2500番地に飛ぶことになり、ここにはプログラムがあるので正常に処理が続けられます。
飛び先だけでなく、作業用のメモリも同様にでたらめな所を参照することになるので、誤動作の原因となります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CPUの問題について 2 2022/07/09 12:04
- その他(プログラミング・Web制作) 機械語に詳しい方 2 2022/07/10 12:06
- C言語・C++・C# C言語の質問です。 以下の命令を実行するプログラムを作りました ①文字列aとbの長さを表示 ②aとb 1 2022/04/29 15:35
- Outlook(アウトルック) outlook メモリ不足 1 2022/05/31 10:16
- ドライブ・ストレージ 「メモリ(主記憶装置)」と「ストレージ(補助記憶装置)」の違い 3 2023/04/25 21:55
- ドライブ・ストレージ 最近、外付けSSDというのが出回ってますが、USBメモリと比較してどっちが安い?どっちが高性能? 6 2022/04/23 10:51
- USBメモリー・SDカード・フラッシュメモリー 銀行が振込データの受け渡しに未だにFDを使っている理由は「FDDがAドライブ固定だから」って本当? 11 2022/06/02 03:53
- Windows 10 Windowsのタイムスケジューラーについての質問です。 先日、Webスクレイピング用のプログラムを 1 2022/09/28 05:51
- Android(アンドロイド) スマホに詳しい方、教えてください 4 2022/09/23 07:17
- ノートパソコン 理系大学生向けおすすめパソコン 8 2023/01/01 20:07
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows11アップデート後の不具...
-
メモリの増設について。これで...
-
サーバー用メモリとデスクトッ...
-
パソコン DTM
-
ECC対応のメモリは非ECC対応の...
-
PC版Apex Legendsをプレイ中に...
-
パソコンのメモリについて、3枚...
-
メモリが4GBしかつかえない
-
PC、メモリの増設(適合)
-
こんにちは 自作PCについてなん...
-
ノートパソコンが5年経ち、古く...
-
ECC/Registeredメモリの改造?
-
CPUやメモリの使用率はどこから...
-
動画視聴中、パソコンが固まっ...
-
pcのグラボの買い替えを検討し...
-
エクセル 強化するならcpuかメ...
-
大学でのPCの購入について
-
メモリ性能比較?:PC3-8500Sと...
-
パソコンの動作が遅い
-
メモリの増設をしたいのですが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーバー用メモリとデスクトッ...
-
ECC対応のメモリは非ECC対応の...
-
CPUやメモリの使用率はどこから...
-
PC、メモリの増設(適合)
-
pcのグラボの買い替えを検討し...
-
ノートパソコンが5年経ち、古く...
-
cpuの最大メモリ容量が32gbの場...
-
パソコンのメモリについて、3枚...
-
メモリが4GBしかつかえない
-
Windows11アップデート後の不具...
-
動画視聴中、パソコンが固まっ...
-
キャッシュ済み領域はメモリ不...
-
PC3-8500S の最後のSの意味は?
-
メモリーで空きスロット1、現在...
-
PC版Apex Legendsをプレイ中に...
-
画像生成AIで、パソコンのメイ...
-
メモリ追加時に発生するブルー...
-
エクセル 強化するならcpuかメ...
-
初期化後PCが重くなった
-
DELLのLATITUDE E5530を最大限...
おすすめ情報