0

私は現在、Y86、AT&T 構文と呼ばれる教育用アセンブリ言語を使用して関数を作成しており、これがサポートしていないことを達成/回避しようとしています。メモリに保存されている値に数値を追加したいのですが、何らかの愚かな理由で addl を使用してレジスタに追加することしかできません。これがなぜなのかわかりません。

関数内で次のようなことをしたいのですが、方法がわかりません:

addl $1, -4(ebp)

また、レジスターが不足しているという問題があるようです。ローカル変数を格納するためのスペースを作る方法がわからないためかもしれません。呼び出し元と呼び出し先によってレジスタが保存されるという概念があると聞いたことがあります。上記のものと同等であるが、Y86 のコマンドは非常にありがたいです。また、レジスタを保存するためのヒントは素晴らしいでしょう! ありがとう!このようなものを見るのは本当に苦痛です。

4

1 に答える 1