汇编中OF和CF的问题
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 07:07:13
汇编中OF和CF的问题
刚学汇编,看了一眼书.
在ADD运算和SUB运算中,得到的结果似乎都是无符号运算的结果,这样的话CF的标志好确定,问题出在OF.
我看老师的课件上OF的判断是直接根据运算的结果来判断的,若两个操作数符号相同而运算结果和操作数不相同,则OF会被设置为1,可是OF不是对有符号运算的标志吗?怎么可以直接根据无符号运算结果得到呢?
举个例子:比如1011和1001相加(由于八位太麻烦了所以马虎一点用4位的),根据老师课上说将其做ADD操作得到的结果是(1)0100,产生了进位所以CF=1,由于两操作数的符号相同但运算结果与操作数不同所以OF=1.
但是如果作为有符号运算的话得到的结果应该是1100,并未产生溢出,OF怎么可以为1呢?是我的理解有错还是怎么的,忘各位大侠赐教.
刚学汇编,看了一眼书.
在ADD运算和SUB运算中,得到的结果似乎都是无符号运算的结果,这样的话CF的标志好确定,问题出在OF.
我看老师的课件上OF的判断是直接根据运算的结果来判断的,若两个操作数符号相同而运算结果和操作数不相同,则OF会被设置为1,可是OF不是对有符号运算的标志吗?怎么可以直接根据无符号运算结果得到呢?
举个例子:比如1011和1001相加(由于八位太麻烦了所以马虎一点用4位的),根据老师课上说将其做ADD操作得到的结果是(1)0100,产生了进位所以CF=1,由于两操作数的符号相同但运算结果与操作数不同所以OF=1.
但是如果作为有符号运算的话得到的结果应该是1100,并未产生溢出,OF怎么可以为1呢?是我的理解有错还是怎么的,忘各位大侠赐教.
嘿嘿 在计算机中负数用补码表示 如拥4位数 则1011和1001分别表示为-5和-7
加的结果为-12 已经超过了4位数的表示范围 0000~1111 表示的范围是0~7 -1~ -8
所以为益出
你认为的结果应该是1100是不对的 记着负数不是按原码运算的 而是按补码运算的
明白后 就给俺加分吧
加的结果为-12 已经超过了4位数的表示范围 0000~1111 表示的范围是0~7 -1~ -8
所以为益出
你认为的结果应该是1100是不对的 记着负数不是按原码运算的 而是按补码运算的
明白后 就给俺加分吧
刚学汇编,请高手解析哈cf与of的问题,cf只是在无符号运算用吗?of只是在有符号时吗?cf与of有什么区别?有符号乘法
中断矢量的问题 存储地址 汇编
关于汇编的有无符号数问题
汇编状态标志位OF的判断
nasm汇编中相关语句的意思
汇编指令中给AX寄存器清0并使CF=0,下面那个是错的:MOV AX,0 XOR AX,AX SUB AX,AX AND
汇编中push的用法 6A和68都被翻译成PUSH,但是这两个有什么区别呢?
汇编中 KEY_NEW EQU 40H 的EQU何意?
汇编中 原文是stud student 9 DUP() ;分配空间本人已经搞清楚了 是结构体的问题 是给结构体 分配空间
求这条汇编语句的解释:mov ax,SEG ADDR of Segment 0002
汇编8086中的OF溢出标志怎么判断?它的准确定义是什么?
伊索寓言是什么的汇编