社区
CPU和硬件区
帖子详情
问一个arm汇编跳转指令的问题,急
endless
2014-08-08 09:29:19
有这样的场景:
0xb64239cf: str r1, [r0, #0]
0xb64239d1: ldr.w r0, [pc, #112] ; 0xb6423a44
....
0xb643264d: bl 0xb64339d0
请问最后一条跳转指令是跳转到哪一行执行。 谢谢~
已经好久不用CSDN, 所以只有10分可用。对不起大家。
...全文
1033
4
打赏
收藏
问一个arm汇编跳转指令的问题,急
有这样的场景: 0xb64239cf:strr1, [r0, #0] 0xb64239d1:ldr.wr0, [pc, #112]; 0xb6423a44 .... 0xb643264d:bl0xb64339d0 请问最后一条跳转指令是跳转到哪一行执行。 谢谢~ 已经好久不用CSDN, 所以只有10分可用。对不起大家。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fly 100%
2014-09-04
打赏
举报
回复
引用 2 楼 xuweiwei1860 的回复:
建议在链接脚本里面加上强制对齐的语句
前面的是地址 不是机器码 如果是机器码可以理解 地址就无法理解了
猪头三小队长
2014-08-19
打赏
举报
回复
就应该跳转到0xb64339d0这个地址执行啊,这种汇编已经是经过一定程度的转译,适合于人类阅读,要想真正看到原始含义,还是要进行机器码比对。 另外这种非对齐有时是编译器有意为之,并且也完全符合ARM的规范,在早期的ARM中如果进行了arm/thumb混编,需要进行arm/thumb态的切换,有一条规则就是当执行blx这类的指令时,判断最低位,如果最低位为1,那么就从arm态切换到thumb态,反之亦然,因为thumb code的地址都被链接器处理为奇数,所以当发生跳转时就可以进行无缝的转换,你所看到的不对齐只是编译器对这种规则的实现。
fly 100%
2014-08-19
打赏
举报
回复
建议在链接脚本里面加上强制对齐的语句
fly 100%
2014-08-19
打赏
举报
回复
前面的地址都出现了非对齐了 会跳错误中断的 编译的感觉有问题
ARM
汇编
之
跳转
指令
“基础不牢,地动山摇”这句话无论放在哪个时代都永远不会过时,因此后续小T将抽空跟大家一起重新来学习下
ARM
汇编
语言基础
指令
。在我从事工作的过程中,当遇到很多C语言无法解释的时候,基于
汇编
语言的分析总是能够...
ARM
汇编
指令
(
跳转
指令
)
示例代码7.2.4.2 BL
指令
示例 1 push {r0, r1} @保存r0,r1 2 cps #0x13 @进入SVC模式,允许其他中断...这是最简单的
跳转
指令
, B
指令
会将 PC寄存器的值设置为
跳转
目标地址, 一旦执行 B指。在
汇编
中调用 C函数的
问
题
。
arm
汇编
中的
跳转
指令
在
ARM
中,常见的
跳转
指令
有B、BL、MOV、LDR,不同的
指令
,它们的使用条件、使用场合是不同。 B
指令
B
指令
是
ARM
中最基本的
跳转
指令
,它的使用方法如下: B label 上面语句表示
跳转
到label的标号处去执行。B
跳转
...
ARM
指令
——
跳转
指令
ARM
汇编
指令
汇编
语言:
ARM
汇编
中的
跳转
/分支
指令
【
ARM
汇编
系列--
指令
篇01】
这篇博客用来记录一下
ARM
中常见的
汇编
指令
集,因为
ARM
属于RISC,其实不算多,很早之前就想整理下了,这次做个系统的工作,以后工作或者有需要的时候都可以登录博客来温习,属于
ARM
汇编
系列的
指令
篇。 2、
ARM
的
跳转
/...
CPU和硬件区
1,025
社区成员
562
社区内容
发帖
与我相关
我的任务
CPU和硬件区
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
复制链接
扫一扫
分享
社区描述
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章