NZCV的补充new.docVIP

  • 13
  • 0
  • 约3.53千字
  • 约 7页
  • 2016-10-09 发布于江西
  • 举报
NZCV的补充new.doc

由如何判断操作数是有符号数还是无符号数引发的思考 ???? 刚学汇编啊,不知道大家有没有和我一样的问题,FFH(1111?1111)到底是表示无符号数255,还是表示有符号数-1呢?上次在汇编语言语言上机 实验时想观察溢出标志状态位,于是乎,我理所当然的求FF+FF,满心想着最大的(8位)两个数相加肯定得溢出,但是得到的结果居然nv没有溢出,cy进 位,惑。 下文是在老师的讲解和查阅一些资料后的思考,还望大家共同学习,批评指正(重点部分背景设成黄色了)。 (1)为什么存在无符号数这种奇葩 (2)计算机如何区分无符号数和无符号数(区分BCD和二进制) (3)Booth算法不需特殊计算符号位,为什么乘法指令要区分有无符号 为什么存在无符号数 ?? 生活中我们所接触到的数,几乎都是有符号数。为什么存在无符号数这种奇葩呢,如你所知,计算机都处理的信息是以0、1二进制来存储的,无法存储‘+’号 ‘-’号。所以有符号数的最高位会用来表示正负(0正数?1负数)牺牲掉1位,而无符号数所有位都来表示数值,这样同样的存储位数中,无符号数能表示正数 的范围是有符号数的两倍。 计算机如何区分无符号数和无符号数 ?? 答:计算机做加法时不区是分无符号数还是有符号数。 ?? 正如文章开始提到的问题,FF+FF我们的本意是255+255=510??2?^8-1产生溢出,但为何OF的值并没有发生改变呢??

文档评论(0)

1亿VIP精品文档

相关文档