计算机组成:浅析MOV指令以及操作数的寻址方式

本文详细介绍了x86架构中MOV指令的使用,包括默认段选择、不同类型的寻址方式,如直接寻址、寄存器间接寻址、基址加变址寻址等,并通过实例解析了物理地址的计算过程。
摘要由CSDN通过智能技术生成

MOV指令以及操作数的寻址方式

  1. 偏移地址在指令中,操作数在内存中
    MOV指令默认的操作数存储在DS中(数据段寄存器);此时采用段加偏移

  2. 偏移地址在寄存器中,操作数在内存中
    能够存储偏移地址的寄存器:BX、BP、SI、DI(此时用作数据寄存器)
    在段寄存器没有指定的情况下,BP对应SS;BX、SI、DI对应DS。
    比如: MOV AX, [BP] #源操作数的物理地址:SS*16 + BP

  3. 第二种情形的延申
    比如: MOV AX, [BP+15H] #源操作数的物理地址:SS*16 + BP + 15H

  4. 基址加变址寻址方式
    用一个基址寄存器(BX和BP)和一个变址寄存器(DI和SI)值,相加结果作为操作的偏移地址(SI源变址寄存器,DI目的变址寄存器);
    BP对应SS(因为BP本身就用于堆栈操作,所以对应SS堆栈段寄存器);
    BX对应DS(同样BX本身就是数据寄存器,所以对应DS数据段寄存器);
    比如:
    MOV AX, [BX+SI] #源操作数的物理地址:DS*16 + BX + SI
    MOV AX, [BP+DI] #源操作数的物理地址:SS*16 + BP + DI

  5. 第四种情形的升级
    基址加变址加相对寻址
    比如:
    MOV AX, [BX+SI+10H] #源操作数的物理地址:DS*16 +

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值