使用一条跳转,可以执行很多条指令.CPU的指令周期很长,这里说一下强制跳转JMP
看下JMP
?...可以看出,最快的需要15个指令周期,最慢的需要24 + (EA:寻址方式,的有效寻址的周期)大小
那么我们可以优化一下吗
比如 C语言中的三目运算符 a == 0 ?...如果 ==0 ,我就跳转到0的地方,执行,否则跳转到-1的地方执行
最少需要两个跳转是吗
这样浪费了很多指令周期
所以我们可以写成这样
mov ax,3
neg ax
sbb ax,ax
我敢说,学过汇编的人从来都只是说学过...,需要想很长时间,
比如
mov ax,0
你认为是很快了是吗,其实inter指令周期是4,不行的话自己可以查询看一下, reg,imm这一行
但是你写为
xor ax,ax (xor代表异或的意思...,把它当做一门艺术来看.
2.右移指令
SHR 逻辑右移,SAR算术右移
两个的不同
SHR 移动的时候,以0来填充
SAR 移动的时候,符号位填充,也就是真正的右移
和左移相反
右移也可以用于正数的除法