[理学]计算机组成原理与汇编语言电子教案第九章.pptVIP

[理学]计算机组成原理与汇编语言电子教案第九章.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[理学]计算机组成原理与汇编语言电子教案第九章

第九章 顺序程序设计 算术运算指令 位运算指令 输入/输出系统功能调用 简单程序设计举例 第1节.算术运算指令 1.加法指令 1)不带进位加法指令ADD 格式: ADDOPD,OPS 执行的操作:OPD + OPS → OPD 例如:ADD EAX,EBX;EAX+EBX→ EAX 若指令执行前CF=0,EAX,EBX。 则指令执行后EAX,CF=0。 2)带进位加法指令ADC 格式:ADC OPD,OPS 执行的操作:OPD十OPS+CF→OPD 其中CF为进位位的值。 例如:ADCAX,DX;AX+DX→AX 若指令执行前 CF=1,AX=1234H,DX=0112H。 则指令执行后 EAX=1347H,CF=0。 3)增量指令INC 格式: INCOPD 执行的操作:OPD +1→ OPD 例如: INC DX;DX+1→DX 若指令执行前 CF=1,DX=3562H。 则指令执行后 DX=3563H,CF=1。 2. 减法指令 1)不带借位减法指令SUB 格式: SUBOPD, OPS 执行的操作: OPD-OPS → OPD 例如:SUB AX,DX;AX-DX→AX 若指令执行前 CF=1,AX=1234H,DX=0100H。 则指令执行后 AX=1134H,CF=0。 2)带借位减法指令SBB 格式:SBBOPD, OPS 执行的操作:OPD – OPS-CF→ OPD 其中CF为进位位的值。 例如:SBBAX,DX 若指令执行前CF=1,AX=1234H,DX=0100H。 则指令执行后AX=1133H,CF=0。 3)减量指令DEC 格式:DECOPD 执行的操作: OPD 一1→ OPD 例如:DECCX;CX-1→AX 若指令执行前CF=0,CX=1000H。 则指令执行后AX=0FFFH,CF=0 4)算术比较指令CMP 格式:CMPOPD ,OPS 执行的操作:OPD - OPS 该指令与SUB指令一样执行减法操作,但它并不保存结果,只是根据结果设置条件标志位。CMP指令后往往跟一条条件转移指令,根据比较结果产生不同的程序分支。 3.乘法指令 MUL无符号数乘法 IMUL带符号数乘法 1)MUL无符号数乘法指令 格式:MULOPS 执行的操作: 字节操作数:AL* OPS→AX 字操作数:AX* OPS→DX:AX 双字操作数:EAX* OPS→EDX:EAX 2)IMUL带符号数乘法指令 格式:IMULOPS 执行的操作与MUL相同,但必须是带符号数,而MUL是无符号数。 例如:IMULCL 若指令执行前AL=0B4H,CL=11H 则指令执行后AX=0FAF4H。 4.除法指令 DIV无符号数除法指令 IDIV带符号数除法指令  1)DIV无符号数除法指令 格式:DIVOPS 若OPS为字节类型,则: AX/OPS的商→AL AX/OPS的余数→AH 若OPS为字类型,则: DX:AX/OPS的商→AXDX:AX/OPS的余数→DX 若OPS为双字类型,则: EDX:EAX/OPS的商→EAXEDX:EAX/OPS的余数→EDX 以上几种形式商和余数均为无符号数。 2)IDIV带符号数除法指令 格式:IDIVOPS 执行的操作:与DIV相同,但操作数必须是带符号数,商和余数也都是带符号数,且余数的符号和被除数的符号相同。 例如:IDIVBL 若指令执行前AX=0400H,BL=0B4H。 则指令执行后AL=0F3H(商),AH=24H(余数) 6.调整指令 1)DAA加法的压缩BCD码十进制调整指令 格式:DAA 这条指令之前必须执行ADD或ADC指令。加法指令必须把两个压缩BCD码相加,并把相加结果存放在AL寄存器中。 如果AF标志(辅助进位位)为1,或者AL寄存器的低4位是16进制的A~F中的任意一位数,则AL 寄存器内容加06H修正,且将AF位置1; 2)DAS减法的压缩BCD码十进制调整指令 格式:DAS 执行的操作:把AL中的两个压缩BCD码之差调整成压缩BCD码的格式→AL。 应该注意的是,在执行这条指令之前,必须先执行SUB或SBB指令。 如果AF标志为1,或者AL寄存器的低4位是16进制的A~F中的任意一位数,则AL寄存器的内容减06H,且将AF位置1; 如果CF标志为1,或者AL寄存器的高4位是16进制的A~F中的任意一位数,则AL寄存器内容减60H,并将CF位置1。 如果AL寄存器的高4位和低4位都满足以上条件,则将AL寄存器的内容减66H。 3)AAA加法的非压缩BCD码调整指令 本指令的调整步骤是: ①如AL寄存器的低4位在A~F之间或AF为1,则AL寄存器的内容加06H,AH寄存器的内容加1,并将

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档