电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

arm指令体系支撑的寻址办法

2017-05-02 15:24分类:电子技术 阅读:

 

寻址办法即是处理器依据指令中给出的地址信息来寻觅物理地址的办法。如今ARM指令体系支撑如下几种多见的寻址办法。
一、当即寻址
当即寻址也叫当即数寻址,这是一种分外的寻址办法,操作数自身就在指令中给出,只需取出指令也就取到了操作数。这个操作数被称为当即数,对应的寻址办法也就叫做当即寻址。例如以下指令:
ADD R0,R0,#1 ;R0←R0+1
ADD R0,R0,#0x3f ;R0←R0+0x3f
在以上两条指令中,第二个源操作数即为当即数,央求以“#”为前缀,关于以十六进制标明的当即数,还央求在“#”后加上“0x”或“&”。
二、寄存器寻址
寄存器寻址即是运用寄存器中的数值作为操作数,这种寻址办法是各类微处理器常常选用的一种办法,也是一种施行功率较高的寻址办法。以下指令:
ADD R0,R1,R2 ;R0←R1+R2
该指令的施行作用是将寄存器R1和R2的内容相加,其作用寄存在寄存器R0中。
三、寄存器直接寻址
寄存器直接寻址即是以寄存器中的值作为操作数的地址,而操作数自身寄存在存储器中。例如以下指令:
ADD R0,R1,[R2] ;R0←R1+[R2]
LDR R0,[R1] ;R0←[R1]
STR R0,[R1] ;[R1]←R0
在榜首条指令中,以寄存器R2的值作为操作数的地址,在存储器中获得一个操作数后与R1相加,作用存入寄存器R0中。
第二条指令将以R1的值为地址的存储器中的数据传送到R0中。
第三条指令将R0的值传送到以R1的值为地址的存储器中。
四、基址变址寻址
基址变址寻址即是将寄存器(该寄存器通常称作基址寄存器)的内容与指令中给出的地址偏移量相加,然后得到一个操作数的有用地址。变址寻址办法常用于拜访某基地址邻近的地址单元。选用变址寻址办法的指令多见有以下几种办法,如下所示:
LDR R0,[R1,#4] ;R0←[R1+4]
LDR R0,[R1,#4]! ;R0←[R1+4]、R1←R1+4
LDR R0,[R1] ,#4 ;R0←[R1]、R1←R1+4
LDR R0,[R1,R2] ;R0←[R1+R2]
在榜首条指令中,将寄存器R1的内容加上4构成操作数的有用地址,然后获得操作数存入寄存器R0中。
在第二条指令中,将寄存器R1的内容加上4构成操作数的有用地址,然后获得操作数存入寄存器R0中,然后,R1的内容自增4个字节。
在第三条指令中,以寄存器R1的内容作为操作数的有用地址,然后获得操作数存入寄存器R0中,然后,R1的内容自增4个字节。
在第四条指令中,将寄存器R1的内容加上寄存器R2的内容构成操作数的有用地址,然后获得操作数存入寄存器R0中。
五、多寄存器寻址
选用多寄存器寻址办法,一条指令能够结束多个寄存器值的传送。这种寻址办法能够用一条指令结束传送最多16个通用寄存器的值。以下指令:
LDMIA R0,{R1,R2,R3,R4} ;R1←[R0]
;R2←[R0+4]
;R3←[R0+8]
;R4←[R0+12]
该指令的后缀IA标明在每次施行完加载/存储操作后,R0按字长度添加,因而,指令可将接连存储单元的值传送到R1~R4。
六、 相对寻址
与基址变址寻址办法相相似,相对寻址以程序计数器PC的其时值为基地址,指令中的地址标号作为偏移量,将两者相加往后得到操作数的有用地址。以下程序段结束子程序的调用和回来,跳转指令BL选用了相对寻址办法:
BL NEXT ;跳转到子程序NEXT处施行
……
NEXT
……
MOV PC,LR ;从子程序回来
七、库房寻址
库房是一种数据构造,按抢先后出(First In Last Out,FILO)的办法作业,运用一个称作库房指针的专用寄存器指示其时的操作方位,库房指针老是指向栈顶。
当库房指针指向终究压入库房的数据时,称为满库房(Full Stack),而当库房指针指向下一个行将放入数据的空方位时,称为空库房(Empty Stack)。
一同,依据库房的生成办法,又能够分为递加库房(Ascending Stack)和递减库房(Decending Stack),当库房由低地址向高地址生成时,称为递加库房,当库房由高地址向低地址生成时,称为递减库房。这么就有四品种型的库房作业办法,ARM微处理器支撑这四品种型的库房作业办法,即:
- 满递加库房:库房指针指向终究压入的数据,且由低地址向高地址生成。
- 满递减库房:库房指针指向终究压入的数据,且由高地址向低地址生成。
- 空递加库房:库房指针指向下一个行将放入数据的空方位,且由低地址向高地址生成。
- 空递减库房:库房指针指向下一个行将放入数据的空方位,且由高地址向低地址生成。

上一篇:掺铒光纤拓展器作业原理和运用办法

下一篇:华为olt ipv6装备指令详解

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部