问题标签 [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.
arrays - 在 Y86 程序集中创建数组循环时遇到问题
我需要创建一个程序,将整数数组按升序排序。C中的问题很简单,代码给了我们。
但是当我尝试将它实现到程序集中时,我得到了
或者,如果我评论那条线(我认为我不应该),我会得到这个
以下是我的代码:
assembly - rmmovl 动态位数
我知道 rmmovl 可以通过以下方式使用:
但是如何动态设置向下移动堆栈的位数(在这种情况下为 4)?我尝试使用我想要转移到的值设置一个变量,例如rmmovl %ecx, %edi(%edx)
,但这不起作用。
c - y86冒泡排序程序的问题
所以我正在尝试将冒泡排序程序从汇编转换为 Y86。我从这个 C 代码开始,然后将其转换为程序集:
这是我的 Y86 代码:
似乎标志标志从未被升起,我不太确定这是为什么。当我运行模拟器时,数组的元素永远不会排序,它们只是保持在相同的位置。任何有关如何解决此问题的提示将不胜感激!
linux - y86模拟器安装失败(csapp)
我正在尝试在 archlinux 上为 Y86 代码编译一个模拟器,这是我的配置。(我真的很抱歉格式。)
但是当我运行makefile时,事情似乎是错误的:
对这个问题有任何见解吗?
y86 - 如何在 y86 中将 4 位左移?
我希望用 y86 汇编语言重新创建 x86 shl dest,src 指令。具体来说,我需要将 dest 位向左移动 4 位。谁能帮我解决这个问题?
y86 - 跳转指令的 Y86 错误“无效行”
我正在 y86 中编写一个程序,但我遇到了一些奇怪的错误。第三行是“无效行”。
这些类型的错误出现在我的代码中的所有跳转类型指令中
assembly - Y86 程序集全局变量
我正在努力让全局变量为我的 Y86 分配正确工作。不幸的是,我们提供的唯一示例是在 IA-32 汇编中。我已经搜索了最后几个小时,但无济于事。我知道这是非常基本的,但我是 Y86 的新手。
我正在“声明”我的变量如下
当我在操作中使用它们时,例如irmovl x, %edx
我看到将值 380 分配给 edx 寄存器而不是值 4。我认为正在发生的事情是我将内存位置分配给了寄存器而不是值。将全局变量的值设置为寄存器的正确语法是什么?
我曾尝试使用 mrmovl 代替,但不确定带有全局变量的 mrmovl 的语法。
mrmovl x, %edx 给我错误“x 不是数字”
assembly - Y86 程序集将新值保存到全局语法
我的教授没有提供太多的 Y86 示例,只有 IA32。除了将我的最终答案保存到全局变量结果之外,我已经设法为我的作业弄清楚了一切。声明如下。
.对齐 4
结果:.long 0
我的答案存储在 %ebx 寄存器中,我需要将它转移到我的全局结果中。只使用“rmmovl %ebx, result”对我来说很有意义,但我收到错误“不是数字:结果”。完成我正在尝试的正确语法是什么。
谢谢!
assembly - 从汇编解码为机器码(Y86)时如何确定程序计数器?
从汇编解码到 Y86 时,我无法理解如何确定地址位置。在示例中,
地址位置如何从 0x030 到 0x032 到 0x03c?确定位置增加多少的方程式是什么?