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

[复制链接]
3635|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楼,你更正了什么地方?

我看不出来呀
程序犟人 发表于 2008-8-6 12:45 | 显示全部楼层

除法

SDIV Rd, Rn, Rm            Rd = Rn / Rm            有符号除法
SDIV Rd, Rn, Rm            Rd = Rn / Rm            无符号除法
你的两个是一样的。
ijk 发表于 2008-8-6 13:14 | 显示全部楼层

64位乘法

  如果没有记错,64位乘法/乘加不是单周期的
香水城 发表于 2008-8-6 13:51 | 显示全部楼层

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

犟人好眼力,呵呵~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

73

主题

531

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部