汇编语言指令

INC:将指定的操作数的内容加1,再将结果送回到该操作数。
XOR:总是清除溢岀和进位标志位,并根据目标操作数的值来修改符号标志位、零标志位和奇偶标志位。;
SAR:是算数右移指令,SAR右移时保留操作数的符号,即用符号位来补足,SAR指令移出的最低位送CF
SHR:是逻辑右移指令,右移时用0来补足
ROL:把目的地址中的数据循环左移COUNT次,每次从最高位(最左)移出的数据位都补充到最低位(最右),最后从最高位(最左)移出的数据位保存到CF标志位。
CMP:比较两个操作数的大小.ZF=1,则说明两个数相等;
CF=1,oprd1<oprd2
SF=0,OF=0 则说明了此时的值为正数,没有溢出,oprd1>oprd2;
SF=1,OF=0 则说明了此时的值为负数,没有溢出,oprd1<oprd2;
SF=0,OF=1 则说明了此时的值为正数,有溢出,oprd1<oprd2;
SF=1,OF=1则说明了此时的值为负数,有溢出,oprd1>oprd2;
(此总结为转载,但是没找到原文链接)
RCL:用带进位的左移,就是左移时把操作数的最高位移入CF,而CF中原有内容移入操作数的最低位
例子
例1:
MOV AX,BXNOT AXADD AX,BXINC AX
(AX)=0000H, CF=0

ax是bx的非,因此按位相加时ax加上bx必定等于1。(当ax某位=1,则bx某位=0;当ax某位=0,则bx某位=1,相加永远是1)
全1就是F。
然后inc,
自增1,
ax溢出,
值为0。
没有进位,
cf=0。

例2:
mov al,10110101b ;5 个 1,奇校验
xor al, 0 ;奇偶标志位清 0 (奇)
mov al, 11001100b ;4 个 1,偶校验
xor al, 0 ;奇偶标志位置 1(偶)

例3:
10000000
算数右移一位是11000000
逻辑右移一位是01000000

例4:
在这里插入图片描述
(BX)=3FFFH, CF=1

发布了2 篇原创文章 · 获赞 0 · 访问量 151

猜你喜欢

转载自blog.csdn.net/weixin_43508546/article/details/103432333