打印

M3的CPU支持有符号乘除指令吗?

[复制链接]
2505|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
MicroMMU|  楼主 | 2008-8-4 23:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
香水城| | 2008-8-5 08:25 | 只看该作者

STM32的乘除指令

STM32的乘法指令为单周期的,除法指令根据操作数大小为2~12周期 

    指令                       语义                  操作
MUL r0, r1, r2             r0 = (r1 * r2)          乘法,32位结果
MLA r0, r1, r2, r3         r0 = ( r1 * r2) + r3    乘加,32位结果
[U|S]MULL r4, r5, r2, r3   r5:r4 = r2 * r3         乘法,64位结果
[U|S]MLAL r4, r5, r2, r3   r5:r4 = r2 * r3 + r5:r4 乘加,64位结果
SDIV Rd, Rn, Rm            Rd = Rn / Rm            有符号除法
SDIV Rd, Rn, Rm            Rd = Rn / Rm            无符号除法

乘除法共6条指令形式。 

使用特权

评论回复
板凳
程序犟人| | 2008-8-6 12:24 | 只看该作者

更正

STM32的乘法指令为单周期的,除法指令根据操作数大小为2~12周期 

    指令                       语义                  操作
MUL r0, r1, r2             r0 = (r1 * r2)          乘法,32位结果
MLA r0, r1, r2, r3         r0 = ( r1 * r2) + r3    乘加,32位结果
[U|S]MULL r4, r5, r2, r3   r5:r4 = r2 * r3         乘法,64位结果
[U|S]MLAL r4, r5, r2, r3   r5:r4 = r2 * r3 + r5:r4 乘加,64位结果
SDIV Rd, Rn, Rm            Rd = Rn / Rm            有符号除法
UDIV Rd, Rn, Rm            Rd = Rn / Rm            无符号除法
乘除法共6条指令形式。 


请教余数放哪呢?
 

使用特权

评论回复
地板
香水城| | 2008-8-6 12:32 | 只看该作者

请教3楼,你更正了什么地方?

我看不出来呀

使用特权

评论回复
5
程序犟人| | 2008-8-6 12:45 | 只看该作者

除法

SDIV Rd, Rn, Rm            Rd = Rn / Rm            有符号除法
SDIV Rd, Rn, Rm            Rd = Rn / Rm            无符号除法
你的两个是一样的。

使用特权

评论回复
6
ijk| | 2008-8-6 13:14 | 只看该作者

64位乘法

  如果没有记错,64位乘法/乘加不是单周期的

使用特权

评论回复
7
香水城| | 2008-8-6 13:51 | 只看该作者

谢谢,原来第二个S要拉直一边,只有一边打弯

犟人好眼力,呵呵~~~~

使用特权

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

本版积分规则

73

主题

531

帖子

1

粉丝