问题标签 [edumips64]
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 - 如何访问 Assembly 中的每个单词?
鉴于:
我如何访问“arr”中的每个单词,例如 2、3 和 4?
最终,我想做的是找到“arr”中所有值的总和,但我很难遍历“arr”。
感谢您的时间!
附加信息:
- 我正在使用 eduMIPS64
assembly - 将一个简单的 MIPS32 程序移植到 MIPS64
我在将以下 MIPS32 汇编程序移植到 64 位等效程序时遇到了一些困难。
我面临的主要问题是以下行:
我不确定为什么这条线会导致错误?指令应该在 MIPS64 中。
MIPS32
MIPS64
assembly - 如何在 EDUMIPS64 模拟器中打印数组或格式化字符串?
该程序的文档非常有限。为了做到这一点,我几乎没有什么可以借鉴的。除了程序的PDF,只有这个:
你可以在这里查看。EDU/WINMIPS64 与常规 MIPS 程序集有很大不同
有几段解释这一点,没有太大帮助。无论如何,这里会打印一个格式化的字符串,以及一些字符串参数(存储在 s1 和 s2 中)和整数参数(它们存储在哪里?)。
我有两个数组存储在内存中。我已经亲自对它们执行了指令,现在我想打印它们。我如何在这样的格式化字符串上提供这两个整数(它们是双字,即需要存储 8 个字节)?帮助材料没有解释。
这是到目前为止我设法创建的代码(大量评论):
如果有人知道如何做到这一点,如果他/她可以分享,我将非常感激。任何地方都没有这方面的例子。谢谢。
更新
在迈克尔的帮助下,通过反复试验,我找到了问题的主要原因。我们为输出字符串和其他内存地址提供标签的顺序非常敏感。通过反复试验,我发现我们必须遵守以下顺序:
请注意,我们必须提供$14
start_address 标签,它不能包含任何内容(只是一些可用的空白空间)。在此之前,格式化的字符串必须经过,在此之后,syscall 5
必须存在的参数。其他标签可以在所有这些之后或之前。
mips - 试图理解 SYSCALL 5 示例,文字 % 占位符的顺序令人困惑
我正在学习 MIPS64 并使用 EduMIPS64 模拟器。
我理解以下示例的说明,我尝试在一个循环后循环执行它,但我不知道编译器如何知道哪个数字或字符串与相应的占位符匹配,以及format_str
在本.code
节末尾如何与 so 相关,这就足够了把地址放进format_str
去r14
我知道系统调用期望其参数的地址存储在寄存器 R14 中,但所有其他调用如何与该地址(format_str
)相关?
对于每个或占位符,
%s
都需要一个参数,从前一个的地址开始。当 SYSCALL 找到一个整数参数的占位符时,它期望对应的参数是一个整数值,当它找到一个字符串参数的占位符时,它期望字符串的地址作为参数。%d
%i
SYSCALL 5
我尝试通过内存表示来理解它,但没有成功。
谢谢。
mips - 打印用户使用系统调用 3 和系统调用 5 EduMIPS64 输入的值
我试图读取用户的输入并打印它。一开始,我向用户打印一个请求,用户输入一个值,我想打印它。
我正在尝试获取第一个数字,即 x,y 的下限。例如,我输入 number 5
,所以最后xyL
表示为 5 但打印的字符串是:
Enter lower bound for x,y
Lower bound for x,y = 0
如何打印输入的值,然后对下一个字符串执行相同操作?
谢谢。
编辑:================================================= =======================
我更改了.data
通过添加另一种数据类型.space 8
来保存地址,而不是跳转到打印值,print_string
我调用syscall 5
例子:
并在该.code
部分:
但我仍然想使用print_string
来打印字符串:prompt_msg_LBound_val
使用用户输入的值。
我怎样才能做到这一点?