微机原理==Pentium(奔腾)的指令系统(4)
来源:互联网 发布:企业工商数据api 编辑:程序博客网 时间:2024/09/21 08:57
什么叫寻址方式?
形成操作数或指令地址的方式,称为寻址方式
寻址方式可以分为哪两类?
操作数寻址和指令寻址
什么叫操作数寻址方式?
形成操作数的有效地址(EA)的方法
什么叫有效地址(EA)?
在8086/8088中,操作数在内存中的有效地址是段的偏移地址。
综上所述,操作数寻址是指找到操作数的来源,而操作数的来源有很多
操作数的来源有哪四种?
①直接由指令本身提供
②由寄存器提供
③由输入端口提供
④由存储器提供
反过来说,操作结果就可以有四种寻址方式
操作数寻址方式可以再细分为哪四种方式?
①立即数寻址
②寄存器寻址
③输入/输出端口寻址
④存储器寻址
立即数寻址方式
操作数就在指令中提供
立即数寻址的操作数都存放在主存中的代码段CS
//而别的寻址方式的操作数都存放在数据段或者是堆栈段
存放的时候都是小端存放,主存是上面是低位,下面是高位,而操作数是先读的那部分写在底部,即对应着主存的高位,后读的那部分写在上部,对应着主存的低位。
8086的立即数寻址时,操作数前面不用加#,如果操作数的首位是一个字母,则在前面添加一个0
MOV AL,2000H
注意:
①2000H作为源操作数,是不能够作为目的操作数的。
②他的目的操作数是AL。即立即数寻址一般用于对寄存器赋值
③立即数寻址不需要总线周期,所以速度非常快
寄存器寻址方式
操作数存放在CPU内部寄存器中,对寄存器进行操作
8位操作数对应的寄存器:AH,AL,BH,BL,CH,CL,DH,DL
16位操作数对应的寄存器:AX,BX,CX,DX,SI,DI,SP,BP
32位操作数对应的寄存器:EAX,EBX,ECX,EDX,ESI,EDI,ESP,EBP
4个段寄存器:CS,DS,SS,ES
INC CX//将CX的内容加1
注意:
①寄存器寻址不使用总线周期,速度非常快
②可对源操作数用寄存器寻址,也可对目的操作数用目的寻址,还可两者都用寄存器寻址。
存储器寻址
存储单元的地址由段基址和偏移量组成
EA = 基址 + 变址 * 比例因子 + 位移量
基址:任何通用寄存器的内容
位移量:指令操作码后面的数
变址:除了ESP外的寄存器,别的通用寄存器
比例因子:1,2,4或者8
存储器寻址可以细分为哪几种寻址? ##
直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址的寻址,相对的基址加变址寻址,相对的带比例因子的编制寻址,基址加比例因子的编制寻址和相对的基址加比例因子的变址寻址
直接寻址
有效地址在指令中直接给出,在方括号内,操作数默认在主存的数据段中
寄存器间接寻址
有效地址在寄存器SI/DI/BX/BP中
若在SI、DI、BX中,则操作数默认在主存的数据段中
若在BP中,则操作数默认在主存的堆栈段中
寄存器相对寻址
存在位移量DISP
有效地址是寄存器内容与有符号8位或16位位移量之和,寄存器可以是BX、BP、SI、DI。
对应BX/SI/DI,则操作数默认在主存的数据段中
对应BP,则操作数默认在主存的堆栈段中
例题:已知(DS )=2000H,(SS)=3000H ,(BP)=5648H,(DI )=1234H,求访存的物理地址。MOV AX,[DI+06H]MOV AX,[BP+06H]
DI+06H = 123AH
20000+123A = 2123AH
BP + 06H = 564EH
30000+564EH = 3564EH
//DS是数据段基址,SS是堆栈段基址//不管DS有没有括号,都是指寄存器的内容,其他类似。
- 微机原理==Pentium(奔腾)的指令系统(4)
- 微机原理--第二章(6)Pentium 的原理结构
- 微机原理--第二章(5)Pentium 的工作方式
- 微机原理--第二章(7)Pentium的寄存器
- 微机原理--第二章(8)Pentium 的中断
- 微机原理--第二章(8)Pentium的存储管理
- 微机原理--第二章(10)Pentium的保护技术
- 关于微机CPU的指令系统-----指令系统(移位操作指令)
- 【微机原理】-指令系统与程序设计
- 微机原理==作业1(3)
- 微机原理==常用汇编指令(9)
- 微机原理==数据的多段存储(8)
- 微机原理==第二章16位和32位微处理器(4)
- [微机原理]微机原理武汉理工大学视频笔记(一)
- 微机原理学习(1)
- cpu 执行程序的过程(微机原理)
- 微机原理--第三章(1) 8086的寻址方式
- 关于微机原理个人的一些总结(1)
- Yarn简单介绍及内存配置
- 构造函数返回值的理解
- JavaSwing制作简单计算器
- Hibernate 映射文件更新
- 数据库索引的实现原理
- 微机原理==Pentium(奔腾)的指令系统(4)
- Android Journey: Graphics
- 【leetcode】153. Find Minimum in Rotated Sorted Array
- PowerDesigner教程系列(三)概念数据模型
- 对vector使用指针
- RESTful API 设计最佳实践(3)
- springboot+springmvc+mybatis 使用xml文件来写增查改的sql
- 彩色屏显示点阵字库(2016年9月工作)
- Jave字符串替换