




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.1 概述指令控制计算机完成指定操作的命令机器指令指令的二进制代码形式。例如:CD21H汇编指令助记符形式的指令。例如:INT 21H指令系统CPU所有指令及其使用规则的集合第3章 8086/8088指令系统8088/8086指令系统:(1)指令向后兼容(x86系列)(2)应用广泛,资料易于寻找1指令按功能分为六大类(92种)(1)数据传送类;(2)算术运算类;(3)逻辑运算和移位;(4)串操作;(5)控制转移类;(6)处理器控制。23.1.1 指令的基本构成操作码 操作数,操作数说明要执行的是什么操作操作对象,可以有0个、1个或2个目的源3指令举例:ADD AX,SI+6MOV AX ,
2、BX操作码 操作数INC BXHLT4部分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/IRET58088/8086的操作数分为3类1、立即数(常数)取值范围如下表:立即数只能用作源
3、操作数,如8位16位无符号数00H-FFH(0-255)0000H-FFFFH(0-65535)带符号数80H-7FH(-128127)8000H-7FFFH(-3276832767)MOV AX,0FA00H;正确MOV 8000H,DX;错误62、寄存器操作数放在8个通用寄存器或4个段寄存器中的操作数7只能存放字操作数段寄存器存放当前操作数的段基地址不允许将立即数传送到段寄存器SIDIBPSPCSDSESSS83、存储器操作数存储器操作数字节字双字124类型存储单元个数一般不允许两个操作数同时为存储器操作数9存储单元的物理地址 = 段基地址 + 偏移地址若指令中没有指明所涉及的段寄存器,C
4、PU就采用默认的段寄存器来确定操作数所在的段。表3.3 段寄存器使用的一些基本约定存储器操作数的偏移地址(也称有效地址)可以通过不同的寻址方式由指令给出。例如,若(BX)=2000H, (SI)=0A00H, (DI)=2A00H,则以下指令的结果是一样的:MOV AL, 2A00HMOV AL, BX+0A00HMOV AL, BXSIMOV AL, DI10一条指令的执行时间=3.1.2 指令的执行时间取指令取操作数执行指令传送结果单位用时钟周期数表示表3.4 常用指令执行时间结论: 1)尽量使用寄存器作为操作数 2)若有可能,用移位代替乘除法 3)尽量使用简单的寻址方式11寻址方式寻找操
5、作数的方法 寻找操作数的地址(一般指源操作数) 寻找要执行的下一条指令的地址在8086指令系统中,说明操作数所在地址的寻址方式可分为8种: 立即寻址 寄存器相对寻址 直接寻址 基址-变址寻址 寄存器寻址 相对的基址-变址寻址 寄存器间接寻址 隐含寻址3.2 8086的寻址方式12 操作数(为一常数)直接由指令给出 (此操作数称为立即数) 立即寻址只能用于源操作数 例: MOV AX, 1C8FH MOV BYTE PTR2A00H, 8FH 错误例: MOV 2A00H, AX ; 错误! 3.1.2 立即寻址13立即数操作码低8位高8位存储器MOV操作码02H31HAHAL代码段代码段立即寻
6、址指令在存储器中的存放形式AX指令操作例:MOV AX,3102H ; AX 3102H 执行后,(AH) = 31H,(AL) = 02H143.2.2 直接寻址 指令中直接给出操作数的16位偏移地址 偏移地址也称为有效地址(EA, Effective Address) 默认的段寄存器为DS,但也可以显式地指定其他段寄存器称为段超越前缀 偏移地址也可用符号地址来表示,如ADDR、VAR 例: MOV AX , 2A00H MOV DX , ES: 2A00H MOV SI , TABLE_PTR15指令操作例:MOV AX,3102H AL (3102H) , AH (3103H)如果(DS
7、)=2000H, (23012H) = CDH, (23013H) = ABH则操作数的物理地址为: 20000H+3102H = 23102H指令执行后:(AX) = ABCDHMOV操作码02H31HAHAL23102HCDHABH存储器代码段数据段.163.2.3 寄存器寻址 操作数放在某个寄存器中 源操作数与目的操作数字长要相同 寄存器寻址与段地址无关 例: MOV AX, BX MOV 3F00H, AX MOV CL, AL 错误例: MOV AX, BL ; 字长不同 MOV ES: AX, DX ; 寄存器与段无关17AXSI2233H2233H指令操作例:MOV SI,AX
8、; SI (AX) 指令执行前:(AX)=2233H 指令执行后:(AX)=2233H,(SI)=2233H183.2.4 寄存器间接寻址 操作数的偏移地址(有效地址EA)放在寄存器中 只有SI、DI、BX和BP可作间址寄存器 例: MOV AX, BX MOV CL, CS:DI 错误例 : MOV AX, DX MOV CL, AXEA = (BX)(BP)(SI)(DI)19指令操作例:MOV AX,SI若 (DS)=6000H, (SI)=1200H, (61200H)=44H, (61201H)=33H则指令执行后,(AX)=3344H。44H33H60001200DSSI60000
9、61200 61200HAX存储器数据段 +) 120044H33H203.2.5 寄存器相对寻址 EA=间址寄存器的内容加上一个8/16位的位移量寄存器相对寻址常用于存取表格或一维数组中的元素把表格的起始地址作为位移量,元素的下标值放在间址寄存器中(或反之)EA = (BX)(BP)(SI)(DI)+ 8位16位位移量 21 例: MOV AX, BX+8 MOV CX, TABLESI MOV AX, BP+1000H ; 默认段寄存器为SS 指令操作例:MOV AX,DATABX 若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63
10、A01H)=55H 则物理地址 = 60000H + 1000H + 2A00H = 63A00H 指令执行后:(AX)=5566H(见下页图示) 22操作码00 偏移量低2A 偏移量高DS 6000BX 1000 + DATA 2A0063A0063A00HAHALAX代码段数据段.66H55HMOV AX,DATABX233.2.6 基址-变址寻址 若操作数的偏移地址: 由基址寄存器(BX或BP)给出 基址寻址方式 由变址寄存器(SI或DI)给出 变址寻址方式 由一个基址寄存器的内容和一个变址寄存器的内容相加而形成操作数的偏移地址,称为基址-变址寻址。EA = (BX)(BP)+ (SI)
11、(DI) 同一组内的寄存器不能同时出现。24例: MOV AX, BX SI MOV AX, BX+SI MOV AX, DS: BP DI错误例: MOV AX, BX BP MOV AX, DI SI25 83000操作码DS 8000BX 2000 + SI 100083000HAHALAX代码段数据段.YYXX指令操作例:MOV AX,BXSI假定:(DS)=8000H, (BX)=2000H, SI=1000H则物理地址 = 80000H + 2000H + 1000H = 83000H指令执行后: (AL)=83000H (AH)=83001H263.2.7 相对的基址-变址寻址
12、在基址-变址寻址的基础上再加上一个相对位移量 注意事项同基址-变址寻址EA = (BX)(BP)+ (SI)(DI)+ 8位16位位移量 例:MOV AX,BASE SI BXMOV AX,BX+BASE SIMOV AX,BX+SI+BASEMOV AX,BX BASE SIMOV AX,BX+SI BASE27指令操作例:MOV AX,DATADIBX若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H则指令执行后(AH)=83021H, (AL)=83020H8320083200HAHALAX+ DATA 0200操作码代码段数据段.YYXXDS 8000BX 2000 DI 100028使用相对的基址-变址寻址方式可以很方便地访问二维数组。基址寄存器数组首地址变址寄存器数组元素行址位移量数组元素列址(偏移地址)二维数组例:内存图示293.2.8 隐含寻址 指令操作数是隐含的,在指令中未显式地指明。 例:MUL BL 指令隐含了被乘数AL及乘积AX 类似的指令还有:DIV、CBW、MOVS等(AL)(BL)AX30小结指令由( )和( )构成如何取得操作数称为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术监督面试题及答案
- 图书行业合同管理制度
- 宫崎骏的面试题及答案
- 工长晋升面试题及答案
- 高中语言面试题及答案
- 国学背诵考试题及答案
- 分类高考试题及答案
- 经膈肌肋间疝的临床护理
- T/CADP 10-2023系留无人机系统灭火装备通用规范
- 美术室工作方案报告
- 《民航危险品运输》学习通超星期末考试答案章节答案2024年
- 小学数学五年级下册期末检测双向细目表、试卷、答案
- 山东省义务教育必修地方课程小学四年级上册《环境教育》教案-全册
- 中国高血压防治指南(2024年修订版)解读(总)
- 职业规划书-大数据与会计(三)
- 承包商入厂安全培训考试题及完整答案【历年真题】
- 创意手工智慧树知到期末考试答案章节答案2024年湖北师范大学
- 食堂意见反馈制度
- 老旧小区改造管道开挖方案
- QCT1010-2023汽车离合器助力器
- 北京市大兴区六年级下册数学期末测试卷附答案
评论
0/150
提交评论