您的位置 首页 被动

头文件界说和ARM指令

内存管理:内存的分配和释放等静态和动态内存:主要是在释放方式上的区别静态变量:编译时就已经确定,定义在函数外面自动变量:在程序运行…

内存办理:内存的分配和开释等

静态和动态内存:主要是在开释方法上的差异

静态变量:编译时就现已确认,界说在函数外面
主动变量:在程序运行时才能在栈中确认
只读数据节:寄存常量的当地,包括字符常量,不修正的数据

检查数据寄存在那个节点:(用指令)
readelf -S (检查节点号和节点名)
readelf -x .data a.out

生命周期:(分红静态,动态)

两个宏的界说和包括:

界说一个a.h
#ifndef _A_H_
#define _A_H_
…………………………
…………………………

#endif

界说一个b.h,其间包括a.h
#ifndef _B_H_
#define _B_H_

#include “a.h”

…………………………
…………………………

#endif

ARM指令会集指令:

STR R0,[R1] //[R1] <= R0

MVN R0, #0XFF //R0 = 0XFFFFFF00 //取后边数的反码
MVN R0,#0XA7 //0XA7的反码为0x5FFFFFF8 -> R0

MOV R0,#1
MOV R1,#2
CMP R0,R1 ;若R0>R1,则置R0=3,若R0<=R1,则置R1=3
MOVHI R0,#3 ;依据CPSR条件标志位中的HI(无符号大于)判别,若R0>R1,则R0=3
MOVLS R1,#3 ;依据CPSR条件标志位中的LS(无符号小于或等于)判别,R0<=R1,则R1=3

ORR R0,R0,#3 ;逻辑或运算,R0 = R0 3

BIC R0,R0,#0x0B ;将R0的bit0,bit1,bit3清零,其他位不变

跳转指令:
B 无条件跳转
BL 合适子程序的调转,地址有保存,能够回来
B label PC <- label
BL label LR <- PC-4,PC <- label

MRS R0,CPSR ;传送CPSR的内容到R0
MRS R1,SPSR ;传送SPSR的内容到R1

LDR R1,=0x33100
LDRB R0,[R1] ;将存储器地址为R1的字节数据读入寄存器R0,并将R0的高24位清零
LDRH R2,[R1] ;将存储器地址为R1的半字数据读入寄存器R2,并将R2的高16位清零

STR R0,[R1] ;将R0中的字数据写入以R1为地址的存储器中
STR R0,[R1,#8] ;将R0中的字数据写入以R1+8为地址的存储器中

LDR R1,=0x33100
LDMIA R1,{R5,R6} ;R5 = [R1],R6 = [R1+4]
MOV R2,#0x33
MOV R3,#0X44
STMIA R1,{R2,R3} ;[R1]=R2,[R1+4]=R2

数据传送指令:
MOV
MOVS (会影响标志位)
MVN 取反

ADD
SUB
RSB Rd,Rn,R1 Rd <- R1-Rn 逆向减法

影响标志位:
ADC
SBC
RSC

逻辑处理指令:
AND
ORR
EOR 异或
BIC 位铲除指令

比较指令:
CMP 减法运算,成果不保存,修正标志位
TST 位测验指令TST Rn operand 将Rn的值与operand的值按位作逻辑“与”操作,依据操作的成果更新CPSR中的相应条件标志位,当一切测验位为0时-> Z = 1
TEQ 持平测验指令,将Rn的值与operand的值按位作逻辑“异或”操作,依据操作的成果更新CPSR中的相应条件标志位,当两个数据持平时:EQ有用,不然:NE有用

程序状况寄存器拜访指令:
MRS 状况寄存器 -> 寄存器
MSR 状况寄存器 <- 寄存器

MRS R1,CPSR 将CPSR状况寄存器读取,保存到R1
MRS CPSR,R1 R1 -> CPSR

加载/存储指令–单寄存器加载

LDR
LDRB
LDRT
….

STR
STRB
STRT
….

向后索引:LDR Rd,[Rn],#-0x04 1.Rd <- [Rn] Rn = Rn-4

***********************************************************************************************************************************
***********************************************************************************************************************************
***********************************************************************************************************************************
***********************************************************************************************************************************

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/276441.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部