大家好,欢迎来到IT知识分享网。
汇编set语句:
实现无分支比较, 不断流水线
39383E46 |. 83F9 09 cmp ecx,0x9 39383E49 |. 0F97C0 seta al
cmp 比较两个操作数,结果保存在FLAG寄存器中(同sub运算,不同在于不影响操作数, 只影响flag寄存器)
seta 的 a 表示无符号数的 above 大于,即 (和条件跳转语句同理)
如果 ecx > 9 ,则把al寄存器的值置1
否则置0
cmp $eax,%edx setb $cl
cmp 比较两个操作数,结果保存在FLAG寄存器中
setb 的 b 表示无符号数的 below 小于,即 (和条件跳转语句同理)
如果 %eax < %edx ,则把cl寄存器的值置1
否则置0
Ps:是值置1,而不是寄存器的某一位
当然 %eax < %edx 是从我们人的角度来看的
对计算机而言,要看 FLAG 寄存器的标志位
无符号,小于,则看CF足矣
如果CF=1 且 ZF=0 则不够减,则小于,则寄存器 cl 置1
如果CF=0 且 ZF=0 则够减,则不是小于,则寄存器 cl 置0
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/33129.html