问题标签 [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.

0 投票
1 回答
5338 浏览

assembly - IA32汇编代码转Y86汇编代码:leal指令

我正在研究如何将 IA32 汇编代码转换为 Y86 汇编代码,我被困在 IA32 代码中的以下指令中:

我找不到 Y86 代码的等效说明。我有以下两个版本,但我不确定哪个是正确的:

版本 1:

版本 2:

有没有人有更好的主意?

0 投票
3 回答
3741 浏览

c - IA32 到 Y86 汇编代码转换

我的任务是将 IA32 代码转换为 Y86。原始程序是用 C 编写的,旨在获取一个整数数组,其中偶数定位值调用三个函数之一,奇数定位值在该函数内进行操作。这些函数包括数字的否定、数字的平方以及从 1 到提供的数字的总和。

大多数指令都可以轻松地从 IA32 转换为 Y86,但是有许多指令让我非常难受。

neg 指令不是 Y86 中的有效指令。这就是我在 Y86 中所拥有的:

这是解决这个问题的正确方法吗?

另一个指令是我的平方函数中的 imul 指令:

有谁知道在这种情况下如何转换“imul”指令?

谢谢您的帮助!任何有关 IA32/Y86 转换的提示也将不胜感激。

0 投票
1 回答
7343 浏览

assembly - 如何将 IA32 'cmp' 指令转换为 Y86?

IA32Y86

ATT大会

我有以下 IA32 汇编代码:

我正在尝试将其转换为 Y86 汇编代码。我在翻译比较指令时遇到问题:

谢谢。

0 投票
1 回答
919 浏览

linux - 在 Y86 中用完寄存器并遇到问题

我目前正在使用一种名为 Y86、AT&T 语法的教育汇编语言编写函数,并试图完成/解决一些不支持的问题。我想向存储在内存中的值添加一个数字,出于某种愚蠢的原因,您只能使用 addl 添加到寄存器中。我不知道这是为什么。

在函数内部,我想做这样的事情,但不知道如何:

另外,我似乎遇到了寄存器用完的问题。也许是因为我不知道如何为存储局部变量腾出空间。我听说有一个概念,即调用者和被调用者保存寄存器。我将非常感谢任何与上述内容相同但在 Y86 中的命令。此外,保存寄存器的任何提示都会很棒!谢谢你!我知道查看这些东西真的很痛苦。

0 投票
1 回答
1107 浏览

c - 在 Y86 汇编中如何为多个数组分配空间?

我正在尝试将 C 代码转换为 Y86 汇编代码。

如果您有多个数组声明,例如:

假设每个整数是 4 个字节。你怎么知道在内存中指向 pos 的位置。指令,这样你就不会浪费任何空间?

0 投票
1 回答
688 浏览

assembly - 简单的 y86 无操作程序停止

我正在使用yas模拟器来编译和运行我的 y86 程序集。我试图理解为什么程序会在 0x2c 处停止,除了将 2 个常量发送到一个函数(甚至没有使用)之外,它什么都不做,只是将作为参数的值移动到其他寄存器中。

0 投票
1 回答
2581 浏览

y86 - 为什么 y86 代码中出现预期的逗号错误

有人可以告诉我为什么我可能会收到这些错误。当我尝试在 ./yas 中运行时 -

y86 中有一条 subl 指令对吗?任何帮助将不胜感激。

0 投票
1 回答
1185 浏览

assembly - 将链表推入堆栈

这是 y86(类似于 x86 的汇编架构,但缺少很多指令),但这应该是有道理的。我正在尝试将整个链表推入堆栈,链表看起来像这样..

我想知道如何将它推入堆栈,我很确定这会做到..

我想知道的是如何推送任何大小的链表。我知道每个元素中的第二个 long 是下一个元素的内存位置,对吗?我如何获得该值,我的意思是 irmovl ele1, %eax 不只是移动长 0x00a 值,还是移动整个列表?我很困惑。

0 投票
1 回答
1069 浏览

c - 未知 IA32 汇编语言说明

我已经在互联网上搜索了一段时间,并提出了一个奇怪的问题。使用 a C compiler,我将以下内容转换为assembly to稍后转换为Y86

转换后,我得到以下 .s 文件:

我的问题是关于说明本身。我发现的许多网站都有与这些类似的说明,例如movlformovcmplfor cmp。但有些我无法做出其他命令的正面或反面,例如st, ba, pt, or ld to convert to Y86.

这些说明有什么亮点吗?会不会是编译器的问题?作为参考,我正在使用Unix and command gcc -S "filename.c"

0 投票
1 回答
4317 浏览

assembly - 如何将指令从 IA32 转换为 Y86

我有这个 IA32 汇编代码,我正在尝试将其转换为 Y86 汇编代码:

我正在努力翻译 .L9 中的 movl 指令

我知道没有一条指令可以做到这一点,但我不知道哪组指令将取代 Y86 中的指令。

感谢您的任何帮助。