当前位置: 首页 > news >正文

asp图片源码网站/电商运营基础知识

asp图片源码网站,电商运营基础知识,网站备案查询工信部官网,pandorabox 做网站ldr指令和adr、ldr伪指令的区别: ldr指令属于load-store指令,用于读取标号地址中的值; adr、ldr伪指令用于获取标号的地址。 adr和ldr伪指令的区别: adr是获取相对PC的地址,与程序当前运行的位置相关,是…

ldr指令和adr、ldr指令的区别:

ldr指令属于load-store指令,用于读取标号地址中的

adr、ldr伪指令用于获取标号的地址

adr和ldr指令的区别:

adr是获取相对PC的地址,与程序当前运行的位置相关,是小范围的地址读取伪指令;

ldr是获取绝对地址,绝对地址是在link的时候确定的,它与程序当前运行位置无关,是大范围读取地址伪指令。

来看一个例子!

汇编文件:

	ldr r0,_start
adr r0,_start
ldr r0,=_start
_start:
b	_start 


反汇编:

led_elf:     file format elf32-littlearm
Disassembly of section .text:
00000000 <.text>:
0:	e59f0004 	ldr	r0, [pc, #4]	; c <_start>
4:	e28f0000 	add	r0, pc, #0	; 0x0
8:	e59f0000 	ldr	r0, [pc, #0]	; 10 <.text+0x10>
c:	eafffffe 	b	c <_start>
10:	0000000c 	andeq	r0, r0, ip

1.ldr r0,_start

 0: e59f0004 ldrr0, [pc, #4]; c <_start>

这是一条指令,从内存地址_start的位置装载该地址存放的数据。

在这里_start是一个标号(是一个相对程序的表达式),汇编程序计算相对于PC的偏移量,并生成相对于PC的前索引的指令:

ldr r0,[pc,#4]。指令执行后,r0=0xeafffffe(计算方法:r0 = [pc(0x00000000+8)+4]= [0x0000000c] = 0xeafffffe)。

ldr r0,_start是根据_start对当前PC的相对位置读取其所在地址的值,因此可以在和_start标号的相对位置不变的情况下获取数据值。

2.adr r0,_start

 4: e28f0000 addr0, pc, #0; 0x0

这是一条伪指令,总是会被汇编程序会变为一个指令,汇编程序尝试产生单个ADD或SUB指令来装载该地址。

如果不能在一个指令中构造该地址,则生成一个错误,并且汇编失败。

这里是取得标号_start的地址到r0,因为地址是相对程序的,因此adr的产生依赖于位置的代码,在此例中被汇编成:

add r0,pc,#0。因此该代码可以在和标号相对位置不变的情况下移动。

假如这段代码在0x30000000运行,那么adr r0,_start得到r0 = 0x3000000c;如果在地址0运行,那么就是0x0000000c了。(计算方法:r0 = pc(0x00000004+8)+0= 0x0000000c )。

通过这一点可以判断程序在什么地方运行。U-Boot中那段relocate代码就是通过adr实现当前程序是在RAM中还是FLASH中。

3.ldr r0,=_start

 8: e59f0000 ldr r0, [pc, #0]; 10 <.text+0x10>

这是一条伪指令,_start是一个绝对地址(也即运行地址)。

这个绝对地址是在链接的时候确定的,它占用2个32bit的空间,一条是指令,另一条是文字池中存放_start的绝对地址。在此例中生成的指令为:

ldr r0,[pc,#0],对应文字池中的地址以及值为:0x00000010:0000000c,因此该伪指令执行后r0的值为0x0000000c。(计算方法:r0 = [pc(0x00000008+8)+0]= [0x00000010]=0x000000c)。

因此可以看出,不管这段代码将来在什么地方运行,它的结果都是r0=0x3000000c。由于ldr r0,=_start取得的是_start的绝对地址,这句代码可以在_start标号的绝对位置不变的情况下移动,如使用寄存器pc在程序中可以实现绝对转移,即实现重定位!




http://www.jmfq.cn/news/5240107.html

相关文章:

  • 深圳手机网站制作公司排名/360网站推广客服电话
  • 无锡梦燕服饰网站谁做的/网络营销的工具有哪些
  • 嘉兴网站的优化/下载谷歌浏览器并安装
  • 个人备案网站类型/营销策划书范文案例
  • 学网站建设 赚钱/seo教学实体培训班
  • 做jsp网站用哪些软件下载/深圳高端seo公司助力企业
  • 网站锚文本链接怎么做/必应搜索推广
  • 视频网站做app还是h5/宁德市有几个区几个县
  • 网页设计培训学费多少钱/seo案例模板
  • 隐藏网站源码/河南网站建设哪里好
  • 哪些网站可以做帮助文档/全国人大常委会副委员长
  • 网站综合建设笔记/沈阳seo排名公司
  • 如何做网站后台/免费私人网站建设软件
  • 智能锁网站建设关键词/seo优化方案总结
  • 站规划在网站建设中的作用/成都网站制作
  • 青岛东橙网站建设/青岛网站权重提升
  • 基本的网站建设知识/四大营销策略
  • 网站内页检测/百度一下首页极简版
  • 上海专业网站建设咨询/安徽网络关键词优化
  • 简单网页制作模板代码/宁波seo快速排名
  • 网站地图制作方法/seo优化网络
  • wordpress建站访问不了/湖南网站seo公司
  • 成都官网seo技术/百度关键词在线优化
  • 什么网站流量多/seo优化推广
  • wordpress固定连接设置后/上海外贸seo公司
  • 北京市住房建设委官方网站/2021网络营销成功案例
  • wordpress查看原图/seo前景
  • wordpress个人版/seo研究协会网是干什么的
  • 南海网站建设/技师培训
  • 有哪些微信开发公司/厦门seo新站策划