汇编中关于有符号和无符号问题
问题一:sf标志位判断符号是针对第七位吗?如:7f的话01111111b是不是sf就是0了。80以上的话10000000就sf都是1了对吧。问题二:moval,0fcha...
问题一:sf标志位判断符号是针对第七位吗?
如:7f的话01111111b是不是sf就是0了。80以上的话10000000就sf都是1了对吧。
问题二:mov al,0fch
add al,05h
如果是无符号的cf就为1(00000001),如果有符号的of为0(得11111111),通过无符号和有符号得出的二进制是不一样的。我要怎么判断zf和pf和sf呢? 展开
如:7f的话01111111b是不是sf就是0了。80以上的话10000000就sf都是1了对吧。
问题二:mov al,0fch
add al,05h
如果是无符号的cf就为1(00000001),如果有符号的of为0(得11111111),通过无符号和有符号得出的二进制是不一样的。我要怎么判断zf和pf和sf呢? 展开
2个回答
展开全部
-128=1111 1111
127=0111 1111
超过127 127+2=1000 0001=-1
其实汇编和你1.中说的一样。。小于-128的数字不能拿2字节的寄存器存放了。
他就相当于 这个2字节的寄存器。能存放-128~255的数据。
你当他是有符号数时就是-128~127.无符号0~255
超过这个界限,就会溢出、
还有补码的问题。计算机如果要存放一个负数。那么会存放他的补码、
所以你遇到一个二进制的数字,没有上下文联系,是没有办法判断是否为有符号数和无符号数、。
如果还有不懂可以追问,在线等回复。、
希望对你能有所帮助。
127=0111 1111
超过127 127+2=1000 0001=-1
其实汇编和你1.中说的一样。。小于-128的数字不能拿2字节的寄存器存放了。
他就相当于 这个2字节的寄存器。能存放-128~255的数据。
你当他是有符号数时就是-128~127.无符号0~255
超过这个界限,就会溢出、
还有补码的问题。计算机如果要存放一个负数。那么会存放他的补码、
所以你遇到一个二进制的数字,没有上下文联系,是没有办法判断是否为有符号数和无符号数、。
如果还有不懂可以追问,在线等回复。、
希望对你能有所帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询