已阅读5页,还剩86页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章8086指令系统 指令类型 8086 8088的指令一共有9个大类 数据传送指令 算术运算指令 逻辑运算指令 移位指令 转移控制指令 串操作指令 处理机控制指令 输入 输出指令 中断指令 第2章指令系统 数据传送指令 数据传送指令包含4类 通用数据传送指令 堆栈操作指令 交换指令 有效地址传送指令 第2章指令系统 1 通用数据传送指令 指令格式 MOV目标操作数 源操作数 指令用途 将源操作数赋值给目标操作数 目标操作数 源操作数 第2章指令系统 1 通用数据传送指令 源操作数可以是以下之一 立即数 通用寄存器 段寄存器 存储器 第2章指令系统 1 通用数据传送指令 目标操作数可以是以下之一 通用寄存器 段寄存器 存储器 第2章指令系统 1 通用数据传送指令 通过源操作数和目标操作数的组合 一共有12种情况 但有3种情况被禁止 数据传送指令一共有9种情况 第2章指令系统 1 9类通用数据传送指令 通用寄存器到通用寄存器 立即数到通用寄存器 立即数到存储器 存储器到通用寄存器 通用寄存器到存储器 第2章指令系统 1 9类通用数据传送指令 通用寄存器到段寄存器 CS段除外 段寄存器到通用寄存器 存储器到段寄存器 CS段除外 段寄存器到存储器 第2章指令系统 通用寄存器到通用寄存器 MOVAX BX 源操作数和目标操作数都使用寄存器寻址方式 第2章指令系统 立即数到通用寄存器 MOVAX 05H 目标操作数使用寄存器寻址方式 源操作数使用立即寻址方式 第2章指令系统 立即数到存储器 MOVBYTEPTR 1000H 05H 目标操作数使用针对存储器寻址方式的一种 源操作数使用立即寻址方式 第2章指令系统 立即数到存储器 1 目标操作数必须指明其属性是字还是字节 注意 2 属性的指出使用关键字PTR实现 3 必须指出存储器属性的原因在于 数据传送指令既可以实现字节传送 也可以实现字传送 而立即数即可以理解为字节 也可以理解为字 故必须指明传递的属性 第2章指令系统 存储器到通用寄存器 MOVAX 2000H 目标操作数使用寄存器寻址方式 源操作数使用针对存储器使用的寻址方式 第2章指令系统 通用寄存器到存储器 MOV 2000H AX 第2章指令系统 通用寄存器到段寄存器 CS段除外 MOVDS AX 第2章指令系统 段寄存器到通用寄存器 MOVAX DS 第2章指令系统 存储器到段寄存器 CS段除外 MOVDS 2000H 第2章指令系统 段寄存器到存储器 MOV 2000H DS 第2章指令系统 通用数据传送指令使用注意事项 1 两个操作数类型必须都为字 或都必须为字节 或一个类型确定 一个类型不确定 传送的类型以确定的为准 MOVAX BX MOVAX BL MOVAX 3000H 第2章指令系统 通用数据传送指令使用注意事项 2 不允许在存储器之间直接传送 MOV 2000H 3000H 第2章指令系统 通用数据传送指令使用注意事项 3 不允许在两个段寄存器间直接传递 MOVDS ES 第2章指令系统 通用数据传送指令使用注意事项 4 不允许用立即数直接传送给段寄存器 MOVDS 1000H 第2章指令系统 通用数据传送指令使用注意事项 5 段寄存器CS不可以做目的操作数 MOVCS AX 第2章指令系统 2 堆栈及堆栈操作指令 堆栈的概念 1 堆栈为一段存储区 2 堆栈的访问不用给定存储器的地址 由硬件系统自动给出 3 堆栈的访问规则 因访问堆栈时 存储器地址由硬件自动生成 故不能实现对堆栈区的随机访问 只能实现先进后出的访问规则 第2章指令系统 2 堆栈及堆栈操作指令 堆栈的概念 4 栈底 堆栈开始的位置 5 栈顶 堆栈最上面一个数据所处的位置 3 栈顶指针 用于保存栈顶的地址 4 堆栈的访问 总是读写栈顶指针所指向的存储单元 6 栈顶指针在一次堆栈操作之前或之后自动发生变化 第2章指令系统 2 堆栈及堆栈操作指令 堆栈的概念 7 入栈 数据保存到栈顶指针所指向的单元 8 出栈 从栈顶指针所指向的单元读取数据 第2章指令系统 8086中堆栈的管理 有2个专门的寄存器实现对堆栈的管理 SS SP SS用于存放堆栈段逻辑地址的段基址部分 SP用于存放堆栈段逻辑地址的段内偏移部分 堆栈由高地址向低地址方向增长 堆栈只能是字操作 SP的变化量为2 第2章指令系统 8086中堆栈的管理 堆栈的初始化 1 确定堆栈段的段基址 初始化堆栈段段寄存器SS 2 确定堆栈栈顶位置 初始化SP 第2章指令系统 8086中堆栈的操作 堆栈有两种操作 1 入栈 把数据存入堆栈 2 出栈 从栈顶指针所指向的单元中读出数据 同时删除该数据 第2章指令系统 8086中堆栈的操作 入栈指令 PUSHOPS 操作数 只能是通用寄存器 段寄存器 存储器之一 且必须是字操作 第2章指令系统 8086中堆栈的操作 出栈指令 POPOPD 操作数 只能是通用寄存器 段寄存器 CS除外 存储器之一 且必须是字操作 第2章指令系统 8086中堆栈的操作 堆栈操作注意事项 1 入栈的操作数不能是立即数 出栈的操作数不能是CS 2 每入栈一次 SP减2 每出栈一次 SP加2 3 多个数据入栈后 出栈的顺序应该注意 要与入栈时相反 第2章指令系统 3 交换指令 作用 实现源操作数与目标操作数的互换 指令格式 XCHGOPD OPS 第2章指令系统 3 交换指令 注意事项 目标操作数可以是通用寄存器或存储器 但不允许同时为存储器 示例 XCHGAX 2000H 思考 如何实现2个存储单元的内容互换 第2章指令系统 4 有效地址传送指令 作用 把源操作数的偏移量送到目标操作数中 指令格式 LEAOPD OPS 第2章指令系统 4 有效地址传送指令 注意事项 目标操作数只能是存储器操作数 示例 LEAAX SI BX 第2章指令系统 算术运算指令 算术运算指令包含 加法指令 减法指令 乘法指令 除法指令 符号扩展指令 第2章指令系统 1 1 二进制加法指令 指令格式 ADDOPD OPS 指令作用 OPD OPD OPS 第2章指令系统 1 1 二进制加法指令 注意事项 源操作数可以是立即数 通用寄存器 存储器 目标操作数可以是通用寄存器 存储器 不允许源操作数与目标操作数同时为存储器数 第2章指令系统 1 1 二进制加法指令 示例 ADDAX BX ADDAX BX ADDBYTEPTR BX 13H ADDAL 12H ADD DI AX 第2章指令系统 1 2 带进位二进制加法指令 指令格式 ADCOPD OPS 指令作用 OPD OPD OPS CF 第2章指令系统 1 2 带进位二进制加法指令 注意事项 除源操作数与目标操作数相加外 还要加上进位标志的值 其他注意事项与普通二进制加法相同 该指令主要用于多字节数据相加 思考 如何实现20080808H 20090909H 第2章指令系统 1 3 加1指令 指令格式 INCOPD 指令作用 OPD OPD 1 第2章指令系统 1 3 加1指令 注意事项 目标操作数可以是存储器数或通用寄存器 示例 INCAX INCBYTEPTR 2000H INCWORDPTR 2000H 第2章指令系统 2 1 二进制减法指令 指令格式 SUBOPD OPS 指令作用 OPD OPD OPS 第2章指令系统 2 1 二进制减法指令 注意事项 源操作数可以是立即数 通用寄存器 存储器 目标操作数可以是通用寄存器 存储器 不允许源操作数与目标操作数同时为存储器数 第2章指令系统 1 1 二进制减法指令 示例 SUBAX BX SUBAX BX SUBBYTEPTR BX 13H SUBAL 12H SUB DI AX 第2章指令系统 2 2 带借位二进制减法指令 指令格式 SBBOPD OPS 指令作用 OPD OPD OPS 第2章指令系统 2 2 带借位二进制减法指令 注意事项 除多减进位标志外 其余同一般二进制减法 第2章指令系统 2 2 带借位二进制减法指令 思考 如何实现20121212H 20010101H 第2章指令系统 2 3 减1指令 指令格式 DECOPD 指令作用 OPD OPD 1 第2章指令系统 2 3 减1指令 注意事项 同加1指令 示例 DECAX DECWORDPTR 2000H 第2章指令系统 2 4 比较指令 指令格式 CMPOPD OPS 指令作用 OPD OPS 根据运算结果修改标志寄存器 但不保存结果 第2章指令系统 2 4 比较指令 注意事项 除不保存结果外 其余与SUB指令一样 示例 CMPAX CX CMPAX 20H CMPBYTEPTR 2000H 20H 第2章指令系统 2 5 求补指令 指令格式 NEGOPD OPS 指令作用 OPD 0 OPD 第2章指令系统 2 5 求补指令 注意事项 同加1指令相同 示例 NEGAX 第2章指令系统 3 1 无符号乘法指令 指令格式 MULOPS 指令作用 实现字节或字无符号数相乘 字节 AX ALXOPS字 DX AX AXXOPS 第2章指令系统 3 1 无符号乘法指令 注意事项 操作数只能是寄存器数或存储器数 示例 MULBLMULBXMULBYTEPTR SI MULWORDPTR DI 50 第2章指令系统 3 2 有符号乘法指令 指令格式 IMULOPS 指令作用 实现字节或字有符号数相乘 字节 AX ALXOPS字 DX AX AXXOPS 第2章指令系统 3 2 有符号乘法指令 注意事项 与无符号数相同 第2章指令系统 3 3 无符号除法指令 指令格式 DIVOPS 指令作用 实现字节或字无符号数除法 字节 AL AX OPS的商AH AX OPS的余数 字 AX DX AX OPS的商DX DX AX OPS的余数 第2章指令系统 3 3 无符号除法指令 注意事项 操作数只能是寄存器数或存储器数 被除数的长度是除数的2倍 除数不能为0 否则产生除法错溢出 被除数的高位部分不能大于除数 否则产生除法溢出错误 第2章指令系统 3 4 符号扩展指令 字节扩展为字格式 CBW 指令作用 把AL中的符号位扩展到AH 字扩展为双字格式 CWD 指令作用 把AX中的符号位扩展到DX 第2章指令系统 3 4 符号扩展指令 例 在数据段内 自1000H开始的3个16位有符号数A B C 分别为7856H CB9AH 3412H 编程实现 AXB C A 结果的余数存入AX 商存入DX 第2章指令系统 逻辑运算及移位指令 逻辑运算指令包含 逻辑与指令 逻辑或指令 逻辑非指令 逻辑异或指令 测试指令 第2章指令系统 4 1 逻辑与指令 指令格式 ANDOPD OPS 指令作用 实现目标操作数与源操作数的按位相与 结果送回目标操作数 OPD OPD OPS 按位与主要用于实现对目标操作数的一些位清零 第2章指令系统 4 1 逻辑与指令 示例 ANDAX 1234H ANDAL BH ANDAX BX ANDBYTEPTR1000H 12H AND DI CX 第2章指令系统 4 2 逻辑或指令 指令格式 OROPD OPS 指令作用 实现目标操作数与源操作数的按位相或 结果送回目标操作数 OPD OPD OPS 按位与主要用于实现对目标操作数的一些位置1 第2章指令系统 4 3 逻辑非指令 指令格式 NOTOPD 指令作用 实现目标操作数按位取反 OPD OPD 示例 NOTAX NOTBL NOTBYTEPTR 3000H 第2章指令系统 4 4 逻辑异或指令 指令格式 XOROPD OPS 指令作用 实现目标操作数与源操作数的按位相或 结果送回目标操作数 OPD OPD OPS 按位与主要用于实现对目标操作数的一些位取反 第2章指令系统 4 5 测试指令 指令格式 TESTOPD OPS 指令作用 实现目标操作数与源操作数的按位相与 结果不保存 但影响标志位 主要用于检测目标操作数的一些位是否为期望值 第2章指令系统 逻辑运算及移位指令 移位指令包含 逻辑左移指令 逻辑右移指令 算术左移指令 算术右移指令 循环左移指令 循环右移指令 带进位循环左移指令 带进位循环右移指令 第2章指令系统 5 1 逻辑左移 指令格式 SHLOPD COUNT 指令作用 将目标操作数左移COUNT位 移除位到CF 低位补0 第2章指令系统 5 1 逻辑左移 注意事项 当移位次数大于1时 移位次数必须放入CL中 SHLAX 3 MOVCL 3SHLAX CL 第2章指令系统 5 2 逻辑右移 指令格式 SHROPD COUNT 指令作用 将目标操作数右移COUNT位 移除位到CF 高位补0 第2章指令系统 5 3 算术左移 指令格式 SALOPD COUNT 指令作用 同SHL 第2章指令系统 5 4 算术右移 指令格式 SAROPD COUNT 指令作用 将目标操作数右移COUNT位 最高位补符号位 移出位到CF中 第2章指令系统 5 5 循环左移 指令格式 ROLOPD COUNT 指令作用 将目标操作数左移COUNT位 移除位用于填补最低位 同时移除位进入CF 第2章指令系统 5 6 循环右移 指令格式 ROROPD COUNT 指令作用 将目标操作数右移COUNT位 移除位用于填补最高位 同时移除位进入CF 第2章指令系统 5 7 带进位循环左移 指令格式 RCLOPD COUNT 指令作用 将目标操作数左移COUNT位 移除位进入CF 同时用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 发电部值长安全职责培训
- 变电站设备交接验收制度培训
- 2026爱面试题库及答案
- 井下中央变电所消防管理制度培训
- 卓越班组建设与班组长综合胜任能力提升
- 矿用防爆锂离子蓄电池电源安全技术要求培训
- 工程施工临边防护的规定
- 高端医疗理赔外包合同
- T∕XYZJY 009-2026郴心服务涉旅企业旅游服务规范 第9部分:休闲农业庄园
- 品牌全网推广外包合同
- 河道木桩护岸施工方案
- 2026年上海市虹口区中考历史二模试卷(含答案)
- 国资委安全生产十条硬措施
- 七年级苏教版数学重难点讲解
- 物业采购报销制度及流程
- 《惟妙惟肖》教学课件-2025-2026学年湘美版(新教材)初中美术八年级下册
- 2026校招:中国农业发展真题及答案
- 石家庄国控城市发展投资集团有限责任公司招聘笔试题库2026
- 化工生产企业安全培训教学课件
- 2026届高考语文复习:理解性默写图画意境类+课件
- 2026年亚马逊运营岗位高频常见面试题
评论
0/150
提交评论