当前位置:首页 > 内存 > 正文

不需要访问内存的寻址方式包括

  • 内存
  • 2024-06-14 05:26:36
  • 1698

一、8086指令系统的寻址方式有哪些???寻址方式:
1.立即寻址模式
功能:操作数紧跟在操作代码后面,操作数直接从内存送到寄存器;
操作数直接存储在指令存储器中,作为代码的一部分存储在代码中命令的。这种类型的操作数称为立即数;立即数寻址方式用于表示常量。常用来给寄存器赋初值,只能。用于源操作数域,不能用于目标操作数域;
格式:moval,1h发送1h到al
2.功能:直接发送内容。寄存器的入寄存器;操作数在寄存器中,指令指定寄存器号;这种寻址方式可以达到较高的运行速度,因为操作数在寄存器中,不需要访问内存寄存器来获取操作数;
格式:movax,bx
3.内存寻址方式:形成操作数逻辑地址的偏移量;代码片段并使用不同的方法获得。
<1>直接寻址方式
功能:适合处理单个变量;
有效寻址:在指令中,存放在代码段中操作码指令之后,但操作数一般是存储在数据段中的,所以首先要找到操作数的物理地址,然后才能访问内存来获取操作数;
语法:移位操作存储的是操作数地址;
格式1:movax,var发送给ax的ds:s内容
格式2:movax,[var/data]相当于格式1
<2>间接寻址模式寄存器
功能:方便访问一维数组;
有效地址:地址寄存器中只有基址bx、bp或索引寄存器si、di和操作数在内存中,如果指令中指定的寄存器是bx、si、di,则数值运算是在数据段中进行的,因此其中段寄存器ds的内容作为段地址;如果指令中指定的寄存器是bp,则操作数在堆栈段中,因此使用段寄存器ss的内容作为段地址;
语法:基地址寄存器或索引寄存器存储元素与段基值之间的字节距离;
格式1:movax,[bx]将ds的内容内容:(bx)发送到ax
格式2:movax,[bp]将ss:(bp)的内容发送到ax
格式3:movax,[si]将ds:(si)的内容发送到ax
格式4:movax,[di]将ds:(di)的内容发送到ax
<3>注册相对寻址方式
功能:访问一维数组也方便;
有效地址:指令中指定的8位或16位移位量与基址寄存器bx、bp或变址寄存器si、di的值之和;
语法:偏移量存放数组首地址和基地址寄存器或索引寄存器存储数组的首地址;
格式1.:movax,[var/data+bx]将ds的内容:(var/data+(bx))发送到ax
格式2:movax,[var/data+bp]发送ss:(var/data+(bp))的内容到ax
格式3:movax,[var/data+si]发送ds:(var/data+(si))发送到ax
格式4:movax,[var/data+di]和ds的内容:(var/data+(di))发送到ax
<4>基址索引地址寻址方式index
功能:也方便访问维数组;
有效地址:基地址寄存器bx、bp和变址寄存器si、di的值之和;
语法:base地址寄存器存储数组的首地址,索引寄存器存储元素与数组之间的字节距离;
格式1:movax,[bx+si]发送ds的内容:((bx)+(si))发送至ax
格式2:movax,[bx+di]发送ds内容:((bx)+(di))发送至ax
格式3:movax,[bp+si]发送ss:发送((bp)+(si))的内容到ax
格式4:movax,[bp+di]发送ss的内容:((bp)+(si))到ax
<5>相对基地址索引寻址方式
功能功能:方便存取二维数组;
有效寻址:指令中指定的8位或16位偏移量基地址寄存器bx、bp和索引寄存器项si、di的和;
语法:谓词存储数组的首地址,基地址寄存器存储数组元素的行地址,索引寄存器存储数组元素的行地址存储数组元素的列地址;
格式1:movax,[var/data+bx+si]将ds的内容:(var/data+(bx)+(si))发送到ax
格式2:movax,[var/data+bx+di]将ds:(var/data+(bx)+(di))的内容发送到ax
格式3:movax,[var/data+bp+si]发送ss:(var/data+(bp)+(si))的内容发送到ax
格式4:movax,[var/data+bp+di]发送ss的内容:(var/data+(bp)+(di))变成斧子