本人最近在设计DSP6713的二级BOOT的时候,参考了DSP官方提供的手册spra999a,在手册里面有这么一段汇编代码,如下图(手册P13),代码的其他部分我大概还是可以看明白的,但是对于图中红色框中的几行代码,我始终不知道是什么意思,按照我的理解代码中的红框上面的两句代码如下:
[ b0] b copy_loop
[!b0] b copy_section_top
这两句代码应该是根据b0寄存器里面值来决定跳转的位置,按我的理解就是不管b0的值是0与否,程序都会执行跳转,要不跳转到copy_loop标号处(b0非零时),要不就跳转到copy_section_top 标号处(b0为0时)。
也就是说图中红色框中的代码始终不可能运行到,因此也就不能执行stb b5,*a4++这句代码了,那就不能实现代码的搬移了啊!!!这里我不知道自己的理解那里有问题,恳请大家指点。
关键两个问题:1.红色框中的代码的作用是什么?2.什么实时才能执行到红色框中代码?
附手册链接:www.ti.com.cn/.../spra999a.pdf
