linux下arm汇编的常用指令解析
1. ldr 和 str :
(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下arm汇编注释符
注意使用 @ 符 # 是整行注释符 @ 是行内注释符 以为 @ 是行内注释符,害我调试了半天.
- linux下history命令显示历史指令记录的使用方法
Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中.默认保存1000条,你也可以更改这个值 ...
- linux下维护服务器之常用命令
linux下维护服务器之常用命令! 第1套如下: 正则表达式: 1.如何不要文件中的空白行和注释语句: [root@localhost ~]# grep -v '^$' 文件名 |grep -v '^ ...
- linux下arm平台Qt编译环境搭建与解析
一.概述: 我们知道QTcreator.这仅仅是个IDE,他包含了一个编译器--qmake.这两者的关系与codeblocks和g++的关系一样,首先要明确这些. 而我们在linu ...
- 2017-7-18-每日博客-关于Linux下的history的常用命令.doc
History history命令可以用来显示曾执行过的命令.执行过的命令默认存储在HOME目录中的.bash_history文件中,可以通过查看该文件来获取执行命令的历史记录.需要注意的是.bash ...
- ARM 汇编 内存访问指令
一. 单个寄存器操作读写内存 内存访问指令格式:<opcode><cond> Rd, [Rn] Rn 中保存的是一个内存的地址值 1. 内存写指令 [ str,strb,st ...
- linux下tar命令的常用实例
语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用. 主选项:c 创建新的档案文件.如果用户想备份一个目录或是一些 ...
- (原创)Linux下的floating point exception错误解析
很多人也许都碰到过这样的错误:linux下程序刚一运行就报错:Floating point exception. 其实这个问题很容易排查,绝大多数情况情况都是逻辑的问题,如:c = a/b;或 c = ...
- Linux下的ELF可执行文件的格式解析 (转)
LInux命令只是和Kernel一起被编译进操作系统的存在于FS的ELF格式二进制文件,或者权限足够的脚本,或者一个软链 ELF(Executable and Linking Format)是一种对象 ...
随机推荐
- lunix 集群,负载均衡,location
nginx location语法: location支持的语法优先级: 复制代码location匹配顺序 # www.s14hanju.com/1.location = / { 我是代码1} ...
- TessorFlow学习 之 手写数字识别的搭建
手写数字识别的搭建
- python 获取整点时间戳,半整点时间戳 ,同时将时间戳转换成 日期时间
import time, datetime def gettime(): for x in range(24): a = datetime.datetime.now().strftime(" ...
- django之paginator
class Paginator(object):#分页器 def __init__(self, object_list, per_page, orphans=0, allow_empty_first_ ...
- JAVA SpringBoot 项目打包(JAR),在打包成 docker 镜像的基本方法
1,打包 SpringBoot 项目,使用 IDEA 如下图 2,将 JAR 包上传到安装了 Docker 的 linux 服务器上,并且在相容目录下创建一个名为 Dockerfile 的文件 3,在 ...
- shell中的逻辑判断while
w|head -1|awk -F'load average: ' '{print $2}'|cut -d. -f1 #!/bin/bash while true do load=`w|head -1| ...
- nopi设置excel只读
- 深度学习原理与框架-卷积网络细节-经典网络架构 1.AlexNet 2.VGG
1.AlexNet是2012年最早的第一代神经网络,整个神经网络的构架是8层的网络结构.网络刚开始使用11*11获得较大的感受野,随后使用5*5和3*3做特征的提取,最后使用3个全连接层做得分值得运算 ...
- 微信、企业微信和支付窗 SDK 三合一,JeeWx-api 1.2.0 版本发布
摘要: JEEWX-API 是第一款JAVA版微信极速SDK,同时集成企业微信SDK,支付窗SDK,可以快速的基于她进行微信公众号.企业微信.支付窗应用开发.基于 jeewx-api 开发可以立即拥有 ...
- iOS 视图间的几种通信方式
注:此处视图为广义上的视图,不限于View,ViewController之类的都算. 大致分为三种,Notification, delegate, block 例: 假设要在A视图中调起B视图,B视图 ...