汇编NEG指令影响的标志位?
依据:CPU侦测溢出是将进位标志和目的操作数的符号位进行比较,如果它们不想等就设置溢出标志位。根据以上依据,解下面2点。1、将-128送AL寄存器并对其求反,结果+128...
依据:CPU侦测溢出是将进位标志和目的操作数的符号位进行比较,如果它们不想等就设置溢出标志位。
根据以上依据,解下面2点。
1、将-128送AL寄存器并对其求反,结果+128无法在AL中存储。此时为何OF会置位,怎么理解?例:
mov al,-128 ;al=10000000b
neg al ;al=10000000b, OF = 1
2、相反,对+127求反,结果是有效的。此时OF清零,如何理解?例:
mov al,+127 ;al=01111111b
neg al ;al=10000000b, OF = 0
2、相反,对+127求反,结果是有效的。此时OF清零,如何理解?例:
mov al,+127 ;al=01111111b
neg al ;al=10000001b, OF = 0,抄错…… 展开
根据以上依据,解下面2点。
1、将-128送AL寄存器并对其求反,结果+128无法在AL中存储。此时为何OF会置位,怎么理解?例:
mov al,-128 ;al=10000000b
neg al ;al=10000000b, OF = 1
2、相反,对+127求反,结果是有效的。此时OF清零,如何理解?例:
mov al,+127 ;al=01111111b
neg al ;al=10000000b, OF = 0
2、相反,对+127求反,结果是有效的。此时OF清零,如何理解?例:
mov al,+127 ;al=01111111b
neg al ;al=10000001b, OF = 0,抄错…… 展开
1个回答
展开全部
8位数的补码,可以表示的是-128~+127。
运算结果超出这个范围,就是溢出。
CPU 就会令 OF = 1。
--------------
NEG 指令,是连同符号位一起,求反加一。
NEG 指令,求出的是《相反的数》。
--------------
mov al,-128 ;al=10000000b
neg al ;al=10000000b, OF = 1
+128,超出了8位数的补码的范围,就是溢出了。
OF = 1,是合理的。
--------------
mov al,+127 ;al=01111111b
neg al ;al=10000000b, OF = 0
应该是:
neg al ;al=10000001b, OF = 0
这是-127的补码,不超出范围,没有溢出。
OF = 0,是合理的。
运算结果超出这个范围,就是溢出。
CPU 就会令 OF = 1。
--------------
NEG 指令,是连同符号位一起,求反加一。
NEG 指令,求出的是《相反的数》。
--------------
mov al,-128 ;al=10000000b
neg al ;al=10000000b, OF = 1
+128,超出了8位数的补码的范围,就是溢出了。
OF = 1,是合理的。
--------------
mov al,+127 ;al=01111111b
neg al ;al=10000000b, OF = 0
应该是:
neg al ;al=10000001b, OF = 0
这是-127的补码,不超出范围,没有溢出。
OF = 0,是合理的。
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光...
点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询