Arm Reference
来源:互联网 发布:mac版围棋对弈软件 编辑:程序博客网 时间:2024/06/06 20:00
本章节包括ARMv6指令集,寄存器集以及GNU汇编程序语法。
1、ARM指令集个别指导(Tutorial)
接下来列出在课程中所有使用的指令。
ldr reg,=val:把一个数值val,放入一个叫做reg寄存器中
mov reg,#val :把一个数值val,放入一个叫做reg寄存器中
lsl reg,#val :把reg寄存器中的值左移动val位
str reg,[dest,#val] : 把reg寄存器中的值写入到dest+val的内存地址中
name:下一行指令的标签
b label:跳转指令,跳转到标签指定的下一行指令
sub reg,#val : 将寄存器reg中的值减去val
cmp reg,#val :将寄存器reg的值和val进行比较
ne:后缀指令,如cmpne,表示不等于(not equal)的时候,执行后面的指令。!=
.global lbl :lbl这个标签是外部文件中去访问它。
mov reg1,reg2:把reg2的值拷贝到reg1中
ls:后缀指令 <= 意思 (unsigned)无符号比较
hi:后缀指令 >意思 (unsigned)
push (reg1,reg2,reg3...):将reg1,reg2,reg3...入栈,只有一般目的寄存器,lr寄存器可以入栈
bl lbl:lr寄存器保存了下一行的地址,跳转到lbl后,可以执行mov PC,lr回到下一行的执行指令。
add reg,#val:将寄存器reg中的值+val
mov r1,12
mov r0,r1,lsl#2:这两个指令结果r0值是12<<2
lsl reg1,reg2:将reg1的值左移reg2的值
str reg,[dst]:等价str reg,[dst,#0]
pop (reg1,reg2,reg3...),出栈,不多说了
(未用到,暂时待定)别名(alias).req reg :
.unreq:
lsr dst,src,#val :逻辑右移,参照左移
and reg,#val: 逻辑与
teq reg,#val: reg的值是否等于val
ldrd regLow,regHigh,[src,#val]:双字节读取,将src+val地址的值按8位双子节读取到regLow和regHigh两个寄存器中
.align num :确保下一行地址按照2num次幂对齐
.int val :输出val
tst reg,#val :reg和val逻辑与,为0时相等
strh reg,[dest]:将寄存器的half world 低位存储到dest地址中。
.i
.
.
0 0
- Arm Reference
- 官方文档:ARM体系结构ARM Architecture Reference Manual
- led_on_c.o:(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
- eclipse gcc ARM 开发环境 undefined reference to `_init' 解决方法
- 用gcc-none-arm 编译出现undefined reference to `_sbrk'
- (.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
- arm linux c++编译std 提示 undefined reference
- Reference
- reference
- Reference
- Reference
- reference
- reference
- Reference
- Reference
- Reference
- reference
- 连接时出错,(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
- 2015-3-31 浏览器本地缓存问题
- 【C++基础之八】函数指针和回调函数
- uboot 读书笔记【1】
- 乌鲁木齐爱德华医院2015年全国第13个爱鼻日健康公益活动
- 中国银行支付接口(ecshop版)
- Arm Reference
- RabbitMQ消息队列(二):”Hello, World“(转)
- potplayer打开多个视频文件
- 提示 Available Memory Is Low
- [LinkedIn]Isomorphic Strings Dictionary substitution
- javaee学习之路(二十一)JavaWeb项目实战--银行存款业务
- 查找1亿个数里面最大的100个数。
- 基于matlab的彩色图像点阵提取小工具
- RabbitMQ消息队列(三):任务分发机制(转)