16位汇编 02
寻址
>> 立即寻址
操作数的值存储在指令中的方式称作立即寻址。
汇编中整数常量称作立即数。
立即数可以是8位数, 也可以是16位数

>> 寄存器寻址
操作数的值存储在寄存器的寻址方式称作寄存器寻址。
寄存器包括通用寄存器,段寄存器

注意:
段寄存器之间不能赋值。
指令指针寄存器不能用作寻址。
>> 直接寻址
操作数值在内存中, 机器中存储16位段内偏移的寻址方式称作直接寻址。

一般寻址格式为:段基址+段偏移, 这里直接写了段偏移, 默认为数据段段基址
所有立即数赋值给内存,都要指定内存的长度,指定方式如下:

没有从内存到内存的赋值方式
>> 寄存器间接寻址
1:操作数值在内存中, 段内偏移存储在寄存器中的寻址方式称作寄存器间接寻址。
2:间接寻址的寄存器有BX, BP, SI, DI

其中BP(基址指针寄存器)存储的是SS(堆栈段寄存器)的地址。
BX(基址寄存器),SI(源变址寄存器),DI(目的变址寄存器)这3个寄存器里面存储的是DS(数据段寄存器)的地址


>> 寄存器相对寻址
1:操作数值在内存中, 段内偏移存储由【寄存器+立即数】计算得来的寻址方式称作寄存器相对地址
2:寄存器相对寻址的寄存器有BX, BP, SI, DI.
3: 寄存器相对寻址的立即数可以是8位,也可以是16位

有以下不同写法:

>> 基址变址寻址
1:操作数值在内存中, 段内偏移由【寄存器+寄存器】计算得来的寻址方式称作基址变址寻址。
2:可用基址的寄存器有BX, BP.
3: BX 默认DS段, BP默认SS段。
4:可用作变址的寄存器有SI, DI.

>> 基址变址相对寻址
1:操作数值在内存中, 段内偏移由【基址寄存器+变址寄存器+偏移常量】计算得来的寻址方式称作基址变址寻址。
2:可用作基址的寄存器有BX,BP.
3:BX默认DS段,BP默认SS段。
4:可用作变址的寄存器有SI, DI.
5:可用作常量的数值可以是8位, 可以是16位。

>> 不存在的操作
1: 内存到内存。
2:段寄存器到内存
3:内存带段寄存器

浙公网安备 33010602011771号