Java语言遇到if语句的时候cpu在做什么操作,为什么程序会有不同的执行?
可以从汇编的层次进行理解,
LOOP:
MOV C P3.0
JC LOOP
当P3.1是一时代码流程跳转到LOOP位置。
mov是赋值 或者叫移动 把P3寄存器的第0个比特位赋值给C标志位
JC 是判断C标志位是0或者是1 ,当是1跳转到LOOP位置(可以有点像C语言的goto)当是0会继续向下执行指令
下面的代码可以帮助你理解 ,但应该不可以应用到你的代码里
loop:
if(P3.0)
{
goto loop;
}
关于汇编的跳转指令有很多,一般写java不会很关注底层的代码实现。如果想详细了解关于CPU的行为可以参考汇编的教材。