- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机软件及应用]微机原理与应用教案四
3.2 指令系统(7)――算术运算:减法指令
教学目的:
1、理解掌握减法指令SUB、SBB、DEC、CMP、NEG的执行过程及对标志位的影响;
2、能熟练运用五种减法指令进行简单编程,会正确判断有符号数和无符号数的溢出情况。
教学重点及难点:
减法运算的条件码设置
教学过程:
一、复习引入
1、加法运算的条件码设置方法?(重点是CF、OF)
2、减法运算条件码设置方法:
① CF表示无符号数的溢出情况
CF=或
② OF表示无符号数的溢出情况
OF=D7CY⊕D6CY或D15CY⊕D14CY
二、新课
㈠、 五个减法指令
1、SUB减法指令
格式: SUB DST,SRC
执行过程:DST←(DST)-(SRC) 主要用于字节、字运算
2、SBB带借位减法指令
格式: SBB DST,SRC
执行过程:DST←(DST)-(SRC)-CF 主要用于双字运算
3、DEC减1指令
格式: DEC OPR
执行过程:OPR←(OPR)-1 主要用于修改地址指针或计数器
4、CMP比较指令
格式: CMP OPR1,OPR2
执行过程:(OPR1)-(OPR2) ※CMP与SUB一样,但不保存结果
5、NEG 求补指令
格式: NEG OPR
执行过程:OPR←0FFFFH + 1 -(OPR) ;相当于0-(OPR)
※可用于求绝对值运算,即按位取反后加1,因为0FFFFH + 1=10000H,若为16位,则相当于0-(OPR)
㈡、 减法指令中标志位的影响
[例1]、假定(BL)=64H,(DL)=03H,(PSW)=0000H,请叙述指令
SUB BL,DL
的执行过程、结果及标志位情况。
十六 补码加法 无符号数 有符号数
CF==0 SF=0 AF==0
OF=1⊕1=0 ZF=0 PF=0
(BL)=61H (PSW)=0000H
[例2]、(由学生自行完成)
假定(AL)=04H,(PSW)=0001H,请叙述指令
SBB AL,03
的执行过程、结果及标志位情况。
二进制 补码加法 无符号数 有符号数
CF==0 SF=0 AF==0
OF=1⊕1=0 ZF=1 PF=1
(AL)=0H (PSW)=0044H
[学生练习1]
指令 SUB [SI+14],0136H
如果指令执行前 (DS)=3000H,(SI)=0040H,(30054H)=4336H,(PSW)=0000H,则执行后:
① (30054H)=?4200H (PSW)=?0004H
② 请叙述指令的执行过程。
[学生练习2]
指令 SUB DH,[BP+4]
如果指令执行前 (DH)=41H,(SS)=0000H,(BP)=00E4H,(000E8H)=5AH,(PSW)=0000H则执行后:
① (DH)=?0E7H (PSW)=?0095H
② 请叙述指令的执行过程。
[例3]、按要求编写指令序列,完成下列运算:
(A)- (B) →C
① A、B、C均为存放8位带符号数的单元地址;
② A、B、C均为存放16位带符号数的单元地址;
③A、B均为双精度数,分别存放A、A+2;B、B+2的存储单元中,存放时高位字在高地址,低位字在低地址,结果存放在C、C+2单元中。
参考程序:
① MOV AL,A ② MOV AX,A
SUB AL,B SUB AX,B
MOV C, AL MOV C,AX
③ MOV AX,A
SUB AX,B
MOV C,AX
MOV AX,A+2
SUB AX,B+2
MOV C+2,AX
[学生练习3]
设X、Y、Z均为双精度数,它们分别存放在地址为X,X+2;Y,Y+2;Z,Z+2的存储单元中,存放进高位字在高地址中,低位字在低地址。要求:分别在8086和80386中编写指令序列实现:
W←X+Y+24-Z
并用W,W+2单元存放运算结果。
参考程序:
8086中: 80386中:
MOV AX,X MOV EAX, X
MOV DX,X+2 ADD EAX, Y
ADD AX, Y ADD EAX, 24
ADC DX, Y+2 SUB EAX, Z
ADD AX, 24 MOV W, EAX
ADC DX, 0
SUB AX, Z
SBB DX, Z+2
MOV W, AX
MOV W+2, DX
三、小结与作业
1、五种指令:
SUB减法指令 主要用
原创力文档


文档评论(0)