微机原理课件第4单元.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 二、算术运算指令 (一)、加法指令 1、ADD 不带进位加指令 指令格式:ADD OPD,OPS 指令功能:OPD ←(OPD)十(OPS) 2、ADC 带进位加指令 指令格式:ADC OPD,OPS 指令功能:OPD ←(OPD)十(OPS)十CF 3、INC 加1指令(增量指令) 指令格式: INC OPD 指令功能: OPD ←(OPD)十1 (*)该指令常用于循环结构程序中修改指针或用于循环计数。 (*)对标志位的影响 例题:两个4字节的无符号数相加,结果存放在4000H开始的内存中,这两个4字节的无符号数是 分别存放在2000H的1008423H和3000H的20007F00,写出指令序列。 (二)、减法指令 1、SUB 不带借位的减法指令 指令格式: SUB OPD,OPS 指令功能: OPD←(OPD)-(OPS) 2、SBB 带借位的减法指令 指令格式: SBB OPD,OPS 指令功能: OPD←(OPD)-(OPS)-CF 3、DEC 减1/减量指令 指令格式: DEC OPD) 指令功能: OPD ←(OPI)-1 4、NEG 求补指令 指令格式: NEG OPD 指令功能: OPD ←0 -(OPD) OFFH-(OPD)十1(OPD为字节时) 或 OFFFFH-(OPD)十1(OPD为字时) 5、 CMP 比较指令 指令格式: CMP OPD,OPS 指令功能 : (OPD)-(OPS)仅置标志位不影 响OPD的值 两个数比较后,根据标志位判断比较结果 1、无符号数 (1): ZF=1,相等。 (2): CF=0,被减数大。 (3): CF=1,被减数小。 2、有符号数 (1): ZF=1,相等。 (2): SF异或OF,结果=0 ,被减数大。 (3): SF异或OF,结果=1 ,被减数小。 例题:将从内存偏移地址2000H开始的99个字节的无符号数和从内存偏移地址3000H开始的99个字节的无符号数相加,结果存放回到2000开始的内存单元中。 mov si,2000h mov di,3000h mov cx,99 ;加一条清除进位标志指令(第一次就使用带进位加法)(clc) Lab: mov al,[si] adc al,[di] mov [si],al inc si inc di dec cx ;加一条判断zf标志并根据判断结果转移的指令(继续或终止循环)(jnz lab) mov al,0 adc al,0 mov [si],al 例题:设X,Y,Z,W均为双精度数,它们分别存放在,X,X+2;Y;Y+2; Z,Z+2;的存储单元中且为高字高地址。写出实现下列式子的指令序列 W←X+Y+24-Z MOV AX,X MOV DX,X+2 ADD AX,Y ADC DX,Y+2 ; X+Y ADD AX,24 ADC DX,0 ; +24 SUB AX,Z SBB DX,Z+2 ; -Z MOV W,AX MOV W+2,DX ;存入W (三)、乘(除)法指令 1、 MUL(IMUL) 无符号数乘法指令(带符号数乘法指令) 指令格式: MUL OPS(IMUL OPS) 指令功能: AX ← (AL)×(OPS) (OPS类型为字节) DX,AX ← (AX)×(OPS) (OPS类型为字) 2、 DIV(IDIV)无符号数除法指令(有符号数除法指令) 指令格式: DIV OPS( IDIV OPS) 字节除法:(AX) ÷(OPS) → AL(商)、AH(余数) 字除法: (DX,AX) ÷(OPS) →Ax(商)、DX(余数) (*)源操作数OPS可以是寄存器或存储器操作数,但不能是立即数 (*)操作数是有符号还是无符号由使用的指令来决定 (*)有一个操作数是隐含的 (*)除法余数的符号与被除数相同,被除数要比除数长一倍 3、有符号数的扩展指令(最高位向前扩展) CB

文档评论(0)

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

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

1亿VIP精品文档

相关文档