ラベルの住所を取得するにはどうすればよいですか?フラットアセンブラ:ラベルのアドレスを取得するにはどうすればよいですか?
私は余分なコードに
例追加することなく、フラットアセンブラでのラベルのアドレスを取得したい:私は、コンソール画面に住所を印刷することができますがそれはプログラムの開発にサイズを追加し、
label1: ;is at adress 0
db 1h,2h,3h,4h,5h ;some data
label2: ;is at adress 5 because label1 has 5 bytes of data
を結果を変更します。
私はラベルだけを使用していますが、生のアドレス番号が必要です。
デバッガを使用しますか、シンボルテーブルからアドレスを取得するための 'objdump 'のようなものです。ラベルアドレスは、ジャンプターゲット、ロード/ストアアドレス、即値オペランド、またはデータ(例えば、 '.dd label2')として使用しないと、シンボルテーブルの外のどこにも格納されません。 –
'label1'と' label2'の間に5バイトのデータがあると言う方がより正確でしょう;ラベルは関連するサイズを持っていません。 MASMまたはTASMを使用しています。ここでdb/dw/ddはラベルの後にメモリオペランドでそのラベルを使用する命令のオペランドサイズを魔法のように暗示しています) –
とにかく、明確にするために、 –