编程语言
首页 > 编程语言> > 【汇编语言】指令寻址

【汇编语言】指令寻址

作者:互联网

指令寻址

在这里插入图片描述

文章目录

一、指令寻址的定义

一条指令执行后,确定执行的下一条指令的位置。

IA-32 处理器设计有相对 、直接和间接3种指明目标地址的方式,其基本含义类似于对应的存储器数据寻址方式。

二、转移范围

程序流程的控制转移:

  • 程序代码在代码段
    • CS:指明代码段在主存中的段基地址
    • EIP:给出将要执行指令的偏移地址
  • 指令顺序寻址,程序顺序执行 ►处理器自动增量EIP
  • 指令跳转寻址,程序控制转移 ►EIP(CS)随之改变

程序转移的范围(远近)在 IA-32 处理器中有段内和段间两种。

(1)段内转移

(2)段间转移

三、指令寻址方式

在这里插入图片描述

(1)顺序寻址

EIP自动增量指向下一条指令,顺序执行接着的下一条指令.

(2)跳转寻址

控制流程跳转(转移)到指定指令位置,实现程序分支、循环、调用等结构.

1.指令的相对寻址

相对寻址是指令代码提供目标地址相对于当前指令指针寄存器 EIP 的位移量,转移到的目标地址(转移后的 EIP 值)就是当前 EIP 值加上位移量
提供目标地址相对于当前指令指针EIP的位移量

目标地址(转移后的IP)=当前EIP+位移量

2.指令的直接寻址

直接寻址是指令代码直接提供目标地址:

目标地址=指令操作数

3.指令的间接寻址

间接寻址是指令代码指示寄存器或存储单元,目标地址来自寄存器或存储单元,是通过间接手段获得的。

标签:EIP,汇编语言,地址,寻址,指令,寄存器,转移
来源: https://blog.csdn.net/BlacKingZ/article/details/116326460