1.汇编语言如何判断是源码源代c 线程 源码有符号运算,还是无符号运算?
汇编语言如何判断是有符号运算,还是无符号运算?
对于加法和减法,有符号和无符号的指令是通用的,所以只能通过源码或者是其他的标记来判断是有符号还是无符号
比如如果一个变量是这样定义的话:
a db -1
那如果有add或者sub引用了这个变量的话,那这个就有可能是有符号的运算了,由于有的人习惯将0FFH或其他的所有二进制位全都为1的数定义成-1,所以不能确定,但如果是其他的负数的话,那么这个数是有符号数的概率就大多了.如果是个值为正数的有符号数的话,那就只能通过上下文来判断了
最精确的方法还是看进行加减运算前后的指令,比如:
mov ax,a
mov bx,b
sub a,b
js XXXX
用到的是和有符号数对应的条件转移指令的话,那这个就肯定是有符号的运算了
当然这只是其中的一种方法,具体的判断方法还要看具体的代码,这个一般不会出现太大的歧义,因为如果算法确定了的话,那么这个算法使用的变量的类型一般也就确定了.所以只要你能读懂代码,那这个运算的类型你也肯定能看出来
对于乘法和除法就简单了,直接从指令就能看出来,无符号的乘除是MUL和DIV,有符号的是IMUL和IDIV
浮点数的话全都是有符号数,没有无符号的
2024-11-25 02:171136人浏览
2024-11-25 01:49592人浏览
2024-11-25 01:441430人浏览
2024-11-25 01:112087人浏览
2024-11-25 00:411606人浏览
2024-11-24 23:53304人浏览
1.郭鑫年的原型2.小肾魔盒有什么用?小肾魔盒好用吗?[多图]介绍_小肾魔盒有什么用?小肾魔盒好用吗?[多图]是什么3.求解Spe这个插件吗4.卢卡原型5.创业时代魔盒原型是什么郭鑫年的原型 据悉
1.微信可以通过open加好友吗?2.如何用代码加微信好友3.[安卓按键精灵]关于微信的一些跳转代码4.怎样在微信上加好友微信可以通过open加好友吗? 是的,微信提供了Open API,允许第三
1.燕窝的溯源码是什么意思?2.燕窝品牌排行榜前十名,全国燕窝品牌十大排名_燕窝哪个牌子好有什么品牌推荐3.2024燕窝推荐!燕窝品牌十大排名!4.燕窝哪个牌子比较正宗?5.不要再胡乱选燕窝!燕窝送人