;**************************************************************************** ; copy sections ;**************************************************************************** mvkl copyTable, a3 ; load table pointer mvkh copyTable, a3
copy_section_top: ldw *a3++, b0 ; byte count ldw *a3++, b4 ; load flash start (load) address ldw *a3++, a4 ; ram start address nop 2 [!b0] b copy_done ; have we copied all sections? nop 5 copy_loop: ldb *b4++,b5 sub b0,1,b0 ; decrement counter [ b0] b copy_loop ; setup branch if not done [!b0] b 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 //////////////////////////////////////////////////////////////这一段程序我认为不能执行到这里,这是从6713bootload里面截取的。帮忙分析一下,谢谢! |