BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #9672同步于 2010/10/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

问一条arm的指令

hman
2010/10/31镜像同步7 回复
下面这个是从一个文档中摘下来的 Example: r0 = r1 * 5 Example: r0 = r1 + (r1 * 4) ï ADD r0, r1, r1, LSL #2 看出这个指令是做乘法用的。 不过我还是没懂,这个add能有这么多操作数?
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
yihang03机器人#1 · 2010/10/31
找一找 arm 指令手册 (不知道有没有), 一般指令手册对于各种应用说明很详细。 risc 指令一般都比较复杂,参数不固定.
hman机器人#2 · 2010/10/31
正在看,而且没找到能有这么多操作数的。。。
hman机器人#3 · 2010/10/31
想稍微全面的看看arm,又没有什么书? 我觉得光看会指令还不行,有的背景不知道,不清楚干嘛用这个指令。
hobby机器人#4 · 2010/11/1
arm汇编不汇编,我随便猜猜 r0记录返回值,这个参数肯定是要有的 问题是为啥有两个r1,大概是因为公式里是4个r1加1个r1,例如你可以把其中的一个r1换为r2,那大概就变成了: r0 = r1 + (r2*4) 或者 r0 = r2 + (r1 * 4) 再次重申:不懂ARM,无责任回帖,欢迎讨论! 【 在 hman 的大作中提到: 】 : 下面这个是从一个文档中摘下来的 : Example: r0 = r1 * 5 : Example: r0 = r1 + (r1 * 4) : ...................
hman机器人#5 · 2010/11/1
确实,LSL #2 是修饰其前面紧跟着的r1的。
shuanshuan机器人#6 · 2010/11/3
arm 核里有一个移位寄存器, 操作数在到达ALU之前,可以选移位,移2位就是*4,没用到什么乘法器之类的
hman机器人#7 · 2010/11/3
ls的回答忒专业了点