问题标签 [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汇编代码:leal指令
我正在研究如何将 IA32 汇编代码转换为 Y86 汇编代码,我被困在 IA32 代码中的以下指令中:
我找不到 Y86 代码的等效说明。我有以下两个版本,但我不确定哪个是正确的:
版本 1:
版本 2:
有没有人有更好的主意?
c - IA32 到 Y86 汇编代码转换
我的任务是将 IA32 代码转换为 Y86。原始程序是用 C 编写的,旨在获取一个整数数组,其中偶数定位值调用三个函数之一,奇数定位值在该函数内进行操作。这些函数包括数字的否定、数字的平方以及从 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 中的命令。此外,保存寄存器的任何提示都会很棒!谢谢你!我知道查看这些东西真的很痛苦。
c - 在 Y86 汇编中如何为多个数组分配空间?
我正在尝试将 C 代码转换为 Y86 汇编代码。
如果您有多个数组声明,例如:
假设每个整数是 4 个字节。你怎么知道在内存中指向 pos 的位置。指令,这样你就不会浪费任何空间?
assembly - 简单的 y86 无操作程序停止
我正在使用yas模拟器来编译和运行我的 y86 程序集。我试图理解为什么程序会在 0x2c 处停止,除了将 2 个常量发送到一个函数(甚至没有使用)之外,它什么都不做,只是将作为参数的值移动到其他寄存器中。
y86 - 为什么 y86 代码中出现预期的逗号错误
有人可以告诉我为什么我可能会收到这些错误。当我尝试在 ./yas 中运行时 -
y86 中有一条 subl 指令对吗?任何帮助将不胜感激。
assembly - 将链表推入堆栈
这是 y86(类似于 x86 的汇编架构,但缺少很多指令),但这应该是有道理的。我正在尝试将整个链表推入堆栈,链表看起来像这样..
我想知道如何将它推入堆栈,我很确定这会做到..
我想知道的是如何推送任何大小的链表。我知道每个元素中的第二个 long 是下一个元素的内存位置,对吗?我如何获得该值,我的意思是 irmovl ele1, %eax 不只是移动长 0x00a 值,还是移动整个列表?我很困惑。
c - 未知 IA32 汇编语言说明
我已经在互联网上搜索了一段时间,并提出了一个奇怪的问题。使用 a C compiler
,我将以下内容转换为assembly
to
稍后转换为Y86
:
转换后,我得到以下 .s 文件:
我的问题是关于说明本身。我发现的许多网站都有与这些类似的说明,例如movl
formov
和cmpl
for cmp
。但有些我无法做出其他命令的正面或反面,例如st, ba, pt, or ld to convert to Y86.
这些说明有什么亮点吗?会不会是编译器的问题?作为参考,我正在使用Unix and command gcc -S "filename.c"
assembly - 如何将指令从 IA32 转换为 Y86
我有这个 IA32 汇编代码,我正在尝试将其转换为 Y86 汇编代码:
我正在努力翻译 .L9 中的 movl 指令
我知道没有一条指令可以做到这一点,但我不知道哪组指令将取代 Y86 中的指令。
感谢您的任何帮助。