mips相关内容

MIPS交换两个阵列元素

假设我有一个包含10个元素的数组,并假设$S1寄存器已经加载了基地址。如何编写交换A[4]和A[9]的简单操作? 到目前为止,我已经想出了一些方法,包括使用TEMP寄存器,但我不确定它是否正确: lw $t0, 4($s1) sw 4($s1), 9($s1) sw 9($s1), $t0 推荐答案 假设您尝试交换32位整数数组中的项,则数组中的每个项占用4个字节。 因此, ..
发布时间:2022-03-27 21:24:28 其他开发

在MIPS汇编中使用逻辑移位乘以2的幂

有没有人能给我一些建议,告诉我如何编写一个在MIPS汇编中使用移位进行乘法运算的代码?我不明白数字2^n如何帮助我使用奇数被乘数乘法 我目前有此代码,我正在尝试制作计算器 .text li $v0, 4 la $a0, ask_1 syscall li $v0,5 syscall move $s1, $v0 li $v0, 4 la $a0, ask_2 sy ..
发布时间:2022-03-27 21:18:43 其他开发

MIPS:将寄存器地址复制到另一个寄存器

所以我在将一个寄存器的地址复制到另一个寄存器时遇到了问题。目前我正在执行以下操作: la $a2, $a0 我收到一个语法错误。有人知道这是怎么回事吗? 推荐答案 为了将$ao的内容视为地址而不是数字,请将其放入()中,如下所示: la $a2, ($a0) 您也可以使用移动指令: move $a2, $a0 Kevin ..
发布时间:2022-03-27 21:12:46 其他开发

MIPS-32操作码格式:大写还是小写?

我目前正在学习计算机组织课程,我一直在学习MIPS-32体系结构。我注意到我们使用的书中操作码都是小写的,而教授列出的操作码都是大写的。我在不同的网站上查了一下,注意到一些网站的操作码都是大写的,而另一些网站的操作码都是小写的。我查找了有关堆栈溢出的类似问题,但找不到任何问题。 例如,要添加,我们可以这样做: ADD $s2, $s1, $s0 但是,其他网站和这本书是这样说的: ..
发布时间:2022-03-27 21:11:12 其他开发

MIPS IF循环大于或等于

if ($t4 >= $5) $t8 = $t8+1 不太确定这是否正确。根据不同的来源把这些放在一起。看似简单,但我仍在学习基础知识。 stl $t1, $t5, $t4 beq $t0, $zero, endLoop addi $8, $8, 1 主引用:Greater than, less than equal, greater than equal in MIPS ..
发布时间:2022-03-27 21:03:08 其他开发

如何计算MIPS分支指令的最大单跳范围?

我正在学习计算机体系结构(MIPS体系结构),并阅读以下声明: 1.分支指令具有16位有符号字偏移量字段,该字段允许从当前位置分支到+或-128kBytes(+0x1FFFC到-0x20000)的地址。 2.跳转指令指定由程序计数器最高有效4位指定的当前256MB(0x0FFFFFFC)区域内的地址。 我理解上述跳跃范围的概念,但是0x0FFFFFFC、0x1FFFC、0X200 ..
发布时间:2022-03-27 20:53:19 其他开发

在MIPS中使用$t0而不是$8

查看各种MIPS引用,您可以使用通用名称或寄存器编号访问寄存器。这些语句是否有任何差异: addi $t0, $t0, 1 addi $8, $8, 1 此外, addi $4, $t3, $zero 本质上只表示$T2=$T4,对吗? 推荐答案 它们是字面上相同的,是的。如果您想要确定,请汇编并检查输出二进制文件。示例文件: .globl f f: ..
发布时间:2022-03-27 20:50:07 其他开发

MIPS IF-ELSE打印故障

我正在编写一个程序来确定整数是偶数还是奇数。该程序首先要求用户输入一个整数,并根据该整数的大小打印“偶数”和“奇数”。创建if-Else语句时遇到问题。 语句应该是,如果$t2=$t0,则输出“Odd”,否则,输出“Even”。这是我现在有的不起作用的代码($t1=1,$t2=用户整数,带1,odd_str=“奇”,Even_str=“Even”): bne $t2, $t1, L1 ..
发布时间:2022-03-27 20:48:01 其他开发

为什么非寄存器跳转指令需要分支目标缓冲区?

对于MIPS 5级流水线,解码级知道分支目标,因为如果分支偏移量在指令中,并且您还读取解码级中的寄存器,则可以很容易地提取分支目标。 那么对于乱序流水线,很明显在使用‘jr’这样的指令时会遇到问题,这些指令可能会使用尚未计算的寄存器。对于这样的用途,分支目标缓冲区有明显的用法。 但是对于像‘beq’这样的指令,我认为有必要使用分支预测器,但不需要分支目标,因为您已经知道分支偏移量,当然也知 ..
发布时间:2022-03-27 20:45:55 其他开发

