x86汇编_CMP指令_笔记_28

高级语言常用的比较语句:

if A > B ...
while X > 0 and X < 200   ...
if check_for_error(N) = true

x86汇编用cmp指令比较整数,因为字符也属于整数,所以也可以使用cmp指令。浮点数需要其它指令来比较,在《汇编语言-基于x86处理器》第12章介绍。

cmp 目标操作数,源操作数

cmp指令用目标操作数减去源操作数,根据结果来确定溢出、符号、零、进位、辅助进位和奇偶标志位,但不会真的去改变目标操作数,仅改变了标志位。汇编的cmp指令相当于高级语言的IF语句。

比较两个无符号数
CMP结果ZFCF
目的操作数 < 源操作数01
目的操作数 > 源操作数00
目的操作数 = 源操作数10
比较两个有符号数
CMP结果标志位
目的操作数 < 源操作数SF ≠ OF
目的操作数 > 源操作数SF=OF
目的操作数 = 源操作数ZF=1

mov ax, 5
cmp ax,10     ; ZF = 0 and CF = 1
mov ax,1000
mov cx,1000
cmp cx, ax        ;ZF = 1 and CF = 0
mov si,105
cmp si, 0        ; ZF = 0 and CF = 0

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值