打印

C6713的boot汇编代指令理解问题:

[复制链接]
1352|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
52mcu|  楼主 | 2014-10-30 23:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C6713的boot汇编代指令理解问题:

1、如下两行代码取自TI的二级bootloader程序。觉得不好理解。大家看看我的中文注释的对吗???

[ b0]  b     copy_loop     ;   如果b不为0跳到copy_loop????????
[!b0]  b     copy_section_top     ;如果b为0跳到copy_section_top???????

2、以下为完整的bootloader拷贝功能代码,代码应该没问题,总觉得这两条指令放的位置不对,还没开始
复制怎么就跳转了???






;****************************************************************************
; copy sections
;****************************************************************************
        mvkl  copyTable, a3 ; load table pointer装载表的首地址
        mvkh  copyTable, a3

        
copy_section_top:
        ldw   *a3++, b0     ; byte count 装载字节数到b0寄存器
        ldw   *a3++, b4     ; load flash start (load) address 装源地址到b4寄存器
        ldw   *a3++, a4     ; ram start address  装目的地址到a4寄存器
        nop   2            

[!b0]  b copy_done         ; have we copied all sections?  如果b0寄存器值0为则跳到完成处
        nop   5

copy_loop:
        ldb   *b4++,b5      ;从源地址装载一字节数据到b5寄存器
        sub   b0,1,b0       ; decrement counter  字节数减一
[ b0]  b     copy_loop     ; setup branch if not done  如果b不为0跳到copy_loop????????
[!b0]  b     copy_section_top     ;如果b为0跳到copy_section_top???????
        zero  a1
[!b0]  and   3,a3,a1
        stb   b5,*a4++    ;开始复制???
[!b0]  and   -4,a3,a5      ; round address up to next multiple of 4
[ a1]  add   4,a5,a3       ; round address up to next multiple of 4

;****************************************************************************
; jump to entry point
;****************************************************************************
copy_done:
                mvkl .S2 _c_int00, B0
        mvkh .S2 _c_int00, B0
        b    .S2 B0
        nop   5

copyTable:
       
                        ; count
                        ; flash start (load) address
                        ; ram start (run) address
         
                    ;; .text
                    .word _text_size
                    .word _text_ld_start
                    .word _text_rn_start
   
                                     
                    ;; end of table
                    .word 0
                    .word 0
                    .word 0
   

相关帖子

沙发
huangfeng33| | 2014-11-6 15:42 | 只看该作者
原理知道,但是汇编语言不熟,只能帮顶了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

157

主题

292

帖子

0

粉丝