3.寄存器寻址 ■参加操作的数据在CPU的通用寄存器中。 ■例: ■MOV AX,BX AX BX 26
26 3. 寄存器寻址 ◼ 参加操作的数据在CPU的通用寄存器中。 ◼ 例: ◼ MOV AX,BX AX BX
■例:指令执行前: (AX)=3064H (SS)=1234H, MOV SS,AX 指令执行后:(SS)=3064H (AX)保持不变。 SS AX 指令执行前 1234组 3064组 指令执行后 3064H 3064H 27
◼ 例:指令执行前: (AX)=3064H (SS)=1234H, MOV SS, AX 指令执行后: (SS)=3064H, (AX)保持不变。 27 指令执行前 指令执行后
操作数可以是8位或16位寄存器;也可以是 段寄存器、地址指针或变址寄存器; ■可以减少指令长度;因为操作数在寄存器中 ,不需要访问存储器,运算速度较高; ■常用于存、取寄存器中的数。 28
◼ 操作数可以是8位或16位寄存器;也可以是 段寄存器、地址指针或变址寄存器; ◼ 可以减少指令长度;因为操作数在寄存器中 ,不需要访问存储器,运算速度较高; ◼ 常用于存、取寄存器中的数。 28
4,寄存器间接寻址 参与操作的操作数存放在内存中; ■操作数的偏移地址在形式上用“[间址寄存 器]”表示。 ■操作数的段地址根据所选择的通用寄存器决 定。BXSI,DI或BP。 29
29 4. 寄存器间接寻址 ◼ 参与操作的操作数存放在内存中; ◼ 操作数的偏移地址在形式上用“ [间址寄存 器] ”表示。 ◼ 操作数的段地址根据所选择的通用寄存器决 定。BX,SI,DI或BP
寄存器间接寻址例 例: ■设BX=1200H "执行:MOV AX,[BX] MOV 代码段 偏移地址 1200H 22H AH AL 11H 数据段 11 22 30
30 寄存器间接寻址例 ◼ 例: ◼ 设BX=1200H ◼ 执行:MOV AX,[BX] 22H 11H 1200H 偏移地址 AH AL ┇ 11 22 数 据 段 代 码 段 MOV