微处理器及其系统.ppt_第1页
微处理器及其系统.ppt_第2页
微处理器及其系统.ppt_第3页
微处理器及其系统.ppt_第4页
微处理器及其系统.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.4 8086/8088指令系统,3.4.1 指令和指令系统概述 3.4.2 指令格式 3.4.3 寻址方式,指令是微处理器执行某种操作的命令,微处理器全部指令的集合称为指令系统(指令集)。 指令有两种书写格式:机器指令和符号指令。 机器指令指令的二进制数描述 硬件只能识别机器指令,用机器指令书写的程序可以直接运行。 符号指令用规定的助记符和规定的书写格式书写的指令与机器指令一一对应,需要翻译成机器指令才能运行。 10110000 00000001 MOV AL, 1,3.4.1 指令和指令系统概述,1 指令中应包含的信息:,操作数据的来源 操作结果的去向 执行的操作,3.4.2 指令格式,标号: 操作码助记符 操作数助记符 ;注释,标号代表该指令在存储器中的地址,为分支、循环提供转移目标。可选. 操作码助记符: 如ADD, MOV等,指出指令要实现的功能 操作数: 是指令操作的对象。当一条指令需要一个以上的操作数时,操作数间用逗号分隔,逗号前为目标操作数,逗号后为源操作数。 注释可增强可读性。可选.,2 符号指令的书写格式为:,3 指令字长与机器字长,指令字长由操作码的长度、操作数地址长度、操作数个数决定 8088/8086CPU采用变字长指令格式 机器字长: 计算机能够直接处理的二进制数的位数,指令的字长影响指令的执行速度 对不同的操作数,指令执行的时间不同: 存储器 立即数 寄存器,4 指令的执行速度,3.4.3 寻址方式,寻址方式:1寻找指令中操作数地址的方式。 2寻找转移地址的方法。,固定寻址 隐含在指令中 直接包含在指令中立即寻址 立即数 包含在某个寄存器中寄存器寻址 寄存器操作数 在内存中存储器寻址 存储器操作数(内存操作数),操作数有四种可能的存放方式,一 操作数寻址,1. 立即寻址(Immediate Addressing) 操作数作为立即数直接存在指令中,可为字节、字 例:MOV AX, 1234H,立即数只能是源操作数。,2. 寄存器寻址 (Register Addressing) 操作数包含在放在CPU的内部寄存器中,AX、BX、CX、DX、DI、SI、SP和BP,不需要访问存储器。 例:MOV CX, DX,寄存器寻址由于无需从存储器中取操作数,故执行速度快,X86系列处理器对内存采用分段式管理,程序员在指令中使用的是逻辑地址,逻辑地址由两部分组成存储单元所在段的基地址:段内偏移地址(偏移量) 段的基地址一般由操作系统将程序装入内存时设置,程序员在编程时主要使用段内偏移地址,段内偏移地址也称为有效地址(EA) 例:MOV ES:3000H, AL ES:称为段超越前缀(可选),指示处理器访问哪个逻辑段 3000H为段内偏移地址(有效地址),3. 存储器寻址(内存寻址),段内偏移地址(有效地址)可以由如下几个部分组成 (称为偏移地址四元素): 基址寄存器内容 变址寄存器内容 位移量 EA=基址寄存器+变址寄存器+位移量 16位寻址: 基址寄存器:BX,BP 变址寄存器:SI,DI 位移量: 0,8,16位, 直接寻址 ( Direct Addressing ) 指令中的操作数部分直接给出操作数的有效地址EA,操作数可以是16位或32位整数,操作数默认在DS段中 例:MOV AX, 3000H,53000,如果操作数在DS以外的其他段(CS,SS,ES)中,指令中必须包含段超越前缀 例:MOV AX, ES:3000H, 寄存器间接寻址 (Register Indirect Addressing) 操作数地址的偏移量(有效地址EA)存放在寄存器中。16位寻址:偏移地址放在SI,DI,BP,BX中 例如: 以SI,DI, BX间接寻址,默认操作数在DS段中 MOV AX, SI ; 访问数据段 以BP间接寻址,默认操作数在SS段中 MOV AX, BP ;访问堆栈段,例:MOV AX, BP, 基址寻址 EA=基址寄存器+位移量 16位寻址:BP,BX为基址寄存器 BX, DS为默认段寄存器 BP, SS为默认段寄存器,例如: MOV AX, BX+24 MOV DX, BP+1500,DX,MOV DX, BX+1500,数据结构的基址寻址方式,字段0,字段n-1,字段2,字段1,基址寄存器,+,(位移量),MOV AX, BX+100H,字段k, 变址寻址 变址寻址适用于对一维数组的元素进行操作 EA=变址寄存器+位移量 16位寻址:SI,DI为变址寄存器 DS为默认段寄存器,位移量表示数组起始地址,不变,变址寄存器为数组下标,可变。,(位移量),数组的变址寻址方式,单元0,单元n-1,单元2,单元1,变址寄存器,+,MOV AX, SI+100H, 基址加变址寻址 基址加变址寻址主要用于二维数组操作和二重循环 EA=基址寄存器+变址寄存器+位移量 例: MOV AX, BX+SI+1000,单元(0,0),单元(0,1),单元(0,n),(位移量),二维数组的基址加变址寻址方式,基址寄存器,+,MOV AX, BX+SI+100H,单元(m,n),变址寄存器,+,小 结,1、在方括号内部允许有一个或两个寄存器的名字,如果一对方括号内部有基址寄存器和变址寄存器,使用“”作为连接。 2、在方括号内部允许有位移量,使用或号作为连接符号。 3、在方括号外部允许有位移量,可以在左边或右边。 例: MOV AX,BX+SI+6 MOV AX,BX+SI6 MOV AX,6BX+SI MOV AX,BXSI6 MOV AX,BX+6SI,寻址方式的书写格式,二 其他方式的寻址,I/O端口寻址 与转移指令有关的寻址方式,1 I/O端口寻址,8086采用输入/输出端口与存储器独立编址的方式。访问I/O端口需要专门指令IN和OUT。 (1)直接寻址 在指令直接给出I/O端口地址,此地址应在0255(0-FFH)之间 如: IN AL,20H (2)间接寻址 由DX给出I/O端口地址,此方式适用065535(0-FFFFH)之间的任意值。 如: OUT DX,AL,2 与转移指令有关的寻址方式,(1)段内直接寻址 (2)段内间接寻址 (3)段间直接寻址 (4)段间间接寻址,例如: JMP SHORT OPR ;段内短转移 JMP 25H JMP NEAR PTR OPR;段内近转移 JMP 3412H,(1)段内直接寻址,不改变CS,在IP上加一个指令提供的位移量, EA=(IP)+偏移地址,34H,2013H,位移量,2016H,3412H,2016H,5428H,5428H,+,IP,IP,例:JMP 3412H,存储器,例如: JMP BX ;段内间接转移(IP)=(BX) JMP WORD PTRBX+20A1H,(2)段内间接寻址,转向的有效地址是一个寄存器或一个存储单元的内容。转向的有效地址用来取代IP。这时CS值不变。,例如:JMP 3500H:080BH;段间直接转移 结果:(CS)=3500H,(IP)=080BH JMP FAR PTR NEXTINT,(3)段间直接寻址,指令中提供了转向的段地址和偏移地址,所以用段地址取代CS,用偏移地址取代IP。,例如:JMP DWORD PTRBX+32H,(4)段间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论