TI中文支持网
TI专业的中文技术问题搜集分享网站

C6678 汇编指令问题

硬件:C6678

我定义了一个任务切换的结构体,如下

T_SP .set 0  +4

T_Startaddress .set 4  +4

T_A0  .set 8   +4

T_A1 .set 12  +4

T_A31 …

T_B0 …

T_B15 …

T_B31

T_Framesize …

然后我使用如下语句,把SP存储到*+A4(T_B15)的位置

STW    SP,*+A4(T_15);

但是编译的时候报错:

B14 or B5 as long based displacement address

James Li2:

我试了下面这个小函数,可以编过

.global temp

.asg B15, SP T_SP .set 0 +4 T_Startaddress .set 4 +4 T_A0 .set 8 +4 T_A1 .set 12 +4

temp: STW SP,*+A4(T_SP) BNOP B3,5

wei wang6:

回复 James Li2:

前面的是能够编过的,但是对于后半段的,也就是T_xx代表的值比较大的时候,就不能编过了。

怀疑是A4能够偏移寻址的范围比较小,B14,B15的偏移寻址范围比较大?是这个原因吗?

赞(0)
未经允许不得转载:TI中文支持网 » C6678 汇编指令问题
分享到: 更多 (0)