求教关于sub
时间:2011-03-06
来源:互联网
刚学汇编,搞不懂了什么有符号没符号的。而且减了以后又涉及绝对值什么的,烦哪。
就请高手给我讲讲sub吧,请具体点。谢过
就请高手给我讲讲sub吧,请具体点。谢过
作者: Gaoshanandtmmu 发布时间: 2011-03-06
没什么可讲的吧,
sub ax,bx ;ax减去bx,结果放到ax里,如有借位,那么进位标志(CF)置1,如果做带进位的剑法操作就需要用sbb,例如:sbb ax,bx ;ax减去bx再减去CF,结果置于ax里。
sub ax,bx ;ax减去bx,结果放到ax里,如有借位,那么进位标志(CF)置1,如果做带进位的剑法操作就需要用sbb,例如:sbb ax,bx ;ax减去bx再减去CF,结果置于ax里。
作者: masmaster 发布时间: 2011-03-06
你要先理解有符号数和无符号数的表示(即同一个二进制数即可看做无符号的,又可看做有符号的)。
CPU做sub运算的过程,你可这样来理解:
CPU只把2个操作数当二进制数进行,而不去区分(实际上它也无法区分,只有程序设计人员才知)有无符号。
如果能减开,就先得到差;如果减不开,则向虚拟高位借位(变成n+1位二进制数减n位二进制数,即1xx...xB - xx...x),得到差,同时用进(借)位标志CF记录下产生过借位。
最后根据运算结果设置其他标志位(溢出、奇偶、符号等)。
程序设计者使用sub指令后,要根据自己的数据有无符号来判断CF或OF:
若你的数是无符号的,则CF=0时,结果可直接使用;CF=1不能直接用。无符号数运算不用去管OF.
若你的数是有符号的,则OF=0时,结果正确;OF=1结果不正确。有符号数运算不用去管CF.
CPU做sub运算的过程,你可这样来理解:
CPU只把2个操作数当二进制数进行,而不去区分(实际上它也无法区分,只有程序设计人员才知)有无符号。
如果能减开,就先得到差;如果减不开,则向虚拟高位借位(变成n+1位二进制数减n位二进制数,即1xx...xB - xx...x),得到差,同时用进(借)位标志CF记录下产生过借位。
最后根据运算结果设置其他标志位(溢出、奇偶、符号等)。
程序设计者使用sub指令后,要根据自己的数据有无符号来判断CF或OF:
若你的数是无符号的,则CF=0时,结果可直接使用;CF=1不能直接用。无符号数运算不用去管OF.
若你的数是有符号的,则OF=0时,结果正确;OF=1结果不正确。有符号数运算不用去管CF.
作者: shzhfu 发布时间: 2011-03-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28