hotline
400-9904-119当即寻址指令中的操作码字段后边的地址码部分便是操作数自身,也便是说,数据就包含在指令傍边,取出指令也就取出了能立刻运用的操作数(这样的数称为当即数)。当即寻址指令举例如下:
操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直接取出寄存器值来操作。寄存器寻址指令举例如下:
寄存器移位寻址是ARM指令集特有的寻址方法。当第2个操作数是寄存器移位方法时,第2个寄存器操作数在与第1个操作数结合之前,挑选进行移位操作。寄存器移位寻址指令举例如下:
寄存器直接寻址指令中的地址码给出的是一个通用寄存器的编号,所需的操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针。寄存器直接寻址指令举例如下:
多寄存器寻址一次可传送几个寄存器值,答应一条指令传送16个寄存器的任何子集或一切寄存器。多寄存器寻址指令举例如下:
基址寻址便是将基址寄存器的内容与指令中给出的偏移量相加,构成操作数的有用地址。基址寻址用于拜访基址邻近的存储单元,常用于查表、数组操作、功用部件寄存器拜访等。基址寻址指令举例如下:
仓库是一个按特定次序进行存取的存储区,操作次序为“后进先出” 仓库寻址是隐含的,它运用一个专门的寄存器(仓库指针)指向一块存储区域(仓库),指针所指向的存储单元便是仓库的栈顶。存储器仓库可分为两种:
仓库指针指向最终压入的仓库的有用数据项,称为满仓库;仓库指针指向下一个待压入数据的空方位,称为空仓库。
满递加:仓库向上增加,仓库指针指向内含有用数据项的最高地址。指令如LDMFA、STMFA等;
空递加:仓库向上增加,仓库指针指向仓库上的第一个空方位。指令如LDMEA、STMEA等;
满递减:仓库向下增加,仓库指针指向内含有用数据项的最低地址。指令如LDMFD、STMFD等;
空递减:仓库向下增加,仓库指针向仓库下的第一个空方位。指令如LDMED、STMED等。
相对寻址是基址寻址的一种变通。由程序计数器PC供给基准地址,指令中的地址码字段作为偏移量,两者相加后得到的地址即为操作数的有用地址。相对寻址指令举例如下: