计算机硬件技术--第3章微处理器指令系统讲解.ppt

计算机硬件技术--第3章微处理器指令系统讲解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* PUSH [2300H] PUSH CS 但 POP CS 错 PUSH , POP 指令的操作数可以是寄存器或存储单元,不可以是立即数! * 标志位影响情况:影响S, Z, A, P, O;不影响C。 * PTR为属性转换操作 * 该指令影响标志位: A、C、O、P、S、Z标志。 * 指令影响标志位 * 标志位影响情况:影响S,Z,A,P,O;不影响C。 * 影响标志:A、C、O、P、S、Z。 C: 操作数为0时求补,C=0 ; 一般使C=1. O: 对-128 或-32768求补,O=1; 否则O=0. * 商和余数是带符号的:商的符号符合一般代数符号规则,余数的符号与被除数相同。 * 以9+4和9+9为例,讲述调整的两种情况,以及标志位的A的作用。 * 逻辑运算指令执行后CF,OF为0,AF未定义,其他标志位根据结果确定。 清除CF、OF AND AL,AL (AND AL,0FFH;OR BL,BL;……) 类似指令没有改变目的操作数,但使CF=OF=0,也可能纯粹以设置其他标志(ZF)为目的。 * * 两条左移指令对应同一机器指令,所以,从机器指令的角度来说,移位指令只有三条。 MOV CL, 2 SAL AH,CL ; * 串操作指令对SI和DI寄存器的修改与两个因素有关,一是和被处理的串是字节串还是字串有关;二是和当前的方向标志DF的状态有关。 * 条件转移指令是根据CPU执行上一条指令时,某一个或某几个标志位的状态而决定是否控制程序转移。 * * Even 偶数 Odd 奇数 条件转移指令的条件可设置为不需要特殊对待的条件 需个性对待,单独处理的操作放在条件转移指令后 * 3.5 串操作指令 8086有5种基本串操作: MOVS(Move string) 串传送指令 CMPS(Compare string) 串比较指令 SCAS(Scan string) 串扫描指令 LODS(Load from string) 取串指令 STOS (Store in to string) 存串指令 JUST 3.6 程序控制类指令 控制传送指令包括四种: 转移指令(条件转移、无条件转移3.6.1,3.6.2) 循环控制指令(3.6.3) 过程调用指令(3.6.1 P.114) 中断指令(3.6.4) JUST JUST (一)转移指令 转移指令控制程序从一处转换到另一处执行。 在CPU内部,转移是通过将目标地址传送给IP来实现的。 转移指令包括两种:无条件转移指令、条件转移指令 1、无条件转移指令JMP(Jump) 格式:JMP 语句标号 JMP LP; 3.6.2条件转移指令 JUST 2、条件转移指令 1)根据单个条件标志转移 ① Z标志 JZ/JNZ ; JE/JNE Jump on Zero; Jump on Equal ② C标志 JC/JNC ③ P标志 JP/JNP;JPE/JPO Jump on Parity; Jump on Even ;Jump on Odd JUST ④ S标志 JS/JNS ⑤ O标志 JO/JNO 2)根据两个无符号数大小关系转移(高于、低于) JB、JNAE;JA、JNBE JBE、JNA;JAE、JNB JZ(或JE)/JNZ(或JNE) JB:Jump on Below; JAE:Jump on Above or Equal JUST 3)根据两个带符号数比较结果转移(大于,小于) JL(JNGE) JLE(JNG) JG(JNLE) JGE(JNL) L — Less;G — Greater; E — Equal 注意:所有条件转移指令都是段内(-128~+127)范围内转移。 JUST 标志转移指令举例 计算 X-Y的绝对值 ,X和Y为16位操作数,结果存入result MOV AX,X; SUB AX,Y; JNS NO_NEG;//(X-Y)如为正数,不求绝对值 NEG AX ; //求绝对值 NO_NEG:MOV result, AX;//保存结果 JUST 根据无符号数大小关系转移举例 AX和BX

文档评论(0)

ccx55855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档