[MCU] 编了个关于if else条件汇编的测试程序

[复制链接]
 楼主| spark周 发表于 2019-7-31 23:37 | 显示全部楼层 |阅读模式
编了个关于if else条件汇编的测试程序,函数原型是tmp = ConditionTest(m, n, 9, result);
汇编的循环体代码如下,编译后导入板子运行出现错误:
“Close error: Invalid File ID (38257) in CIO message!”
请问我的代码是哪里出错了,谢谢!
yszong 发表于 2019-7-31 23:38 | 显示全部楼层

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| spark周 发表于 2019-7-31 23:41 | 显示全部楼层
MV  .L1  A6, A_loopcount
loop:
     LDB  .D1T1  *A4++[1], A_x1
  LDB  .D2T2  *B4++[1], B_y1
   SUB  .L1  A_loopcount, 1, A_loopcount
   
   CMPGT .L1  A_loopcount, 6, A_tmp
   [A_tmp] B .S2 condition1
[A_tmp]ADDKPC loop, B3, 4
  NOP 4

  CMPGT .L1  A_loopcount, 3, A_tmp
   [A_tmp] B .S2 condition2
   [A_tmp]ADDKPC loop, B3, 4
  NOP 4  

   CMPGT .L1  A_loopcount, 0, A_tmp
   [A_tmp]B .S2 condition3
[A_tmp]ADDKPC loop, B3, 4
  NOP 4

*===================== LOOP EPILOG ============================== *
[!A_loopcount]B .S2 B3   ;return
|| MVK .S1 1,A4 ;return 1
NOP 4
* ================= LOOP PROLOG ============================ *
condition1:
ADD  .S1X A_x1, B_y1, A_sum
STB  .D2T1 A_sum, *result++[1]
[A_loopcount]  B .S2 B3
nop 5
condition2:
SUB  .S1X A_x1, B_y1, A_sum
STB  .D2T1 A_sum, *result++[1]
[A_loopcount]  B .S2 B3  
nop 5
condition3:
MPY  .M1x  A_x1, B_y1, A_sum
nop 1
STB  .D2T1 A_sum, *result++[1]
[A_loopcount]  B .S2 B3  
nop 5
.end
jlyuan 发表于 2019-7-31 23:42 | 显示全部楼层
你可以用C编写,调试时查看他的反汇编代码。
jiaxw 发表于 2019-7-31 23:43 | 显示全部楼层


汇编不懂。
你可以查查这条错误是什么类型的,然后到相应地方检察,修改
wyjie 发表于 2019-7-31 23:47 | 显示全部楼层

没有看出条件编译,DSP的汇编不熟啊!
dengdc 发表于 2019-7-31 23:48 | 显示全部楼层

3楼正解啊
 楼主| spark周 发表于 2019-7-31 23:49 | 显示全部楼层
嗯,预料中的结果,先结贴吧,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

821

主题

10121

帖子

4

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

821

主题

10121

帖子

4

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