购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 数据寻址方式

运行的程序保存于主存储器,需要通过存储器地址访问程序的指令和数据。通过地址访问指令或数据的方法称为寻址方式(Addressing Mode)。执行一条指令后,确定下一条要执行的指令的方法是指令寻址。指令执行过程中,访问所需要操作的数据(操作数)的方法是数据寻址。

本章前面介绍了汇编语言如何用常量和变量表达数据,现在学习处理器指令如何访问这些数据。指令由操作码和操作数两部分组成,本节学习如何表示和访问操作数。虽然有些指令不需要操作数,但大多数指令都有一个或两个操作数。

笼统地说,数据来自主存或外设,但数据可能事先已经保存在处理器的寄存器中,也可能与指令操作码一起进入了处理器。主存和外设在汇编语言中被抽象为存储器地址或I/O地址,而寄存器虽然以名称表达,但机器代码中同样用地址编码区别寄存器,所以指令的操作数需要通过地址指示。这样,通过地址才能查找到数据本身,这就是数据寻址方式(Data-addressing Mode)。对处理器的指令系统来说,绝大多数指令采用相同的寻址方式。了解寻址方式对读者理解处理器工作原理和指令功能,以及进行汇编语言程序设计都至关重要。

在汇编语言中,操作码用助记符表示,操作数则由寻址方式体现。IA-32处理器只有输入/输出指令与外设交换数据,我们将在8.3节学习。除外设数据外的数据寻址方式有以下3类。

● 用常量表达的具体数值(立即数寻址)。

● 用寄存器名表示的其中内容(寄存器寻址)。

● 用存储器地址指示其保存的数据(存储器寻址)。 iJxEDbXwiA2uLQAhAuzm/7s2jz5qZskKO9PQ3pqz5L7FLz6fWHKRT/QiS0FJFSdX

点击中间区域
呼出菜单
上一章
目录
下一章
×