1
3
执行x86条件跳转
这个
[它使用一个短的1字节操作数,因为短跳转是最常见的情况,这种对最常见情况的优化有助于使整个代码变小]。
这意味着当您在高级程序集中编写时,可以编写…
…即使距离标签超过128字节。当CPU本身只支持短条件跳转时,它如何做到这一点?可能是因为汇编程序(它“汇编”您的汇编语言,如编译器)自动插入一些额外的必要操作码,所以最终实际发出的操作码是……
…在哪里?
|
2
3
我认为这可以解决您的问题:例如,在Microchip PIC18F系列中,您有一个
如果错误地尝试将分支转移到离标签太远的地方,编译器会给出一个错误。 当然,当你只有2K字的程序内存时,这些额外的字就可以产生不同的效果。
如果你需要一个条件
在这里,我们执行两个no ops来暂时“休眠”;减少一个名为
|
3
3
关于 条件分支 ,可以从以下定义开始: Branch (computer science) 以下内容:
这个
关于 有限/无限范围 跳跃的范围:范围是记忆中跳跃指令地址和跳跃地址之间的“距离”。这个 Program counter 维基百科上的文章可以给你更多关于这件事的信息。 为了理解这些主题,您不必了解汇编程序编程,但我建议您学习CPU体系结构的基础知识。 |
4
2
条件跳转将在逻辑上转换if语句:
进入这个:
这个
现在,对于“无限条件跳转”,我假设它们是指远跳转? |
5
1
有条件跳转就像
在C语言中,无条件跳跃就像
在C. 但我不知道“无限”是什么意思。它可能特定于正在讨论的特定处理器。 |
6
0
简而言之: 有条件的意思是
这意味着程序流会根据条件表达式而改变。 无条件跳转是goto语句或函数调用的典型编译器实现。 |
Lue · 慈善机构如何衡量捐赠的CPU使用率? 6 年前 |
Dusol · 使用多核时是否可能超出带宽限制? 6 年前 |
Adelin · ISA存储在哪里?如何准确地考虑它? 7 年前 |
St.Antario · 了解cpu寄存器 7 年前 |