私はasmが初めてで、文字列を使用しています。
1/文字列があり、最初の文字のアドレスを返したい。(私は C メインで asm 関数を呼び出します)。
私はもう試した :
movl $str, %eax
私によると、文字列を返します。
movl $(str), %eax
文字列の最初の文字のアドレスを返しますか? 文字列の 2 番目の文字のアドレスを返したい場合、asm でそれを行う方法がわかりません。
私はそのようなCプログラムで結果を表示します:
printf("string : %s, adress : %d\n", function_asm(), function_asm()).
「string : programmation, address : 134520852」が返ってきます。「134520852」はアドレスではなく、何かわからないことがあると思います。
%edi
2/文字列に 、および 関数があるのを見たことがありますが、%esi
それを使用した適切な (簡単な) チュートリアルが見つかりません。%edi はインデックス ソース、%esi はインデックス先であることを理解しました...それに関するリンクをいくつか知っていますか?
前もって感謝します !:-)