汇编当中ADD指令的问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 19:56:18
这个指令是有符号相加还是无符号相加
为什么我AX中的数是7000H
再用MOV AX,1000H
之后溢出标志就为1了?就是说它把这两个数当成是有符号的?
我是想让它们做无符号相加啊,就是可以加到FFFFH之后才算溢出的那种

应该怎么做呢,汇编里面有没有无符号相加的指令,将两个加数当做无符号数,还是说定义数字的时候可以定义成无符号形式的?

举个例子告诉我吧,就是怎么让7000H+1000H的结果为8000H并且标志位不为1,直到加到FFFFH以后再加会判为溢出?
上面那个写错了,应该是ADD AX,1000H

我想知道具体方法啊,如果就这样写的话溢出位是肯定为1的,用什么办法加能让溢出位仍然为0呢

8086/8088不分带符号加和无符号加,统统使用add指令
7000H和1000H你把它看成是无符号数,那就不能用OF这个标志位进行判断。
在汇编语言里面,OF是判断带符号数是否产生溢出的,CF才是判断无符号数是否产生溢出。
所以,要是你把他们看成是无符号数加法,那么就不必理会OF是0是1,而是要看CF位。

ADD加的时候不分有无符号的~~呵呵~上课偷懒了吧~~
有无符号是靠标志位来控制的~~

只有无符号运算CF才是有效的

你那是MOV,MOV和ADD不是一样的好不好,弄清楚这两个指令的区别。