你好!
我认为 MSP430x5xx 和 x6xx 系列用户指南中存在错误:
表6-17 "MSP430X 格式 II 指令周期和长度"为指令 RRAM、RRCM、RRUM 和 RLAM 声明了"n"个周期。 我假设每个函数的正确指令周期数为1。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好!
我认为 MSP430x5xx 和 x6xx 系列用户指南中存在错误:
表6-17 "MSP430X 格式 II 指令周期和长度"为指令 RRAM、RRCM、RRUM 和 RLAM 声明了"n"个周期。 我假设每个函数的正确指令周期数为1。
不、它不是1个周期。
但是的、数据表中未全面介绍扩展指令的周期数。 例如、这在任何 TI 文档中都找不到...
INS ;周期
MOVA R4,R5;1.
MOVA #0、R5;2.
MOVA #1,R5;2.
MOVA #2、R5;1.
MOVA #4、R5;1.
ADDA R4,R5;1.
ADDA #0、R5;2.
ADDA #1,R5;2.
ADDA #2、R5;1.
ADDA #4, R5;2.
SUBA R4,R5;1.
SUBA #0、R5;2.
SUBA #1,R5;2.
SUBA #2、R5;1.
SUBA #4, R5;2.
cmpa R4,R5;1.
cmpa #0、R4;1.
cmpa #1,R4;2.
cmpa #2、R4;2.
cmpa #4, R4;2.
[ Jürgen user="k Ω Wissenwasser">我将介绍表6-17、其中包含每个条目的两个参数、即执行周期和指令长度。 在第一行中、始终为 RRAM、RRCM、RRUM 和 RLAM 写入"n、1"。 我假设这个"n"表示移位数(当然)、但是一条指令需要1个周期、而不是"n"个周期[/引用]
移位数=周期数
相同数量的周期、但它会节省存储器、因为只能通过一个字来完成更多移位。
要100%确定、请自行测量。 CCS 呈现的周期数不正确。 它可以与 IAR 相同。 您可以向 IAR 询问我测量的 MOVA、ADVA、SUA、cmpa 的周期数。 您还可以要求 IAR 这样做(我测量这个值、并且实际周期数为24/27)...
RRA.b @R5 ;3. RRA.b @R5 ;3.
NOP ;1. RRA.b @R5 ;3
RRA.b @R5 ;3. RRA.b @R5 ;3
nop ;1. RRA.b @R5 ;3
RRA.b @R5 ;3. RRA.b @R5 ;3
nop ;1. RRA.b @R5 ;3
RRA.b @R5 ;3. NOP ;1
nop ;1. NOP ;1
RRA.b @R5 ;3. NOP ;1
nop ;1. NOP ;1
RRA.b @R5 ;3. NOP ;1
nop ;1. NOP ;1-----
--------------
周期总数24周期总数27