zoukankan      html  css  js  c++  java
  • 8086CPU中的寻址方式二

    关于转移地址的寻址方式

    程序要实现转移,要知道转移的目的地的地址,寻找这种地址的方式,称为转移地址的寻址方式。

    分为两种

    1. 段内转移
    2. 段间转移

    段内转移

    段内转移,只有IP值发生改变,CS没变。

    寻址方式有两种:

    1. 直接寻址
    2. 间接寻址

    直接寻址

    指令中直接给出转移地址,转移地址可以用标号表示。

    ...
    L1:mov AX,BX
    ...
       JMP L1
    

    JMP为无条件转移指令。L1表示的就是mov AX,BX这条指令的地址,所以她是在转移指令中直接给出,属于段内直接寻址。

    段内转移地址是当前指令指针IP的值,加上相对位移量的值。所以也叫相对寻址。

    直接寻址的概念来自指令语句的书写。相对寻址的概念来自转移的原理。

    8086系统中,所有的条件转移指令,只能在段内转移,且转移范围为-128~+127之间。

    所有条件转移指令都是段内直接寻址。只有JMP能做段内,也能做段间。条件转移指令想要做段间,只能利用JMP做桥接。

    间接寻址

    转移地址间接给出,例如

    ...
    mov BX,OFFSET L2
    JMP BX ;(BX)->IP
    ...
    L2: ...
    

    JMP BX,BX内容作为转移地址,是段内间接寻址。

    也可以通过变量给出,例如

    ...
    TABLE DW L2  ;数据段定义一个字节变量,存放L2的偏移地址
    JMP TABLE    ;(TABLE)->IP
    ...
    L2: ...
    

    JMP TABLE,从前面数据寻址方式看,是从TABLE这个存储器单元取一个字给IP,做转移地址,TABLE是数据的直接寻址,我们要做的是把存的内容做转移地址。从转移地址的寻址方式看,是段内间接寻址。具体讲就是:直接寻址方式的段内间接寻址。数据的寻址方式有5种,用任何一种都可以。

  • 相关阅读:
    习题2-7
    习题2-6
    习题2-5
    习题2-4
    习题2-3
    作业二 分支循环结构
    2- 8
    实验三-计算圆柱体积
    实验三-计算n个圆柱体体积
    实验3-计算圆面积
  • 原文地址:https://www.cnblogs.com/ckk-blog/p/14534395.html
Copyright © 2011-2022 走看看