版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第3章 8086/8088指令系统mov ax,12hcall displayJmp 1234h2主要内容:主要内容:l指令系统的一般概念l对操作数的寻址方式l六大类指令的操作原理: 操作码的含义操作码的含义 指令对操作数的要求指令对操作数的要求 指令执行的结果指令执行的结果33.1 3.1 概述概述指令指令控制计算机完成指定操作的命令控制计算机完成指定操作的命令机器指令机器指令指令的二进制代码形式。例如:指令的二进制代码形式。例如:CD21H汇编指令汇编指令助记符形式的指令。例如:助记符形式的指令。例如:INT 21H指令系统指令系统CPU所有指令及其使用规则的集合所有指令及其使用规则的集
2、合8088/8086指令系统指令系统:(1)指令向后兼容()指令向后兼容(x86系列)系列)(2)应用广泛,资料易于寻找)应用广泛,资料易于寻找4指令按功能分为六大类(指令按功能分为六大类(9292种)种)(1)数据传送类;)数据传送类;(2)算术运算类;)算术运算类;(3)逻辑运算和移位;)逻辑运算和移位;(4)串操作;)串操作;(5)控制转移类;)控制转移类;(6)处理器控制。)处理器控制。53.1.1 指令的基本构成指令的基本构成说明要执行的说明要执行的是什么操作是什么操作操作对象,可以操作对象,可以有有0个、个、1个或个或2个个目的目的源源6指令举例:ADD AX,SI+6MOV AX
3、 , BX操作码 操作数INC BXHLT7部分部分8088常用指令常用指令指令类型指令类型助记符助记符数据传送数据传送MOV,PUSH/POP,XCHG等地址传送LEA,LDS,LES输入输出IN,OUT算术运算加法ADD,ADC,INC减法SUB,SBB,DEC,NEG,CMP乘/除法MUL,IMUL,DIV,IDIV逻辑AND,OR,NOT,XOR,TEST移位SHL/SHR/SAR,ROL/ROR,RCL/RCR串操作MOVS,CMPS,SCAS,LODS,STOS控制转移JMP,JXX,LOOP,CALL/RET,INT/IRET88088/8086的操作数分为的操作数分为3类类1
4、1、立即数(常数)立即数(常数)取值范围如下表:8位16位无符号数00H-FFH(0-255)0000H-FFFFH(0-65535)带符号数80H-7FH(-128127)8000H-7FFFH(-3276832767)MOV AX,0FA00H;正确正确MOV 8000H,DX;错误错误92 2、寄存器操作数寄存器操作数放在放在8个个通用寄存器通用寄存器或或4个个段寄存器段寄存器中的操作数中的操作数1 6 位位A XA HA L1 6 位位B XB HB L1 6 位位C XC HC L1 6 位位D XD HD L10只能存放字操作数只能存放字操作数段寄存器存放段寄存器存放当前操作数的当
5、前操作数的段基地址段基地址不允许将立即数传送到段寄存器不允许将立即数传送到段寄存器SIDIBPSPCSDSESSS113 3、存储器操作数存储器操作数存储器操作数存储器操作数字节字节字字双字双字124类型类型 存储单元个数存储单元个数一般不允许一般不允许两个两个操作数同时为存储器操作数操作数同时为存储器操作数12存储单元的物理地址存储单元的物理地址 = 段基地址段基地址 + 偏移地址偏移地址若指令中没有指明所涉及的段寄存器,CPU就采用默认的段寄存器来确定操作数所在的段。表表3.3 段寄存器使用的一些基本约定段寄存器使用的一些基本约定存储器操作数的偏移地址(也称有效地址)可以通过存储器操作数的
6、偏移地址(也称有效地址)可以通过不同的寻址方式由指令给出。不同的寻址方式由指令给出。例如,若例如,若(BX)=2000H, (SI)=0A00H, (DI)=2A00H,则以下指令,则以下指令的结果是一样的:的结果是一样的:MOV AL, 2A00HMOV AL, BX+0A00HMOV AL, BXSIMOV AL, DI13一条指令的执行时间一条指令的执行时间=3.1.2 指令的执行时间指令的执行时间取指令取指令取操作数取操作数执行指令执行指令传送结果传送结果单位用时钟周期数表示单位用时钟周期数表示表表3.4 3.4 常用指令执行时间常用指令执行时间结论:结论: 1)尽量使用寄存器作为操作
7、数)尽量使用寄存器作为操作数 2)若有可能,用移位代替乘除法)若有可能,用移位代替乘除法 3)尽量使用简单的寻址方式)尽量使用简单的寻址方式14寻址方式寻址方式寻找操作数的方法寻找操作数的方法l 寻找操作数的地址(一般指源操作数)l 寻找要执行的下一条指令的地址在8086指令系统中,说明操作数所在地址的寻址方式可分为8种: 立即寻址 寄存器相对寻址 直接寻址 基址-变址寻址 寄存器寻址 相对的基址-变址寻址 寄存器间接寻址 隐含寻址3.23.2 80868086的寻址方式的寻址方式15l 操作数操作数(为一常数为一常数)直接由指令给出直接由指令给出 (此操作数称为立即数此操作数称为立即数)l
8、立即寻址只能用于源操作数立即寻址只能用于源操作数l 例:例: MOV AX, 1C8FH MOV BYTE PTR2A00H, 8FH 错误例:错误例: MOV 2A00H, AX ; 错误!错误! 3.1.2 立即寻址立即寻址16立即数立即数操作码操作码低低8位位高高8位位存储器存储器MOV操作码操作码02H31HAHAL代码段代码段立即寻址指令在存立即寻址指令在存储器中的存放形式储器中的存放形式AX指令操作例:指令操作例:MOV AX,3102H ; AX 3102H 执行后,执行后,(AH) = 31H,(AL) = 02H173.2.2 直接寻址直接寻址l 指令指令中直接给出操作数的中
9、直接给出操作数的16位偏移地址位偏移地址 偏移地址也称为有效地址偏移地址也称为有效地址(EA, Effective Address)l 默认的段寄存器为默认的段寄存器为DS,但也可以显式地指定其他,但也可以显式地指定其他段寄存器段寄存器称为段超越前缀称为段超越前缀l 偏移地址也可用偏移地址也可用符号地址符号地址来表示,如来表示,如ADDR、VARl 例:例: MOV AX , 2A00H MOV DX , ES: 2A00H MOV SI , TABLE_PTR18指令操作例:指令操作例:MOV AX,3102H AL (3102H) , AH (3103H)如果(DS)=2000H, (23
10、012H) = CDH, (23013H) = ABH则操作数的物理地址为: 20000H+3102H = 23102H指令执行后:(AX) = ABCDHMOV操作码操作码02H31HAHAL23102HCDHABH存储器存储器代码段数据段.193.2.3 寄存器寻址寄存器寻址l 操作数放在某个寄存器中操作数放在某个寄存器中l 源操作数与目的操作数字长要相同源操作数与目的操作数字长要相同l 寄存器寻址与段地址无关寄存器寻址与段地址无关l 例:例: MOV AX, BX MOV 3F00H, AX MOV CL, AL 错误例:错误例: MOV AX, BL ; 字长不同字长不同 MOV ES
11、: AX, DX ; 寄存器与段无关寄存器与段无关20AXSI2233H2233H指令操作例:指令操作例:MOV SI,AX ; SI (AX) 指令执行前:(AX)=2233H 指令执行后:(AX)=2233H,(SI)=2233H213.2.4 寄存器间接寻址寄存器间接寻址l 操作数的偏移地址操作数的偏移地址( (有效地址有效地址EA) )放在放在寄存器寄存器中中l 只有只有SISI、DIDI、BXBX和和BPBP可作间址寄存器可作间址寄存器 l 例:例: MOV AX, BX MOV CL, CS:DI 错误例错误例 : MOV AX, DX MOV CL, AXEA = (BX)(BP
12、)(SI)(DI)22指令操作例指令操作例:MOV AX,SI若若 (DS)=6000H, (SI)=1200H, (61200H)=44H, (61201H)=33H则指令执行后,则指令执行后,(AX)=3344H。44H33H60001200DSSI6000061200 61200HAX存储器存储器数据段 +) 120044H33H233.2.5 寄存器相对寻址寄存器相对寻址l EA=间址寄存器的内容加上一个间址寄存器的内容加上一个8/16位的位移量位的位移量寄存器相对寻址寄存器相对寻址常用于存取表格或一维数组中的常用于存取表格或一维数组中的元素元素把把表格的起始地址作为位移量表格的起始地
13、址作为位移量,元素的元素的下标值放在间址寄存器中下标值放在间址寄存器中(或反之)(或反之)EA = (BX)(BP)(SI)(DI)+ 8位16位位移量 24l 例:例: MOV AX, BX+8 MOV CX, TABLESI MOV AX, BP+1000H ; 默认段寄存器为默认段寄存器为SSl 指令操作例:指令操作例:MOV AX,DATABX 若若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H 则物理地址则物理地址 = 60000H + 1000H + 2A00H = 63A00H 指令执行后指令执行后:(
14、AX)=5566H(见下页图示)(见下页图示) 25操作码操作码00 偏移量低2A 偏移量高DS 6000BX 1000 + DATA 2A0063A0063A00HAHALAX代码段数据段.66H55HMOV AX,DATABX263.2.6 基址基址-变址寻址变址寻址l 若操作数的偏移地址:若操作数的偏移地址: 由由基址寄存器基址寄存器(BX(BX或或BP)BP)给出给出 基址寻址方式基址寻址方式 由由变址寄存器变址寄存器(SI(SI或或DI)DI)给出给出 变址寻址方式变址寻址方式l 由一个基址寄存器由一个基址寄存器的内容和一个变址寄存器的内容和一个变址寄存器的内的内容相加而形成操作数的
15、偏移地址,容相加而形成操作数的偏移地址,称为称为基址基址-变址寻变址寻址。址。EA = (BX)(BP)+ (SI)(DI)l 同一组内的寄存器不能同时出现同一组内的寄存器不能同时出现。27例:例: MOV AX, BX SI MOV AX, BX+SI MOV AX, DS: BP DI错误例:错误例: MOV AX, BX BP MOV AX, DI SI28 83000操作码操作码DS 8000BX 2000 + SI 100083000HAHALAX代码段数据段.YYXX指令操作例:指令操作例:MOV AX,BXSI假定:假定:(DS)=8000H, (BX)=2000H, SI=10
16、00H则物理地址则物理地址 = 80000H + 2000H + 1000H = 83000H= 80000H + 2000H + 1000H = 83000H指令执行后指令执行后: (: (AL)AL)=83000H83000H ( (AH)AH)=83001H83001H 293.2.7 相对的基址相对的基址-变址寻址变址寻址l 在在基址基址-变址寻址的基础上再加上一个相对位变址寻址的基础上再加上一个相对位移量移量l 注意事项同注意事项同基址基址-变址寻址变址寻址EA = (BX)(BP)+ (SI)(DI)+ 8位16位位移量 l 例:例:MOV AX,BASE SI BXMOV AX,
17、BX+BASE SIMOV AX,BX+SI+BASEMOV AX,BX BASE SIMOV AX,BX+SI BASE30指令指令操作例:操作例:MOV AX,DATADIBX若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H则指令执行后(AH)=83021H, (AL)=83020H8320083200HAHALAX+ DATA 0200操作码操作码代码段数据段.YYXXDS 8000BX 2000 DI 100031使用相对的基址使用相对的基址-变址寻址方式可以很方便地访变址寻址方式可以很方便地访问二维数组。问二维数组。基址寄存器基址寄存器数组
18、首地址数组首地址变址寄存器变址寄存器数组元素数组元素行行址址位移量位移量数组元素数组元素列列址址(偏移地址)(偏移地址)二维数组例:内存图示(按行存储)二维数组例:内存图示(按行存储)(行位移地址)(行位移地址)(行内元素下标)(行内元素下标)1 8 32 5 24 0 9A = 323.2.8 隐含寻址隐含寻址l 指令操作数是隐含的,在指令中未显式地指明。指令操作数是隐含的,在指令中未显式地指明。l 例:例:MUL BL 指令隐含了被乘数指令隐含了被乘数AL及乘积及乘积AXl 类似的指令还有:类似的指令还有:DIV、CBW、MOVS等等(AL)()(BL)AX33小结小结l指令由(指令由( )和()和( )构成)构成l如何取得操作数如何取得操作数称为(称为( )操作码操作码 操作数操作数寻址方式寻址方式34l寻址方式可分为寻址方式可分为立即寻址立即寻址直接寻址直接寻址寄存器相对寻址寄存器相对寻址寄存器寻址寄存器寻址基址基
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 主机厂垂直整合战略下独立自调臂供应商估值逻辑的根本性转变
- AI算力爆发驱动高密度配线基础设施迭代对传统宽带项目投资价值的挤压效应
- 2026年滁州城市职业学院高职单招笔试化学试题库含答案解析2套试卷
- 2026年湖南网络工程职业学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 2026年湖南外贸职业学院高职单招笔试英语试题库含答案解析3套试卷
- 2026年湖南三一工业职业技术学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 2026年渭南职业技术学院高职单招笔试数学试题库含答案解析3套试卷
- 2026年海南政法职业学院高职单招笔试职业适应性测验试题库含答案解析3套试卷
- 2026年浙江特殊教育职业学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 2026年济宁职业技术学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 创维电视机49E360E使用说明书
- 电商合伙合同协议模板
- 广东省房屋建筑与装饰工程综合定额(2018年)
- 能谱CT临床应用
- 建筑公司工程部管理制度
- 《数字化空间设计表现》教学大纲
- 《论语》全文带拼音有注释(完整版)
- 小孩办身份证的委托书范本
- JJF 1064-2024坐标测量机校准规范
- 《智能制造系统》课程标准
- GB/T 38471-2023再生铜原料
评论
0/150
提交评论