arm触摸屏的头文件_头文件定义和ARM指令

2015.2.2

星期一,阴天

内存管理:内存的分配和释放等

静态和动态内存:主要是在释放方式上的区别

静态变量:编译时就已经确定,定义在函数外面

自动变量:在程序运行时才能在栈中确定

只读数据节:存放常量的地方,包括字符常量,不修改的数据

查看数据存放在那个节点:(用命令)

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,#0XA0000007 //0XA0000007的反码为0x5FFFFFF8 -> R0

MOVR0,#1

MOVR1,#2

CMPR0,R1;若R0>R1,则置R0=3,若R0<=R1,则置R1=3

MOVHIR0,#3 ;根据CPSR条件标志位中的HI(无符号大于)判断,若R0>R1,则R0=3

MOVLSR1,#3 ;根据CPSR条件标志位中的LS(无符号小于或等于)判断,R0<=R1,则R1=3

ORRR0,R0,#3;逻辑或运算,R0 = R0 | 3

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

跳转指令:

B 无条件跳转

BL 适合子程序的调转,地址有保存,可以返回

B label PC

BL label LR

MRSR0,CPSR;传送CPSR的内容到R0

MRSR1,SPSR;传送SPSR的内容到R1

LDR R1,=0x30003100

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为地址的存储器中

LDRR1,=0x30003100

LDMIA R1,{R5,R6} ;R5 = [R1],R6 = [R1+4]

MOV R2,#0x33

MOV R3,#0X44

STMIAR1,{R2,R3} ;[R1]=R2,[R1+4]=R2

数据传送指令:

MOV

MOVS (会影响标志位)

MVN 取反

ADD

SUB

RSB Rd,Rn,R1 Rd

影响标志位:

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值