zoukankan      html  css  js  c++  java
  • 七种寻址方式(寄存器相对寻址方式)

    操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、D

    I)的内容和指令中的8位/16位偏移量之和。其有效地址的计算公式如公式所示。

    在不使用段超越前缀的情况下,有下列规定:
     
        若有效地址用SI、DI和BX等之一来指定,则其缺省的段寄存器为DS;
     
        若有效地址用BP来指定,则其缺省的段寄存器为SS。
     
    指令中给出的8位/16位偏移量用补码表示。在计算有效地址时,如果偏移量是8位,则进行符号扩展成16位。当所得的有效地址超过0FFFFH,则取其64K的模。

    例:假设指令:MOV BX, [SI+100H],在执行它时,(DS)=1000H,(SI)=2345H,内存单元12445H的内容为2715H,问该指令执行后,BX的值是什么?

    解:根据寄存器相对寻址方式的规则,在执行本例指令时,源操作数的有效地址EA为:
     
    EA=(SI)+100H=2345H+100H=2445H
     
    该操作数的物理地址应由DS和EA的值形成,即:
     
    PA=(DS)*16+EA=1000H*16+2445H=12445H。

    所以,该指令的执行效果是:把从物理地址为12445H开始的一个字的值传送给BX。

    其执行过程如图所示。

  • 相关阅读:
    meanshift聚类的实现
    birch聚类算法
    DBSCAN聚类算法的实现
    discrete adaboost的C++实现
    kd-tree的实现
    红黑树的实现——插入
    24位位图转8位灰度图
    将RGB数据写入BMP位图文件
    splay树的实现
    AVL树的实现
  • 原文地址:https://www.cnblogs.com/lilongjiang/p/2080574.html
Copyright © 2011-2022 走看看