打印
[ARM入门]

关于keil arm里的汇编指令问题

[复制链接]
1386|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近项目要求必须要用汇编编写M051的程序,结果我用keil5试了一下,发现当我用LDR调用R8的时候出现编译错误,只允许用R0~R7,而且我试了书上一些ARM的指令格式,发现也都不能用,于是就怀疑程序进入了THUMB状态,但我明明没定义THUMB状态啊,而且像CODE32 ,ARM之类的伪指令也统统不能用,度娘也救不了我啊!也有哪位大佬遇到过这个问题吗?能给我解答一下吗?

使用特权

评论回复

相关帖子

沙发
john_lee| | 2019-8-13 19:15 | 只看该作者
新唐的M051?
它是cortex-M0架构的MCU,指令集就是thumb(只有这一种),当然不能使用 ldr r8, ...

使用特权

评论回复
评论
撒打算的节目 2019-8-14 12:54 回复TA
吐血,原来是这样,我说怎么死也用不了。。。。。谢谢大佬 
板凳
airwill| | 2019-8-19 23:14 | 只看该作者
不建议再用汇编了.  该改用 C 啦.

使用特权

评论回复
地板
撒打算的节目|  楼主 | 2019-8-22 12:43 | 只看该作者
airwill 发表于 2019-8-19 23:14
不建议再用汇编了.  该改用 C 啦.

C的速度没汇编快,在对一些处理极限的信号进行处理的时候还是汇编更加强大

使用特权

评论回复
5
airwill| | 2019-8-23 22:59 | 只看该作者
虽然不能说你没有道理.  但真不要迷恋汇编了.

C的速度没汇编快. 在一定范围內代码量, 也许是的. 但如果代码量大了, 或者编译器的大量优化条件下, 我相信你的汇编未必强与 C 哦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

5

帖子

0

粉丝