网站大量收购闲置独家精品文档,联系QQ:2885784924

微机原理及应用-chap4-2013.ppt

  1. 1、本文档共175页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Review REVIEW 特征 助记符 转移条件 说明 多 标 志 位 JA / JNBE CF∨ZF=0 无符号数 大于 或 不小于等于 转移 JBE / JNA CF∨ZF=1 小于等于 或 不大于 转移 JGE/ JNL SF⊕OF=0 符号数 大于等于 或 不小于 转移 JL/ JNGE SF⊕OF=1 小于 或 不大于等于 转移 JG/ JNLE (SF⊕OF)∨ZF=0 大于 或 不小于等于 转移 JLE/ JNG (SF⊕OF)∨ZF=1 小于等于 或 不大于 转移 CX JCXZ CX=0 ? 【例】比较两个字属性的符号数X,Y的大小,如果XY,AL为1,如果X=Y,AL为0,如果XY,AL为0FFH。 解:设X、Y为内存变量,功能实现主要代码如下:MOV AX,XCMP AX,YJLE LE ;小于等于(不大于)MOV AL,1;X Y,AL=1JMP DONE LE:JL L;小于MOV AL,00H ;X = Y,AL=00HJMP DONE L:MOV AL,0FFH ;X Y,AL=0FFH DONE:HLT 2、循环控制指令 循环控制指令用于使一些程序段反复执行形成循环程序。 循环控制指令有三种: (1)、LOOP (Loop) 循环指令 (2)、LOOPE/LOOPZ (Loop if equal / Loop if zero)当相等/为“0”循环 (3)、LOOPNE/LOOPNZ (Loop if not equal/ Loop if not zero)当不相等/不为“0”循环循环指程序段在一定条件下重复执行。循环指令提供了程序段循环的控制及手段。这些指令都用CX寄存器作为循环次数计算器,表示某程序段最大循环次数,且循环体每执行一次,CX被减去1。8086/8088CPU规定被循环的程序段必须在同一段内,且长度不能大于256字节。循环控制指令有3条:循环指令LOOP、相等循环指令LOOPE/LOOPZ、不相等循环指令LOOPNE/LOOPNZ,其格式及功能如表所示: 格式 : LOOP xx  符号地址 执行操作 : ①(CX) ← (CX)- 1 此操作不影响标志 ② 检查转移条件xx,满足转向目标地址去执行;不满足执行LOOPxx后一条指令 转移方式 只允许段内直接短方式,跳转范围-128~127 助记符 转移条件 不转移条件 LOOP CX≠0 CX=0 LOOPZ CX≠0且ZF=1 CX=0或ZF=0 LOOPNZ CX≠0且ZF=0 CX=0或ZF=1 (3) 过程调用指令 如果有一些程序段在不同地方反复出现,可以将这些程序段设计成为过程(子程序)供调用。过程结束,返回调用处。两者均不影响标志位,但影响堆栈。 过程调用指令包括:过程调用指令和返回指令 (1) CALL( Call a procedure)调用CALL调用指令段内直接调用 段间直接调用 段内间接调用 段间间接调用 (2) RET( Return from procedure)返回RET返回指令 段内返回 段间返回 段内带立即数返回 段间带立即数返回 调用类型 寻址方式 格 式 操 作 示 例 说 明 段内调用 直接 CALL proc-name ①IP入栈; ②IP ← IP + 偏移量 CALL SUB1 CALL 2800H ①段内调用,CS不变 ②FAR PTR表示段间调用 ③DWORD PTR表明内存操作数属性为双字,用于段间调用 CALL disp16 间接 CALL r16 / m16 ①IP入栈; ②IP← (r16)/ (m16) CALL BX CALL WORD PTR [BX] 段间调用 直接 CALL FAR proc-name ① CS入栈 ② IP入栈③ CS←过程的段地址④ IP←过程的偏移地址 JMP FAR PTR NEXT 间接 CALL mem32 ①CS入栈;②IP入栈③IP← (EA+1,EA) ④ CS (EA+3,EA+2) CALL DWORD PTR [BX] (1) 过程调用指令 CALL 返回类型 格式 操作 说明 段内 RET ① IP出栈 格式RET exp,允许在返回的同时,修改堆栈指针。exp取值为偶数。 RET exp ① IP出栈 ② SP ← SP + exp 段间 RET ① IP出栈 ② CS出栈 RET exp ① IP出栈 ② CS出栈 ③ SP ← SP + exp (2) 返回指令 RET 4、中断指令8086/8088CPU 可以在程序中安排一条中断指令引起中断

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档