微机原理与接口技术(哈尔滨工程大学)


1、立即数寻址:操作数直接放在指令中,紧跟操作码后


2、寄存器寻址:操作数放在寄存器。因为寄存器就在CPU内部,所以操作就在CPU内部进行,执行速度快

3、存储器寻址:操作数放在存储器中(除了代码段CS)。存储器操作数都带中括号[ ]

3-1


mov ax 2000H 和 mov ax [2000H] 的区别:
前者的操作数是 2000H,执行完后ax的值是2000H;
后者的操作数放在偏移地址为2000H的内存空间中,如上面的例题所示,执行完后ax的值是3050H
3-2

mov ax bx和 mov ax [bx] 的区别:
如例题所示,前者的操作数是 bx,执行完后ax的值就是bx的值1000H;
后者的操作数放在偏移地址为bx的内存空间中,如上面的例题所示,执行完后ax的值是50A0H
注意寄存器间接寻址只能用到BX,BP,SI,DI这四个寄存器,像 MOV AX [CX] 就是错的

注意第二条,若指令中使用BP,则默认操作数在堆栈段上,其他三个默认在数据段上
3-3

需要注意的点和上面寄存器间接寻址的一样
3-4

注意一定是一个基址一个变址,不能俩基址,俩变址
3-5
