linux下arm汇编的常用指令解析
2015-09-22 14:48
507 查看
1. ldr 和 str :
(1) ldr 作为指令,叫做寄存器加载指令。将内存中的值加载到寄存器中。
(2) ldr 作为伪指令,实现一个32位常数或地址值加载到寄存器中。后面加载的常量或地址值标号前面必须有一个 “=” ,编译器会将伪指令替换成指令实现。
(3) str 将寄存器中的值保存到内存单元中。
2. .long 伪操作,给数值分配内存单元。
如上,表示将start表示的值存到virable所代表的内存中。
如上,表示将0x66666666存入virable所在的内存单元中。
3. adr 和 adrl:
伪指令,将一个地址加载到寄存器中。adr 小范围地址读取指令,将基于pc相对偏移的地址值读取到寄存器中。
adrl 中等范围地址读取指令。
4. b 和 bl:
伪指令,实现基于pc值的相对跳转,b 用于不返回的跳转。bl 一般用于子程序跳转,即最后通过 mov pc,lr 返回程序被调用点处。
(1) ldr 作为指令,叫做寄存器加载指令。将内存中的值加载到寄存器中。
(2) ldr 作为伪指令,实现一个32位常数或地址值加载到寄存器中。后面加载的常量或地址值标号前面必须有一个 “=” ,编译器会将伪指令替换成指令实现。
(3) str 将寄存器中的值保存到内存单元中。
2. .long 伪操作,给数值分配内存单元。
start: virable: .long start
如上,表示将start表示的值存到virable所代表的内存中。
virable: .long 0x66666666
如上,表示将0x66666666存入virable所在的内存单元中。
3. adr 和 adrl:
伪指令,将一个地址加载到寄存器中。adr 小范围地址读取指令,将基于pc相对偏移的地址值读取到寄存器中。
adrl 中等范围地址读取指令。
4. b 和 bl:
伪指令,实现基于pc值的相对跳转,b 用于不返回的跳转。bl 一般用于子程序跳转,即最后通过 mov pc,lr 返回程序被调用点处。
相关文章推荐
- linux下的arm汇编程序
- linux下samba初步了解
- 深入 Linux PAM 体系结构
- GNU/Linux 与开源文化的那些人和事
- Linux线程属性总结(一)
- linux常用命令(46):telnet 命令
- RHEL7 CENTOS7
- linux 相关知识
- windows和linux环境中分别如何用C语言获得本机IP地址?
- Linux c 下代码调试
- linux rcu
- 【linux学习笔记三】链接命令
- linux 乱码文件删除
- 理解Linux系统/etc/init.d目录和/etc/rc.local脚本
- 在CentOS上搭建PHP服务器环境
- Centos GeoIP 安装成 PHP 扩展
- linux命令详解:df & du命令
- RobotFramework+SSHLibrary实现远程执行Linux命令
- PHP:Linux/Ubuntu15.04搭建LAMP开发环境图解教程
- linux常用命令(45):ss 命令