assembly - 无条件分支和无条件跳转(MIPS 中的指令)有什么区别?

标签 assembly mips

您可以查看Wikipediashort summary for students 。每个人都说同一件事有两个指令。但没有人告诉为什么?

最佳答案

分支允许条件。但考虑到条件会占用指令中更多的位。因此,分支地址只有 2^16 位,并且只允许向后分支 2^15 - 1 条指令或向前分支 2^15 条指令。

跳转是无条件的,省略条件而保存的位可用于地址。跳转允许使用 26 位地址,因此在代码中可以比分支跳转得更远。以没有条件为代价。

关于assembly - 无条件分支和无条件跳转(MIPS 中的指令)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10981593/

相关文章:

eclipse - 设置反汇编 View 颜色

c++ - 如何从 x64 程序集中的堆栈获取参数?

c - 从 asm volatile 调用内部访问静态 C 变量

c++ - 为什么在我的 C++ mips 反汇编程序中,没有打印出某些内容?

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

mips - 在 MIPS 中使用带有链表的系统调用 9

assembly - call *(%rax, %rcx,8) 在循环中是什么意思?为什么RAX和RCX之后要变?

assembly - GNU 对具有全局标签的 jmp 感到奇怪

c++ - 将 C++ 函数转换为 MIPS

将 C 代码转换为 MIPS 汇编 - 使用递归的组合函数