私はat&t構文が初めてです。でtest.cファイルをコンパイルしましたgcc -S test.c。
test.s のファイルの一部:
1. .file "test.c"
2. .local temp
3. .comm temp,8,4
4. ...
5. funtion1:
6. blah
7. blah
8. blah
9. movl $temp, -8(%ebp)
-8(%ebp)ローカル変数であることは知っていますが、$temp意味がわかりません
これはnasmでどのように行うことができますか?
.bss セクションにグローバル temp があります
言ってもいい:
mov eax, [ebp-8]; eax には [ebp-8] のメモリ アドレスが含まれていますか?mov ebx, temp; ebx には temp のアドレスが含まれていますか?mov [eax], ebx; これは、ローカル変数が temp を指すようにするということですか、それともローカル変数に temp のコピーを作成するということですか?