私は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 のコピーを作成するということですか?