8086 寻址方式


操作码:操作的性质。

操作数:操作的对象。

寻址方式 :指令中说明操作数所在地址的方法。

源操作数 :对于双操作数指令,逗号右边的操作数。

立即数: 包含在指令中的8位或16位的常数。

目标操作数 :对于双操作数指令,逗号左边的操作数。

以MOV指令为例说明8086 的寻址方式


1. 立即寻址方式

Immediate Addressing

立即数

(1)工作特点:

  • 当立即数为16位时,低字节存放在低地址单元;高字节存放在高地址单元。
  • 立即数被翻译成机器码后,作为指令的一部分被存放在代码段。
  • 目标操作数可以为寄存器,也可为存储单元。
  • 用来给寄存器赋初值。

(2)要求:

  • 立即数只能用于源操作数,不能作为目的操作数。
  • 以A~F开头的立即数,前要加数字0作为区分。

常用来给寄存器赋初值。

2. 寄存器寻址方式

Register Addressing

寄存器名称

(1)工作特点

  • 寄存器内容可以作为端口地址,也可以直接作为内容

(2)要求

  1. 源操作数的长度与目标操作数一致。

3. 存储器寻址方式

(1) 直接寻址方式

Direct Addressing

[立即数]
段地址:[立即数]

(1)工作特点

  • 指令中直接给出操作数的偏移地址
  • 默认使用的段寄存器为数据段寄存器DS
  • 有效地址存放代码段中,操作码的机器码之后

(2)要求

(2) 寄存器间接寻址方式

Register Indirect Addressing

 [基址/变址寄存器]
段地址:[基址/变址寄存器]

(1)工作特点

  • 相比于直接寻址方式,有效值用寄存器的内容代替

(2)要求

  • 只由四个通用寄存器存放偏移地址。BX,BP,SI,DI。
  • 如果用寄存器BX, SI, DI存放有效地址,则以段寄存器DS的内容作为段地址。
  • 如果用寄存器BP存放有效地址,则以段寄存器SS的内容作为段地址。

(3) 寄存器相对寻址方式

Register Relative Addressing

偏移量[基址/变址寄存器]
短地址:偏移量[基址/变址寄存器]

(1)工作特点

  • 主要用于一维数组。

(2)要求

  • 当指令中指定寄存器为BX,SI,DI时,段寄存器使用DS;
  • 当指定寄存器位BP时,段寄存器为SS。

(4) 基址变址寻址方式

Based Indexed Addressing

[基址寄存器][变址寄存器]
[基址寄存器 + 变址寄存器]

(1)工作特点

  • 操作数的偏移地址是一个基址寄存器和一个变址寄存器组合而成。

(2)要求

  • 基址寄存器只能选BX,BP;且与段寄存器配合唯一 DS:BXSS:BP
  • 变址寄存器只能选SI,DI。

(5) 相对基址变址寻址方式

Relative Based Indexed Addressing

位移量[基址寄存器][变址寄存器]

(1)工作特点

  • 有效地址是一个基址寄存器和一个变址寄存器的内容,再加上8位或16位的位移量。

(2)要求

  • DS:BX
  • SS:BP

4. 其他寻址方式

(1) 隐含寻址

指令中不指明操作数,但已隐含规定。

(2) I/O端口寻址

① 直接端口寻址:端口地址由一个8位立即数表示,最多可访问256个端口。

② 间接端口寻址:端口地址由DX寄存去提供,最多可访问64K个端口。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值