seclan のほえほえルーム

| |

・nasm でのアドレス参照とメモリ参照 (1999/05/26 [])
 masm などでは、宣言された変数、例えばval、に対して、“mov eax,val”のようなニーモニックを記述すると、それは val の内容を eax に転送するという意味になります。これは、もっと適切な記述方法“mov eax, [val]”のようにすべきなのですが、上記のような記法も許されています。一方、“mov eax, offset val”のような記述方法も存在します。これは、val のアドレスを eax にロードする記述方法です。しかし、例えばラベル val を宣言した場合、記法“mov eax,val”は、実際には“mov eax, offset val”を示しています。このように、“mov eax,val”の記述は実際にロードされるものが何かは val が何かを調べる必要がありました。
 nasm では、この問題を単純な方法で解決します。“mov eax, [val]”のように書けばメモリ参照で、“mov eax, val”のようにそのまま書けば “mov eax, offset val”として認識されます。なお、nasm では変数名はすべてラベルとして扱われます。


by seclan


| |

 

配信

4.05 msec