何移位

shl/sal语句是完全等价的:在右侧补0;

shr 也即 Shift Logical Right好傻逼的简写,在左侧补0。

sar 也即 Shift Arithmetic Right,保留符号。

C语言中,处理unsigned类型对应逻辑移位,处理signed类型对应算术移位。

CF被设置为被移出的**最后一位**。

OF仅在移1位时有意义。左移后若改变符号,OF=1,反之OF=0;SAR后OF=0;SHR后OF被置为移位前的最高位。

一二三 跳!

signed比大小 使用greater&less

jg(jnle) 大于

jge(jnl) 大于等于

jl (jnge) 小于

jle(jng) 小于等于

unsigned比大小 使用above/below

ja(jnbe) 大于

jae(jnb) 大于等于

jb(jnae) 小于

jbe(jna) 小于等于

直接读取ZF/SF

je ZF=0

jne ZF!=0

js SF=0

jns SF!=0

跳表