2012-03-05 4 views
1

私は、ブレークポイントの実装のためにgdbを検討しています。簡単に私は最初のGDBリリース2.51(1988年リリース)を採用しました。私は、ブレークポイントの挿入データを -gdbのソースコードbreakpoint.c - 0x4e 0x4f

#define BREAKPOINT {0x4e, 0x4f} 

0x4eと0x4fは何ですか?

答えて

3

0x4E 0x4FはMotorola 68000マシン命令で、 "TRAP#15"です。 TRAP命令は例外を発生させ、あるプラットフォームではトラップ#15がブレークポイント例外として定義されます。このため、sun3などのプラットフォームを処理するために、0x4Eと0x4FがGDB 2.51ソースに表示されます。

参考文献:

このMotorola M68000 Family Programmer's Reference Manualはページ4-188のTRAP命令の詳細が含まれています。具体的には、命令は、12ビットの値010011100100とそれに続く4ビットの「ベクトル」(この場合は1111)で表されます。 "TRAP#15"は0x4E 0x4Fで表されます。 Sunは特に、ブレークポイント/トレースにベクトル15を使用しています。Google searchは、数多くのコメントとソースコードの例を示しています。

+0

あなたはこれを見つけた文献を指摘できますか? – Kamath

+0

いくつかの技術リソースへのリンクを追加しました。 –

関連する問題