第3章 80X86指令系统及汇编语言
..
操作码 2000 ∶ 0FFFH 50H 2000∶ 1000H
2000 ∶ 1050H 操作码
CS + IP +
20 00 10 00
50 21 05 0
.. .. ..
图3.8 段内相对寻址
第3章 80X86指令系统及汇编语言
2.段内间接寻址 在段内间接寻址方式中,转移地址的段内偏移地 址要么存放在一个16位的寄存器中,要么存放在存贮 器的两个相邻单元中。存放偏移地址的寄存器和存贮 器的地址将按指令码中规定的寻址方式给出。此时, 寻址所得到的不是操作数,而是转移地址。 例:JMPCX 其过程如图3.9所示。
第3章 80X86指令系统及汇编语言
3.1.2转移地址的寻址方式 1.段内相对寻址 在段内相对寻址方式中,指令应指明一个8位或16
位的相对地址位移量DISP(有正负符号, 用补码表示)。此时,转移地址应该是代码段寄存
器CS内容加上指令指针IP内容,再加上相对地址位移 量DISP。
例:JMPDISP1 其过程如图3.8所示。
第3章 80X86指令系统及汇编语言
2.交换指令 XCHG OPRD1,OPRD2 交换指令把一个字节或一个字的源操作数与目的 操作数相交换。这种交换能在通用寄存器与累加器之 间、通用寄存器之间、通用寄存器与存贮器之间进行, 但是段寄存器不能作为一个操作数。例如:
XCHGAL,CL XCHGAX,DI XCHGBX,SI XCHGAX,BUFFER XCHGBX,DATA[SI]
第3章 80X86指令系统及汇编语言
立即数
段寄存器 CS,DS,SS,ES
通用寄存器 AX,BX,CX,DX,BP,SP,SI,DI AH,AL,BH,BL,CH,CL,DH,DL