版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 8086指令系统v指令类型 8086/8088的指令一共有9个大类数据传送指令算术运算指令逻辑运算指令移位指令转移控制指令串操作指令处理机控制指令输入/输出指令中断指令第2章 指令系统v数据传送指令 数据传送指令包含4类:通用数据传送指令 堆栈操作指令 交换指令 有效地址传送指令 第2章 指令系统1、通用数据传送指令 指令格式:MOV 目标操作数, 源操作数 指令用途:将源操作数赋值给目标操作数目标操作数 = 源操作数第2章 指令系统1、通用数据传送指令 源操作数可以是以下之一:立即数通用寄存器段寄存器存储器第2章 指令系统1、通用数据传送指令 目标操作数可以是以下之一:通用寄存器段寄
2、存器存储器第2章 指令系统1、通用数据传送指令 通过源操作数和目标操作数的组合,一共有12种情况,但有3种情况被禁止,数据传送指令一共有9种情况第2章 指令系统1、9类通用数据传送指令 通用寄存器到通用寄存器立即数到通用寄存器立即数到存储器存储器到通用寄存器通用寄存器到存储器第2章 指令系统1、9类通用数据传送指令 通用寄存器到段寄存器(CS段除外)段寄存器到通用寄存器存储器到段寄存器(CS段除外)段寄存器到存储器第2章 指令系统通用寄存器到通用寄存器MOV AX,BX源操作数和目标操作数都使用寄存器寻址方式第2章 指令系统立即数到通用寄存器MOV AX,05H目标操作数使用寄存器寻址方式,源
3、操作数使用立即寻址方式第2章 指令系统立即数到存储器MOV BYTE PTR 1000H,05H目标操作数使用针对存储器寻址方式的一种,源操作数使用立即寻址方式第2章 指令系统立即数到存储器1、目标操作数必须指明其属性是字还是字节注意:2、属性的指出使用关键字PTR实现3、必须指出存储器属性的原因在于,数据传送指令既可以实现字节传送,也可以实现字传送,而立即数即可以理解为字节,也可以理解为字,故必须指明传递的属性第2章 指令系统存储器到通用寄存器MOV AX,2000H目标操作数使用寄存器寻址方式,源操作数使用针对存储器使用的寻址方式第2章 指令系统通用寄存器到存储器MOV 2000H,AX第
4、2章 指令系统通用寄存器到段寄存器(CS段除外)MOV DS,AX第2章 指令系统段寄存器到通用寄存器MOV AX,DS第2章 指令系统存储器到段寄存器(CS段除外)MOV DS,2000H第2章 指令系统段寄存器到存储器MOV 2000H,DS第2章 指令系统通用数据传送指令使用注意事项1.两个操作数类型必须都为字,或都必须为字节,或一个类型确定,一个类型不确定,传送的类型以确定的为准MOV AX,BXMOV AX,BLMOV AX,3000H第2章 指令系统通用数据传送指令使用注意事项2.不允许在存储器之间直接传送MOV 2000H,3000H第2章 指令系统通用数据传送指令使用注意事项3
5、.不允许在两个段寄存器间直接传递MOV DS,ES第2章 指令系统通用数据传送指令使用注意事项4.不允许用立即数直接传送给段寄存器MOV DS,1000H第2章 指令系统通用数据传送指令使用注意事项5.段寄存器CS不可以做目的操作数MOV CS,AX第2章 指令系统2、堆栈及堆栈操作指令堆栈的概念:1、堆栈为一段存储区2、堆栈的访问不用给定存储器的地址,由硬件系统自动给出3、堆栈的访问规则:因访问堆栈时,存储器地址由硬件自动生成,故不能实现对堆栈区的随机访问,只能实现先进后出的访问规则第2章 指令系统2、堆栈及堆栈操作指令堆栈的概念:4、栈底:堆栈开始的位置5、栈顶:堆栈最上面一个数据所处的位
6、置3、栈顶指针:用于保存栈顶的地址4、堆栈的访问:总是读写栈顶指针所指向的存储单元6、栈顶指针在一次堆栈操作之前或之后自动发生变化第2章 指令系统2、堆栈及堆栈操作指令堆栈的概念:7、入栈:数据保存到栈顶指针所指向的单元8、出栈:从栈顶指针所指向的单元读取数据第2章 指令系统8086中堆栈的管理有2个专门的寄存器实现对堆栈的管理:SS、SPSS用于存放堆栈段逻辑地址的段基址部分SP用于存放堆栈段逻辑地址的段内偏移部分堆栈由高地址向低地址方向增长堆栈只能是字操作,SP的变化量为2第2章 指令系统8086中堆栈的管理堆栈的初始化:1、确定堆栈段的段基址(初始化堆栈段段寄存器SS)2、确定堆栈栈顶位
7、置(初始化SP)第2章 指令系统8086中堆栈的操作堆栈有两种操作1、入栈:把数据存入堆栈2、出栈:从栈顶指针所指向的单元中读出数据,同时删除该数据第2章 指令系统8086中堆栈的操作入栈指令PUSH OPS操作数,只能是通用寄存器、段寄存器、存储器之一,且必须是字操作第2章 指令系统8086中堆栈的操作出栈指令POP OPD操作数,只能是通用寄存器、段寄存器(CS除外)、存储器之一,且必须是字操作第2章 指令系统8086中堆栈的操作堆栈操作注意事项1.入栈的操作数不能是立即数,出栈的操作数不能是CS2.每入栈一次,SP减2,每出栈一次,SP加23.多个数据入栈后,出栈的顺序应该注意,要与入栈
8、时相反第2章 指令系统3、交换指令作用:实现源操作数与目标操作数的互换指令格式:XCHG OPD,OPS第2章 指令系统3、交换指令注意事项:目标操作数可以是通用寄存器或存储器,但不允许同时为存储器示例:XCHG AX,2000H思考:如何实现2个存储单元的内容互换?第2章 指令系统4、有效地址传送指令作用:把源操作数的偏移量送到目标操作数中指令格式:LEA OPD,OPS第2章 指令系统4、有效地址传送指令注意事项:目标操作数只能是存储器操作数示例:LEA AX,SI + BX第2章 指令系统v算术运算指令 算术运算指令包含:加法指令减法指令乘法指令 除法指令 符号扩展指令 第2章 指令系统
9、1.1、二进制加法指令 指令格式:ADD OPD, OPS指令作用:OPD = OPD + OPS 第2章 指令系统1.1、二进制加法指令 注意事项:源操作数可以是立即数、通用寄存器、存储器目标操作数可以是通用寄存器、存储器不允许源操作数与目标操作数同时为存储器数第2章 指令系统1.1、二进制加法指令 示例:ADD AX, BX ADD AX, BXADD BYTE PTR BX, 13HADD AL, 12H ADD DI, AX第2章 指令系统1.2、带进位二进制加法指令 指令格式:ADC OPD, OPS指令作用:OPD = OPD + OPS + CF 第2章 指令系统1.2、带进位二
10、进制加法指令 注意事项:除源操作数与目标操作数相加外,还要加上进位标志的值其他注意事项与普通二进制加法相同该指令主要用于多字节数据相加思考:如何实现 20080808H + 20090909H第2章 指令系统1.3、加1指令 指令格式:INC OPD指令作用:OPD = OPD + 1第2章 指令系统1.3、加1指令 注意事项:目标操作数可以是存储器数或通用寄存器示例:INC AXINC BYTE PTR 2000HINC WORD PTR 2000H第2章 指令系统2.1、二进制减法指令 指令格式:SUB OPD, OPS指令作用:OPD = OPD - OPS 第2章 指令系统2.1、二进
11、制减法指令 注意事项:源操作数可以是立即数、通用寄存器、存储器目标操作数可以是通用寄存器、存储器不允许源操作数与目标操作数同时为存储器数第2章 指令系统1.1、二进制减法指令 示例:SUB AX, BX SUB AX, BXSUB BYTE PTR BX, 13HSUB AL, 12H SUB DI, AX第2章 指令系统2.2、带借位二进制减法指令 指令格式:SBB OPD, OPS指令作用:OPD = OPD OPS 第2章 指令系统2.2、带借位二进制减法指令 注意事项:除多减进位标志外,其余同一般二进制减法第2章 指令系统2.2、带借位二进制减法指令 思考:如何实现20121212H
12、20010101H第2章 指令系统2.3、减1指令 指令格式:DEC OPD指令作用:OPD = OPD 1第2章 指令系统2.3、减1指令 注意事项:同加1指令示例:DEC AXDEC WORD PTR 2000H第2章 指令系统2.4、比较指令 指令格式:CMP OPD, OPS指令作用:OPD OPS, 根据运算结果修改标志寄存器,但不保存结果第2章 指令系统2.4、比较指令 注意事项:除不保存结果外,其余与SUB指令一样示例:CMP AX,CXCMP AX,20HCMP BYTE PTR2000H,20H第2章 指令系统2.5、求补指令 指令格式:NEG OPD, OPS指令作用:OP
13、D = 0 - OPD第2章 指令系统2.5、求补指令 注意事项:同加1指令相同示例:NEG AX第2章 指令系统3.1、无符号乘法指令 指令格式:MUL OPS指令作用:实现字节或字无符号数相乘字节:AX = AL X OPS字:DX:AX = AX X OPS第2章 指令系统3.1、无符号乘法指令 注意事项:操作数只能是寄存器数或存储器数示例:MUL BLMUL BXMUL BYTE PTR SIMUL WORD PTR DI + 50第2章 指令系统3.2、有符号乘法指令 指令格式:IMUL OPS指令作用:实现字节或字有符号数相乘字节:AX = AL X OPS字:DX:AX = AX
14、 X OPS第2章 指令系统3.2、有符号乘法指令 注意事项:与无符号数相同第2章 指令系统3.3、无符号除法指令 指令格式:DIV OPS指令作用:实现字节或字无符号数除法字节:AL = AX / OPS 的商 AH = AX / OPS 的余数字:AX = (DX:AX) / OPS 的商 DX = (DX:AX) / OPS 的余数第2章 指令系统3.3、无符号除法指令 注意事项:操作数只能是寄存器数或存储器数被除数的长度是除数的2倍除数不能为0,否则产生除法错溢出被除数的高位部分不能大于除数,否则产生除法溢出错误第2章 指令系统3.4、符号扩展指令字节扩展为字格式:CBW指令作用:把A
15、L中的符号位扩展到AH字扩展为双字格式:CWD指令作用:把AX中的符号位扩展到DX第2章 指令系统3.4、符号扩展指令例:在数据段内,自1000H开始的3个16位有符号数A,B,C,分别为7856H,CB9AH,3412H,编程实现(A X B + C)/ A,结果的余数存入AX,商存入DX第2章 指令系统v逻辑运算及移位指令 逻辑运算指令包含:逻辑与指令逻辑或指令逻辑非指令 逻辑异或指令 测试指令 第2章 指令系统4.1、逻辑与指令指令格式:AND OPD, OPS指令作用:实现目标操作数与源操作数的按位相与,结果送回目标操作数OPD = OPD & OPS按位与主要用于实现对目标操作数的一
16、些位清零第2章 指令系统4.1、逻辑与指令示例:AND AX, 1234HAND AL, BHAND AX, BXAND BYTE PTR 1000H, 12HAND DI, CX第2章 指令系统4.2、逻辑或指令指令格式:OR OPD, OPS指令作用:实现目标操作数与源操作数的按位相或,结果送回目标操作数OPD = OPD | OPS按位与主要用于实现对目标操作数的一些位置1第2章 指令系统4.3、逻辑非指令指令格式:NOT OPD指令作用:实现目标操作数按位取反OPD = OPD示例:NOT AXNOT BLNOT BYTE PTR 3000H第2章 指令系统4.4、逻辑异或指令指令格式
17、:XOR OPD, OPS指令作用:实现目标操作数与源操作数的按位相或,结果送回目标操作数OPD = OPD OPS按位与主要用于实现对目标操作数的一些位取反第2章 指令系统4.5、测试指令指令格式:TEST OPD, OPS指令作用:实现目标操作数与源操作数的按位相与,结果不保存,但影响标志位主要用于检测目标操作数的一些位是否为期望值第2章 指令系统v逻辑运算及移位指令 移位指令包含:逻辑左移指令逻辑右移指令算术左移指令 算术右移指令 循环左移指令 循环右移指令 带进位循环左移指令 带进位循环右移指令 第2章 指令系统5.1、逻辑左移指令格式:SHL OPD, COUNT指令作用:将目标操作
18、数左移COUNT位,移除位到CF,低位补0第2章 指令系统5.1、逻辑左移注意事项:当移位次数大于1时,移位次数必须放入CL中SHL AX, 3MOV CL,3SHL AX,CL第2章 指令系统5.2、逻辑右移指令格式:SHR OPD, COUNT指令作用:将目标操作数右移COUNT位,移除位到CF,高位补0第2章 指令系统5.3、算术左移指令格式:SAL OPD, COUNT指令作用:同SHL第2章 指令系统5.4、算术右移指令格式:SAR OPD, COUNT指令作用:将目标操作数右移COUNT位,最高位补符号位,移出位到CF中第2章 指令系统5.5、循环左移指令格式:ROL OPD, COUNT指令作用:将目标操作数左移COUNT位,移除位用于填补最低位,同时移除位进入CF第2章 指令系统5.6、循环右移指令格式:ROR OPD, COUNT指令作用:将目标操作数右移COUNT位,移除位用于填补最高位,同时移除位进入CF第2章 指令系统5.7、带进位循环左移指令格式:RCL OPD, COUNT指令作用:将目标操作数左移COUNT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车场服务礼仪规范规章制度
- 消化科出科试题及答案
- 2025年临床执业医师《眼科学》试卷
- 药品处方点评管理规范培训试题及答案
- 医保政策宣传服务规范考核试题及答案
- 医疗安全预警防范制度
- 南宁对口考试题目及答案
- 工程机械6-检测与维修
- 学校食堂食品安全管理制度培训
- 2025《装在套子里的人》中社会规则的束缚课件
- Q-JJJ 9002-2025 铁路建设项目安全穿透式管理实施指南
- 坐校车安全教育
- 健康类直播课件
- 2025年高校教师资格证之高等教育法规题库(综合题)
- 学校食堂员工培训课件
- DB11∕T 1448-2024 城市轨道交通工程资料管理规程
- 房屋测绘单位管理制度
- 热电厂中水供水工程可行性研究报告
- 2025年中考数学压轴专题汇编(江苏专用)压轴专题09定角定高模型(原卷版+解析)
- 开票提额合同协议
- 2025年中考语文一轮复习:民俗类散文阅读 讲义(含练习题及答案)
评论
0/150
提交评论