- 1、本文档共92页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 算术和逻辑运算指令
罗文坚
中国科大 计算机学院
/~wjluo/mcps/
本章内容
加法、减法和比较指令
乘法和除法指令
BCD码和ASCII码算术运算指令
基本逻辑运算指令
移位和循环移位指令
串比较指令
加法指令
加法
格式
ADD REG/MEM, REG/MEM/IMM
功能
源操作数、目的操作数相加,结果存入目的操作数
标志
所有状态标志(ZF、CF、PF、AF、SF 及 OF)都受影响
带进位加
格式
ADC REG/MEM, REG/MEM/IMM
功能
源操作数、目的操作数以及进位标志CF相加,结果存入目的操作数
标志
所有状态标志(ZF、CF、PF、AF、SF 及 OF)都受影响
加法指令
加1
格式
INC REG/MEM
功能
目的操作数加1
标志
除CF标志位,其余状态标志都受影响
交换并相加
格式
XADD REG/MEM, REG
功能
(80486以上)源操作数和目的操作数相交换,并将两者之和存入目的操作数
标志
所有状态标志都受影响,根据加法结果设置
加法指令
加法指令注意事项:
源操作数和目的操作数不能同时为内存单元(MEM)。
不允许与段寄存器(SREG)相关的加法。
XADD指令的源操作数在寄存器(REG)中。
标志寄存器中状态位随运算结果而变化,但INC指令不影响CF标志。
指令中操作数是带符号数还是无符号数由程序员解释。
注意:第4章的数据传送指令不改变状态标志。
Example 1
例、试用加法指令对两个8位16进制数5EH和3CH求和,并分析加法运算指令执行后对标志位的影响。
解:
MOV AL, 5EH ;AL=5EH(94)
MOV BL, 3CH ;BL=3CH(50)
ADD AL, BL ;结果AL=9AH
运算后标志:ZF=0, AF=1, CF=0, SF=1, PF=1, OF=1。
若程序员认为两个加数是无符号数,则运算结果位9AH,即154。
此时,SF标志和OF标志没有意义。
若程序员认为两个加数是有符号数,则运算溢出,结果无效。
此时,CF标志没有意义。
CF标志和OF标志
当加减运算结果的最高有效位有进位(加法)或借位(减法)时,CF标志置1,即CF=1;否则CF=0。
针对无符号整数,判断加减结果是否超出表达范围。
N个二进制位表达无符号整数的范围:
0~2N-1
有符号数加减结果有溢出,则OF=1;否则OF=0。
针对有符号整数,判断加减结果是否超出表达范围。
N个二进制位表达有符号整数的范围:
-2N-1~2N-1-1
进位标志CF:举例
8位二进制数相加:
01111100十六进制表达:3A+7C=B6
转换成十进制数:58+124=182
没有产生进位:CF=0
8位二进制数相加:
01111100=[1十六进制表达:AA+7C=[1]26
转换成十进制数:170+124=294=256+38
产生进位:CF=1
0<182<255
进位1表达256
溢出标志OF:举例
8位二进制数相加:
01111100十六进制表达:3A+7C=B6
转换成十进制数:58+124=182
超出范围:OF=1
8位二进制数相加:
01111100=[1十六进制表达:AA+7C=[1]26
转换成十进制数:-86+124=38
没有超出范围:OF=0
182>127
补码AAH表达-86
Example 2
设一个学生的三门课的成绩分别为60、65、90,入学分数线为总分256分,判断该学生是否取得入学资格。
;采用无符号数表示
MOV AL, 60
ADD AL, 65
ADD AL, 90
JC PASS;超过256分?
……
PASS:
……;取得入学资格
设张三在海拔60米的地点,他先往上走了65米,然后又往上走了90米,请问他现在所在地点的海拔高度?
;为便于表示低于海平面的
;情况,采用有符号数表示
MOV AL, 60
ADD AL, 65
JO ERROR;(AL)ADD AL, 90
JO ERROR;(AL)……
ERROR:
……;错误处理
进位和溢出的区别
进位标志反映无符号整数运算结果是否超出范围
有进位,加上进位或借位后运算结果仍然正确
溢出标志反映有符号整数运算结果是否超出范围
有溢出,运算结果已经不正确
处理器按照无符号整数求得结果
在设置进位标志CF的同时,根据是否超出有符号整数的范围设置溢出标志OF。
应该利用哪个标志,由程序员决定!
操作数是无符号数,关心进位
您可能关注的文档
最近下载
- 2024年疟疾防治知识培训考试题含答案.doc
- 2024年浙江温州湾新区龙湾区国有企业招聘笔试参考题库附带答案详解.pdf
- 2023年滨州医学院公共课《马克思主义基本原理概论》期末试卷B(有答案).docx VIP
- 施耐德2022《低压产品选型手册》.pdf VIP
- 2023-2024学年广东省广州市天河区七年级(上)期末数学试卷及答案解析.pdf
- 规范《GB755-2008-旋转电机定额和性能》.pdf
- 【华南师大】2021年春《现代教育技术学》客观题作业【70136】.doc
- 2024年7月国家开放大学本科《政府经济学》期末纸质考试试题及答案.pdf VIP
- 大型发电厂保安服务实施方案.docx VIP
- 2020-2021学年江苏省徐州市九年级(上)期末化学试卷含解析.doc VIP
文档评论(0)