31 80X86指令系统.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
31 80X86指令系统

哈哈 第 4 章---80X86指令系统 8086/8088指令格式 第 4 章---80X86指令系统 8086/8088指令格式 定义 定义 REG字段编码表 MOD字段编码表 MOD与R/M字段组合的寻址方式 定义 8086/8088指令格式 8086的寻址方式(addressing mode) 8086/8088指令格式 8086/8088的指令系统 1、数据传送指令 输入输出指令(I/O指令) 输入输出指令(I/O指令) 输入输出指令(I/O指令) 输入输出指令(I/O指令) 2、算术运算类指令 3、位操作指令 5、控制转移指令 1)段内直接调用 指令格式: CALL 过程名 功 能: SP←SP-2,[SP+1][SP]←IP, IP←IP+displ6 操作说明: 被调用过程是在本代码段内。CALL指令将IP(返回地址)压入堆栈,然后将CALL的下一条指令与被调用过程入口地址之间的16位相对位移量displ6加到IP上,使控制转到被调用的过程。 3)段间直接调用 指令格式: CALL FAR PTR 过程名 功 能: SP←SP—2,[SP+1][SP] ←CS,CS←SEG FAR-PROC SP←SP—2,[SP+1][SP] ←IP,IP←OFFSET FAR-PROC 操作说明: 被调用过程是一个远过程,该过程不在现行代码段内。段间直接调用指令首先将CS(断点的段基址)压入堆栈,并将远过程所在的段基址SEG FAR—PROC送CS;再将IP(断点的偏移地址)压入堆栈,然后将远过程的偏移地址OFFSETFAR-PROC送IP。 CALL SUB-PROCA ;段内直接调用 CALL FAR PTR SUB-PROCX ;段间直接调用 5、处理器控制指令 本 章 小 结 1. 转移指令 转移类指令可以改变代码段寄存器CS与指令指针IP的值或仅改变IP的值,从而可以改变指令执行的顺序,以满足程序分支或跳转的需要。 (1)无条件转移指令JMP 格式:JMP OPRD ;OPRD是转移的目的地址 功能:转移到目的地址所指示的指令去执行。 如:JMP NEXT JMP NEXT ;为段内直接转移 (2)条件转移指令 指令格式: JCC 目标标号 操作说明:指令中的“CC”表示条件。以一个标志位或几个标志位的逻辑运算结果作为依据,判断是否实现转移。 条件转移指令常常与影响状态标志位的指令如算术、 逻辑运算指令配合使用。 (1)根据单个标志位的条件转移指令 根据某一字节带符号数X是正、是零还是负数分别转移至标号为PLUS、ZERO、MINUS处执行: MOV AL,X OR AL,AL JS MINUS JZ ZERO PLUS: …… ┆ MINUS: …… ┆ ZERO: …… (2)根据复合标志位的条件转移指令 2. 循环控制指令 循环转移指令控制转移的距离在-128~+127的范围内。 其指令格式为: LOOPXX 目标标号 LOOP指令等效于下列指令 DEC CX JNZ 目标标号 使用循环控制指令,应在循环程序开始前, 将循环次数送CX寄存器。 例:有一个首地址为ARRAY的M字数组,试编写一个程序:求出该数组的内容之和(不考虑溢出),并把结果存入TOTAL中 MOV CX,M MOV AX,0 MOV SI,AX START_LOOP:ADD AX,ARRAY[SI] ADD SI,2 LOOP START_LOOP MOV TOTAL,AX 3. 过程调用和返回指令 (1)过程调用指令 子程序有近程和远程两类。近程子程序只能被同一代码段内的程序所调用(段内调用),调用时CALL指令改变IP的值,从而转向子程序执行;远程子程序可以被本代码段,也可以被其他代码段的程序所调用(段间调用),调用时CALL指令要同时改变CS和IP的值,才能转入该子程序执行。 Ⅰ.数据传送,由目的《--- 源 MOV dst,src ;(dst)←(src) 例:MOV AX,BX ;寄存器

文档评论(0)

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

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档