問題タブ [y86]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - IA32アセンブリコードからY86アセンブリコードへ:リール命令
IA32アセンブリコードをY86アセンブリコードに変換する方法を勉強していますが、IA32コードにある次の命令でスタックしています。
Y86コードに相当する命令が見つかりません。私は次の2つのバージョンを持っていますが、どちらが正しいかわかりません。
バージョン1:
バージョン2:
誰かもっと良いアイデアがありますか?
c - IA32 から Y86 へのアセンブリ コードの変換
IA32 コードを Y86 に変換する任務を負っています。元のプログラムは C で書かれており、偶数位置の値が 3 つの関数のいずれかを呼び出し、奇数位置の値がその関数内で操作される整数の配列を取ることを目的としています。関数には、数値の否定、数値の 2 乗、および 1 から指定された数値までの合計が含まれます。
ほとんどの命令は IA32 から Y86 に簡単に変換できますが、非常に苦労している命令がいくつかあります。
neg 命令は Y86 では有効な命令ではありません。これは私がY86に持っているものです:
これは、この問題を解決する正しい方法ですか?
別の命令は、私の二乗関数の imul 命令です。
この状況で「imul」命令をどのように変換できるか知っている人はいますか?
助けてくれてありがとう!IA32/Y86 変換に関するヒントも大歓迎です。
assembly - IA32'cmp'命令をY86に変換する方法は?
IA32からY86
ATTアセンブリ
次のIA32アセンブリコードがあります。
Y86アセンブリコードに変換しようとしています。比較命令の翻訳に問題があります:
ありがとう。
linux - Y86でレジスター不足とトラブル発生
私は現在、Y86、AT&T 構文と呼ばれる教育用アセンブリ言語を使用して関数を作成しており、これがサポートしていないことを達成/回避しようとしています。メモリに保存されている値に数値を追加したいのですが、何らかの愚かな理由で addl を使用してレジスタに追加することしかできません。これがなぜなのかわかりません。
関数内で次のようなことをしたいのですが、方法がわかりません:
また、レジスターが不足しているという問題があるようです。ローカル変数を格納するためのスペースを作る方法がわからないためかもしれません。呼び出し元と呼び出し先によってレジスタが保存されるという概念があると聞いたことがあります。上記のものと同等であるが、Y86 のコマンドは非常にありがたいです。また、レジスタを保存するためのヒントは素晴らしいでしょう! ありがとう!このようなものを見るのは本当に苦痛です。
assembly - 単純な y86 何もしないプログラム停止
y86 アセンブリをコンパイルして実行するために、yas シミュレーターを使用しています。プログラムが 0x2c で停止する理由を理解しようとしています。パラメーターになる値を他のレジスタに移動するだけの関数 (使用されていない) に 2 つの定数を送信する以外は何もしません。
assembly - IA32 から Y86 への命令の変換方法
Y86 アセンブリ コードに変換しようとしている次の IA32 アセンブリ コードがあります。
.L9 の movl 命令を翻訳するのに苦労しています
これを実行する単一の命令がないことはわかっていますが、どの命令セットが Y86 の命令セットに取って代わるのかわかりません。
助けてくれてありがとう。