私はASMに新たなんだとの文字列を使用して。文字列とASMのx86
1/Iは、文字列を持っていると私は最初caracterのアドレスを返すようにしたいです。 (私はCメインでasm関数を呼び出します)。私が試した
:
movl $str, %eax
私によると、それは文字列を返します。
movl $(str), %eax
とすると、文字列の最初の文字列のアドレスを返します。 文字列内の2番目の文字のアドレスを返す場合、私はそれをどのようにしてasmで行うことができないのか分かりません。
私はそのようなCプログラムで結果をdiplay:
printf("string : %s, adress : %d\n", function_asm(), function_asm()).
それは私「という文字列134520852:プログラム書き込み、アドレス」を返し、私は「134520852」はアドレスではなく、何か私ドンがあると思います 理解していない。
2 /私は%edi
,%esi
と文字列の機能があると思っていますが、私はそれを使って良い(簡単な)チュートリアルを見つけることができません。私はちょうど%ediがインデックスソース用で、%esiがインデックスデスティネーション用であることを理解しています...あなたはそれについていくつかのリンクを知っていますか?
ありがとうございます!
「134520852はアドレスではない」と思われる理由は何ですか? – delnan