首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asm指令"ldr“和"ldr_post”有什么区别?

asm指令"ldr“和"ldr_post”有什么区别?
EN

Stack Overflow用户
提问于 2012-01-30 11:55:16
回答 2查看 367关注 0票数 2

在尝试将最新的ffmpeg迁移到iOS平台时,我遇到了一些编译错误。这些错误来自GNU汇编程序(gas),它似乎无法处理最新的ffmpeg中的一些asm指令。

例如:

代码语言:javascript
复制
libavcodec/arm/dsputil_armv6.S:109:bad instruction 'ldr_post r4,r1,r2'

但是,指令'ldr_post‘在以前版本的ffmpeg (更具体地说,版本0.7)中找不到。

我的问题是,'ldr_post‘和'ldr’有什么区别?我可以将'ldr_post‘改为几个更简单的指令的组合,以避免这些编译错误吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-30 19:28:01

来自asm.S

代码语言:javascript
复制
.macro  ldr_post        rt,  rn,  rm:vararg
A       ldr             \rt, [\rn], \rm
T       ldr             \rt, [\rn]
T       add             \rn, \rn, \rm
.endm

'A‘标记ARM模式下发出的指令,'T’标记Thumb模式下发出的指令。因此,它基本上等同于ldr r4, [r1], r2,但同时适用于ARM和Thumb模式(Thumb-1不支持增量后版本,因此必须使用两条指令进行模拟)。

票数 2
EN

Stack Overflow用户

发布于 2012-01-30 16:12:45

ldr_post不是ARM有效指令

我假设这是一个宏。所以,试着找到宏定义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9059152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档