汇编语言第11章 无符号数与有符号数大小比较

本文详细解析了无符号和有符号数值在计算机内部的比较逻辑,并阐述了正负数溢出的情况及其对逻辑结果的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无符号比较
cmp al,3
若al=3则ZF为1
若al≠3则ZF为0
若al<3则CF为1
若al≤3则CF为1或ZF为1
若al>3则CF为0,ZF为0
若al≥3则CF为0或ZF为1

有符号比较
cmp al,3
若OF为0,SF为1则al<3
若OF为0,SF为0且ZF为0则al>3
若OF为0,SF为0且ZF为1则al=3
若OF为1,SF为1则al>3
若OF为1,SF为0则al<3

溢出有两种情况。第一种是负数溢出,第二种是正数溢出。若是负数溢出则是向正数范围溢出,所以逻辑结果为正数实际结果为负数。若是正数溢出则是向负数范围溢出,所以逻辑结果为负数实际结果为正数。
在0~255中
[0,127]为正数区间
[128,255]为负数区间
若正数区间最大数127+1=128就会溢出到负数区间
若负数区间最小数128-1=127就会溢出到正数区间(若果不理解就把负数区间转化为有符号数)
所以说 如果因为溢出导致了实际结果为负,那么逻辑上真正结果必然为正
如果因为溢出导致了实际结果为正,那么逻辑上真正结果必然为负。
128有符号数是-128,-128-1=-129结果溢出,溢出到正数区间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值