问题标签 [mips32]
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.
mips - 无法从图表中建立关系
我得到了带有文本的下图。笔者指的是AND
成为控制信号的门PCSrc
。但我无法从图中得出这种关系。这里是正文,
ALU 在分支指令中执行寄存器比较,并在其零输出上产生高逻辑。该零输出与控制信号 Branch 相与,用于指示采用的分支。这个与门的输出是控制信号PCSrc,它控制一个多路复用器,该多路复用器在下一个顺序地址的地址(当不采用分支时)和BTA(当采用分支时)之间进行选择。BTA 由专用加法器计算。
mips - 为什么我们只需要将 J 类型指令位扩展为 2 位?
请Single Cycle Data Path
在MIPS
. 的26 bits
被J type instruction
位扩展为28
. 我不明白这一点。不应该将它扩展到 31 以便32
整体生成位。请帮我弄清楚这个概念。
谢谢
mips - 为什么我们在加载字指令中签名扩展?
我正在学习 MIPS 32 位。我想问一下,在存储字的情况下,为什么我们在将 16 位偏移量(在单周期数据路径中)发送到 ALU 之前要对其进行签名?
mips - 在向 MIPS 单周期数据路径添加更多功能时需要帮助
我正在尝试将 jal 功能添加到以下内容,但我不知道它是如何工作的。我知道它将旧PC+4
值存储在$ra
寄存器中,然后将控制权转移到函数,该函数通过返回将控制权传回,$ra
但我如何在硬件中实现它?
mips - MIPS:我可以通过系统调用从用户那里获得无符号整数值吗?
标题几乎概括了这一点。我正在为一个学校项目使用 32 位 MIPS 汇编语言(使用 MARS 仿真器)编写一个程序,并且我的 int 值 > 2,147,483,647 的阅读运气为零。
我花了相当多的时间在互联网上和我的书中寻找,但无济于事。这不是任务的核心(如果你碰巧知道这是不可能的,你可能已经意识到了),但好奇心正在杀死这只猫。现在我已经撞到了这堵砖墙,我必须确定。
笔记:
- 我专门寻找一种方法来获取无符号整数,而不是采用浮点数或双精度数。
使用系统调用获取 int 的标准代码:
/li>在提示输入整数时传递 2 500 000 000 时发生的错误:
/li>
帮帮我欧比旺,你是我唯一的希望!
assembly - MIPS Linux 汇编代码关于加载字节的理解
我在这里有以下问题
我需要了解以下 MIPS 反汇编代码:
我需要解决的任务是,在我的路由器固件管理器中将 Web 语言 ID 从 BIG-5 更改为 ISO-8859-5(没有来源:))所以 ISO-8859-5 比 BIG-5 长 5 个字母。我在 .rodata 部分中移动了右手(BIG-5)文本块)这里是十六进制片段:
& 更改了 .text 部分中的指针。但是,当我运行程序时,它仅加载 6 个字节(我在路由器的 HTML 代码页中看到“ISO-88”而不是(ISO-8859-5)。所以我想我必须找到开发字节数在哪里已修复并更改它。有人可以评论此代码。非常感谢:)
mips - 从代码片段中查找偏移量
我有点坚持以下问题,
考虑以下 MIPS 代码并回答以下问题。
标签循环在条件分支指令中转换为什么值?
现在我知道了分支目标地址的数学公式。但是这里没有完成内存寻址,所以我通过计算目标地址和 PC 之间的行来找出偏移量。这给出的答案是 7(字偏移)。我对这种方法是否正确?
mips - 大端和小端
给出的是字节可寻址计算机的内存快照。如果机器是大端和小端,则$16
在执行指令后将什么加载到寄存器中。lw $16, 24($17)
寄存器$17
包含200
.
现在根据我的说法,(224-227)
无论是Little Endian还是Big Endian,都会从内存中复制四个字节,然后如果机器是Big Endian,那么它们将按原样复制到寄存器中。
如果机器是Little Endian,则将被反转然后复制到寄存器中。
如果我对这个概念有误,请指导我。
assembly - 为什么我不能在 MARS 中使用 li.s?
我不能在 MARS 中使用 li.s。我是 MIPS 编程的新手,我试图不使用任何协处理器。为什么我不能使用 li.s 是 MARS 程序?如果有人可以带领我走向新的方向,那将非常有帮助!
assembly - 有人可以看看我是否正确地在 MIPS 中执行我的牛顿法吗?(组装)
我是新手,我试图在不使用协处理器的情况下做到这一点。有什么建议么?我真的需要好好完成这个任务!此代码应该在 MIPS 程序集中,其中代码 newtons 方法并包含 ae 点。我一直在组装我的代码,但它从底部掉了下来……不过我不确定这意味着什么。