汇编寻址方式

指令中如何提供操作数地址或操作数的方法成为寻址方式。规定如何对地址字段做出解释以找到所需的操作数。

操作数可能在 1 指令中 2 寄存器 3 存储器(堆栈, IO接口中)。 在存储器中时,指令中的地址不能直接访问主存,必须对其作一定运算后才能得到存放操作数的贮存单元地址。

每一种计算机的指令系统都有自己的一套寻址方式,不同计算机的寻址方式的分类和名称并不统一,但大多数可以归结为以下几种方式:

立即寻址--------操作数在指令中。eg mov ax,1234 原操作数寻址方式为 立即寻址,目的操作数为 寄存器寻址

直接寻址--------指令中地址码是操作数所在的主存单元地址。 eg  (1)mov ax,ds:[100h] 原操作数寻址方式为 直接寻址 (2) data segment             varx db 10h      .....................    data ends ................ coseg segment ..........         mov al,varx  原操作数寻址方式为 直接寻址

寄存器寻址--------指令中地址码是寄存器,寄存器中是操作数。  eg mov bx,ax 源和目的操作数都是 寄存器寻址

间接寻址---------指令中地址码是存放操作数地址的主存单元地址。 象 c 语言中的指针。

变址寻址--------指令中指定一个寄存器作为变址寄存器,并在指令地址码部分给出一个形式地址,变址寄存器的内容(变质值)与形式地址相加为操作数的有效地址。  s 操作数 = ( ( r 变址寄存器 ) + d 形式地址 )

还有其他寻址方式,不一一说明,他们是 寄存器间接寻址, 基址寻址, 相对寻址, 页面寻址, 堆栈寻址。

 

下面是8086(内外16位)/8088(内16位,外8位)寻址方式介绍

1 寄存器寻址

2 立即寻址

存储器操作寻址方式

3 直接寻址

4 寄存器间接寻址---------操作数有效地址ea在 si, di, bx, (ds) bp (ss)

5 变址寻址----操作数有效地址ea是 si, di, bx, bp 的内容和指令中给出的位移量之和

6 基址变址寻址----操作数有效地址ea是bx(ds), bp(ss) 的内容,指令中给出的位移量, si, di,3个地址分量 之和

7 串操作寻址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值