汇编语言如何判断是有符号运算,还是无符号运算?

汇编语言如何判断是有符号运算,还是无符号运算?... 汇编语言如何判断是有符号运算,还是无符号运算? 展开
 我来答
文刀舍予
推荐于2017-09-08 · TA获得超过5715个赞
知道小有建树答主
回答量:1196
采纳率:0%
帮助的人:0
展开全部
对于加法和减法,有符号和无符号的指令是通用的,所以只能通过源码或者是其他的标记来判断是有符号还是无符号
比如如果一个变量是这样定义的话:
a db -1
那如果有add或者sub引用了这个变量的话,那这个就有可能是有符号的运算了,由于有的人习惯将0FFH或其他的所有二进制位全都为1的数定义成-1,所以不能确定,但如果是其他的负数的话,那么这个数是有符号数的概率就大多了.如果是个值为正数的有符号数的话,那就只能通过上下文来判断了
最精确的方法还是看进行加减运算前后的指令,比如:
mov ax,a
mov bx,b
sub a,b
js XXXX
用到的是和有符号数对应的条件转移指令的话,那这个就肯定是有符号的运算了
当然这只是其中的一种方法,具体的判断方法还要看具体的代码,这个一般不会出现太大的歧义,因为如果算法确定了的话,那么这个算法使用的变量的类型一般也就确定了.所以只要你能读懂代码,那这个运算的类型你也肯定能看出来
对于乘法和除法就简单了,直接从指令就能看出来,无符号的乘除是MUL和DIV,有符号的是IMUL和IDIV
浮点数的话全都是有符号数,没有无符号的
脑子很笨
2010-03-20 · TA获得超过830个赞
知道小有建树答主
回答量:449
采纳率:0%
帮助的人:374万
展开全部
看标志位

参考资料: 如果您的回答是从其他地方引用,请表明出处

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式