MIPS计算器实现减法和加法除法,避免DIV和REM指令

我正在使用经典的MIPS计算器示例,但正在尝试更改下面的divis(除法)例程,以仅使用加法和减法,而不是MIPS div运算(类似于我对乘法所做的操作)。这可能很容易做到,但我是MIPS的新手,到目前为止我所做的每一次尝试都没有奏效。帮助? 我正在使用qtSpim作为我的模拟器 到目前为止我对组织结构的了解: start_divis: add $ ..
发布时间:2022-03-27 20:43:35 其他开发

使用SLT检查无符号整数加法进位标志MIPS

我是汇编新手,我知道这是一个相当简单的问题。 我假设对$a0和$a2进行无符号整数加法,并通过检查进位标志将结果存储在$v0中。 作业如下: 仅使用addu而不是add进行相加,并使用slt确定两个无符号整数的相加是否产生进位,而不使用条件分支指令。 以下是我的代码: addu $v0, $a0, $a2 sltu $t0, $v0, $a0 对于该代码,如果产生进位, ..
发布时间:2022-03-27 20:37:48 其他开发

从x86交叉编译MIPS路由器

我的最终目标是为我的旧Actiontec调制解调器/路由器编译无线工具,这样我就可以将其配置为无线到以太网桥。目前,它的无线功能(似乎)由管理大部分Web界面的同一个二进制文件控制,但似乎他们至少使用了无线工具内部使用的库来实现部分功能。 我以前从未为不同的CPU架构交叉编译过,不确定如何完全确定我需要做什么。我正在尝试使用uClibc,因为它似乎是在系统的睡觉中使用的,但是我不确定如何为调 ..
发布时间:2022-02-24 22:34:38 服务器开发

MIPS 如何比较从输入中获取的字符?

我的程序询问用户他/她正在考虑的数字是否在列表中.用户输入y或n.如何检查用户是否在程序集中输入了 y 或 n?如果等于 121('y' 的十进制 ASCII 代码)或值等于 110('n' 的十进制 ASCII 代码,则将用户输入放入寄存器和分支是否足够? 提前致谢 解决方案 读取字符可以使用系统调用码,系统调用码应该是12,那么字符(二进制ASCII码)会存入$v0.然后你可以让 ..
发布时间:2022-01-25 09:23:15 其他开发

测试一个值是否在两个范围之一内

我正在编写一个 MIPS 程序,它只能使用大写或小写字符作为输入.我的程序使用字符的 ASCII 值工作. 我需要检查输入中的每个字符是否在 65-90 (A-Z) 或 97-122 (a-z) 的 ASCII 范围内.如果它不在这两个范围内,请跳过此字符并重复下一个字符.如何做到这一点? 编辑 这是我刚刚想出的一个解决方案,但我确定有一个不那么丑陋的方法来做到这一点? fun ..
发布时间:2022-01-24 19:36:13 其他开发

MIPS条件打印所有情况

我正在尝试确定 3 个数字中的最小值. 我正在使用 slt 一次比较 2 个数字. 我正在使用 beq 和 bne,并将它们与 $zero 进行比较(因为 slt 的结果是 0 或 1,并且寄存器 $zero 保存常量 0).通过使用 beq 和 bne,我试图跳转到最终将打印三个中最低值的特定标签. 我很困惑所有标签信息都被打印出来了.下面是我的代码.有人可以帮我确定为什么所有 ..
发布时间:2022-01-21 00:11:50 其他开发

是否可以在线程之间共享一个寄存器?

我知道当操作系统/硬件在不同线程的执行之间切换时,它管理存储/恢复每个线程的上下文,但是我不知道很多细节.我的问题是:是否有任何寄存器可用于在线程之间共享信息?在 x86 中?米普斯?手臂?等等,.linux?窗户? 非常感谢任何关于如何做到这一点的建议. 解决方案 乍一看,您的问题似乎很合理.其他人试图直接回答这个问题.首先,我们有两个相当模糊的概念, 话题 注册 如 ..
发布时间:2022-01-17 14:26:37 服务器开发

ARM、MIPS、x86 的 Android os.arch 输出?

为了识别Android设备的平台,java系统属性“os.arch"似乎就足够了: Log.i("mytag", "os.arch:" + System.getProperty("os.arch")); 大多数 ARM 设备响应:os.arch: armv7l x86 模拟器响应:os.arch: i686 对于真实 Intel 和 MIPS 设备的输出是什么? x86 An ..
发布时间:2022-01-17 14:00:03 移动开发