10.12 条件分支的实现方法


代码清单10-12中用到了三种跳转指令,分别是比较结果小时跳转的jle 、大时跳转的jge 、不管结果怎样都无条件跳转的jmp。在这些跳转指令之前还有用来比较的cmp指令,比较结果被保存在了标志寄存器中。虽然同C语言源代码的处理流程不完全相同,不过处理结果是相同的。此外,需要注意eax寄存器表示的是变量a。


代码清单10-12中用到了三种跳转指令,分别是比较结果小时跳转的jle 、大时跳转的jge 、不管结果怎样都无条件跳转的jmp。在这些跳转指令之前还有用来比较的cmp指令,比较结果被保存在了标志寄存器中。虽然同C语言源代码的处理流程不完全相同,不过处理结果是相同的。此外,需要注意eax寄存器表示的是变量a。