- 1、本文档共216页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 8086寻址方式与
第四章 8086寻址方式与指令系统 4.1 汇编语言和汇编程序的基本概念 4.2 8086寻址方式 4.3 8086的指令格式 4.4 8086指令系统 §4.1 汇编语言及汇编程序的基本概念 4.1.2 各种计算机语言的比较 4.1.3 汇编语言与汇编程序 汇编程序的作用就是把源程序文件(ASM文件)转换成用二进制代码表示的目标程序文件(OBJ文件)。 汇编程序的主要功能有: ①?检查源程序。 ② 测出源程序语法错误,并给出错误。 ③?产生目标程序,并可给出列表文件 。 ④?展开宏指令。 汇编语言指令的特点 语法结构符合人类语言的共同特点—— 动作+对象 指令操作码→动作:做什么? 指令操作数→对象:针对什么做动作? 汇编语言指令 例: MOV AX,BX 汇编语言指令 操作码:由CPU设计人员定义。每一种操作唯一对应一个操作码。 例:加法操作助记符ADD; 数据传送操作助记符MOV; 比较操作助记符CMP 操作数:可由编程人员采用不同方式给出。 寻址方式:寻找操作数(操作数地址)的方式; 指令格式:指令中对操作码、操作数的编码方式。 操作数 1. 8086指令中操作数的个数可以有以下几种情况 无操作数指令,例:等待指令 WAIT 单操作数指令,例:加1指令 INC AL 双操作数指令,例:减法指令 SUB AL,BL 源操作数:后者(BL) 目的操作数:前者(AL) 操作数 2、操作数存放地点,可以有以下几种: §4.2 8086寻址方式 给出操作数的可能的方式: 由操作码隐含地指定 由指令直接给出操作数 存放于CPU内部的寄存器中 存放于存储器单元内 来自I/O端口 8086寻址方式(续) 8086寻址方式 一、非存储器寻址方式(以8086为例,下同) 1、立即数寻址方式 源操作数以8位或16位常数的形式直接出现在指令中。一般用于赋值。 例:MOV AL,5FH 2、寄存器(直接)寻址方式 8位或16位寄存器的值就是操作数本身。与其它寻址方式相比,该方式执行速度最快。 例: MOV SI,DX 8086寻址方式(续) 二、存储器寻址方式 1、直接寻址方式 操作数存放在存储器单元中,由指令直接给出该单元的有效地址EA(即16位段内偏移量)。 例:MOV AX,[0016H] 寻址过程示意 2、寄存器间接寻址方式 操作数存放在存储器单元中,指令给出的16位寄存器值就是该单元的EA。 例: MOV [BX],CL 直接寻址过程示意图 寄存器间接寻址过程示意图 8086寻址方式——基址寻址 3、基址寻址方式(寄存器相对寻址方式) 使用基址寄存器(BX或BP)、并带位移量的间接寻址。操作数EA=BX或BP值+位移量。 例:MOV DL,[BP+2] 其它等效写法: MOV DL,[BP]2 MOV DL,2[BP] 寻址过程示意 基址寻址过程示意图 8086寻址方式——变址寻址 4、变址寻址方式(寄存器相对寻址方式) 使用变址寄存器(SI或DI)、并带位移量的间接寻址。操作数EA=SI或DI值+位移量。 例:MOV [SI+10],AH 其它等效写法: MOV [SI]10,AH MOV 10[SI],AH 寻址过程示意 变址寻址过程示意图 8086寻址方式——基址加变址寻址 5、基址加变址寻址方式 使用一个基址寄存器、一个变址寄存器的间接寻址。操作数EA=BX或BP值+ SI或DI值(+位移量)。 例:MOV [BX+DI+4],CX 其它等效写法: MOV [BX+DI]4,CX MOV 4[BX+DI],CX MOV [BX][DI]4,CX MOV 4[BX][DI],CX 寻址过程示意 基址加变址寻址过程示意图 段寄存器使用规则 8086寻址方式——其它方式(1) 三、其它寻址方式 1、固定寻址(隐含寻址) 操作数并不直接出现在指令中,而是由操作码隐含地指定为某一固定内容。 例: PUSH DS 目操作数隐含为栈顶字单元 POP BX 源操作数隐含为栈顶字单元 LAHF 源操作数隐含为标志寄存器低字节, 目操作数隐含为寄存器AH 8086寻址方式——其它方式(2) 2、相对寻址 仅用于进行段内直接转移的控制转移指令。指令中的操作数是一个8位或16位带符号的相对偏移量,代表目标地址与正常执行顺序的原地址
文档评论(0)