| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1134 人关注过本帖
标题:汇编中加法指令结果分析有疑问,请指教!
只看楼主 加入收藏
潞潼
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-10-28
收藏
 问题点数:0 回复次数:4 
汇编中加法指令结果分析有疑问,请指教!

大家好!我是汇编初学者,请教各位高人一个问题!
假定 (AL)=0E3H,(psw)=0000H
执行 ADD AL,160 指令
(AL)=11100011
+160D=A0H=10100000
-------------------------------------
自然丢失-110000011
执行指令后的状态信息:
若是无符号数加法运算,(AL)=E3H+A0H,CY=1,运算结果为:183H=387D,即是227D+160D=387D,无溢出.
若是有符号数加法运算,(AL)=[E3H]补=-29D,[A0H]补=-96D,运算结果为[83H]补=-125D,
(-29D)+(-96D)=-125D,运算结果大于-128D,则无溢出OF=0
我的问题:这里假定的如果是无符号数为什么就算进位1,有符号数结果就不用算进位?还有无符号数的溢出如何判断?

搜索更多相关主题的帖子: 加法 指令 疑问 结果 汇编 
2006-10-28 18:56
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
其实LZ不必考虑那么多的,写程序时只要用JA,JG,JNA,JNG......判断就可以了.如果想具体了解,可以看下计算机组成原理.

2006-10-29 10:20
wchx215
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-9-4
收藏
得分:0 

其实C与O是无关的,C只与无符号数计算有关,O只与有符号数计算有关。
执行add时,计算机自动按两种方式计算,你只需选用有关的一种就行了。
其中JA,JB是按无符号数计算判断的,JG,JL是按有符号数计算判断的。

2006-10-29 18:11
火奴
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-10-24
收藏
得分:0 
汇编里面,只有无符号运算CF才有效,
只有有符号运算OF才有效。
AL 是8位二进制的 所以他最多能存放的无符号数是FFFFFFFFB=0FFH,你用加法运算时,目的操作数大于0FFH的话,CF就会被设置了。
有符号运算,目的操作数只要结果超出-128--127,OF就会被设置了
2006-10-29 19:45
潞潼
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-10-28
收藏
得分:0 
谢谢各位热心帮助!
2006-11-03 14:56
快速回复:汇编中加法指令结果分析有疑问,请指教!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027087 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved