返回主目录
第4章 80x86微处理器的指令系统
本章目录 4.1 Intel x86的寻址方式 4.2 Intel x86指令系统 小结
4.1 Intel x86的寻址方式
操作数 指令的一般格式:操作码 计算机中的指令由操作码字段和操作数字段组成。 操作码:指计算机所要执行的操作,是一种助记符。 操作数:指在指令执行操作的过程中所需要的操作 数。 分目标操作数、源操作数。该字段除可以是操作 数本身外,也可以是操作数地址或是地址的一部分,还 可以是指向操作数地址的指针或其它有关操作数的信息。
但是,只要在指令中指定是段超越的,则可以用别 的段寄存器作为基地址。 在汇编语言中,变址寻址指令的书写格式允许有几 种不同的形式。以下几种写法实质上是完全等价的: MOV AH , DATA[BX] MOV AH , [BX]DATA MOV AH , DATA+[BX] MOV AH , [BX]+DATA MOV AH , [DATA+BX] MOV AH , [BX+DATA] 另外,在有的教科书中,若指定的寄存器是BX, BP又称为基址寻址方式。
4.1.1 立即寻址 所提供的操作数直接包含在指令中,这种寻址方式 就叫立即寻址,这个操作数叫立即数。所谓立即数是指 具有固定数值的操作数,即常数。它紧跟在操作码的后 面,与操作码一起放在代码段区域中。如图4-1所示。 例如: MOV AX,2345H ; AX←2345H
立即数若是8位的,可以是无符号数,取值范围是 00H-0FFH,也可以是带符号数,取值范围是80H-7FH。 立即数若是16位的,可以是无符号数,取值范围是 0000H-0FFFFH,也可以是带符号数,取值范围是 8000H-7FFFFH。若是16位的,则存储时低位在前,高 位在后。在指令中,立即数操作数只能作源操作数,而 不能作目的操作数。 立即寻址主要用来给寄存器或存储单元赋初值。