安防监控知识
电气知识|ARM指令集
2017-03-09  浏览:54
安防之家讯:ARM指令的基本格式如下:

其中<>号内的项是必须的,{}号内的项是可选的。各项的说明如下:

ARM指令集——第2个操作数

ARM指令的基本格式如下:



灵活的使用第2个操作数“operand2”能够提高代码效率。它有如下的形式:

(1)#immed_8r——常数表达式;

(2)Rm——寄存器方式;

(3)Rm,shift——寄存器移位方式;

关于“#immed_8r——常数表达式”

该常数必须对应8位位图,即一个8位的常数通过循环右移偶数位得到。

关于“Rm——寄存器方式”:

在寄存器方式下,操作数即为寄存器的数值。

例如:

SUB R1,R1,R2

MOV PC,R0

关于“Rm,shift——寄存器移位方式”:将寄存器的移位结果作为操作数,但Rm值保持不变,移位方法如下:



关于“Rm,shift——寄存器移位方式”:

例如:

ADD R1,R1,R1,LSL #3 ;R1=R1+R1*8=9R1

SUB R1,R1,R2,LSR R3 ;R1=R1-(R2/2R3)

关于“ARM指令集——条件码”;ARM指令的基本格式如下:



使用条件码“cond”可以实现高效的逻辑操作,提高代码效率。

所有的ARM指令都可以条件执行,而Thumb指令只有B(跳转)指令具有条件执行 功能。如果指令不标明条件代码,将默认为无条件(AL)执行。



关于“ARM指令集——条件码”:

关于“ARM指令集——存储器访问指令”:ARM处理器是典型的RISC处理器,对存储器的访问只能使用加载和存储指令实现。ARM处理器是冯·诺依曼存储结构,程序空间、RAM空间及I/O映射空间统一编址,除对RAM操作以外,对外围IO、程序数据的访问均要通过加载/存储指令进行。

存储器访问指令分为“单寄存器操作指令”和“多寄存器操作指令”。



LDR/STR指令用于对内存变量的访问、内存缓冲区数据的访问、查表、外围部件的控制操作等。若使用LDR指令加载数据到PC寄存器,则实现程序跳转功能,这样也就实现了程序散转。

所有单寄存器加载/存储指令可分为“字和无符号字节加载存储指令”和“半字和有符号字节加载存储指令。

下面讲讲,LDR和STR——字和无符号字节加载/存储指令:LDR指令用于从内存中读取单一字或字节数据存入寄存器中,STR指令用于将寄存器中的单一字或字节数据保存到内存。指令格式如下:

LDR{cond}{T} Rd,<地址> ;将指定地址上的字数据读入Rd

STR{cond}{T} Rd,<地址> ;将Rd中的字数据存入指定地址

LDR{cond}B{T} Rd,<地址> ;将指定地址上的字节数据读入Rd

STR{cond}B{T} Rd,<地址> ;将Rd中的字节数据存入指定地址

其中,T为可选后缀。若指令有T,那么即使处理器是在特权模式下,存储系统也将访问看成 是在用户模式下进行的。T在用户模式下无效,不能与前索引偏移一起使用T。



安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 安防之家 的产品:
  • 安防监控资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 Bybc.cn SYSTEM All Rights Reserved