周公!救命!实验教程一(实验3.8 C语言程序实验)存在大疑问?!
程序代码如下,是关于汇编的启动代码的 IMPORT |Image $$ RO $$ Limit| IMPORT |Image $$ RW $$ Base| IMPORT |Image $$ ZI $$ Base| IMPORT |Image $$ ZI $$ Limit| IMPORT Main ;声明C程序中的Main()函数, AREA START,CODE,READONLY ;声明代码段START ENTRY ;标识程序入口 CODE32 ;声明32位ARM指令 RESET LDR SP,=0x40003F00 ;初始化C程序的运行环境 LDR R0,=|Image $$ RO $$ Limit| LDR R1,=|Image $$ RW $$ Base| LDR R3,=|Image $$ ZI $$ Base| CMP R0,R1 BEQ LOOP1 LOOP0 CMP R1,R3 LDRCC R2,[R0],#4 STRCC R2,[R1],#4 BCC LOOP0 LOOP1 LDR R1,=|Image $$ ZI $$ Limit| MOV R2,#0 LOOP2 CMP R3,R1 STRCC R2,[R3],#4 BCC LOOP2 B Main ;跳转到C程序代码Main()函数 END
!!!!!问题一!!!!! 其他的内容还是可以理解,但是这里一段实在是看不懂阿 CMP R0,R1 BEQ LOOP1 LOOP0 CMP R1,R3 LDRCC R2,[R0],#4 STRCC R2,[R1],#4 BCC LOOP0
这段程序在干什么?有什么意义?请解释一下!!谢谢
!!!!!问题二!!!!! 还有就是 LOOP1 LDR R1,=|Image $$ ZI $$ Limit| MOV R2,#0 LOOP2 CMP R3,R1 STRCC R2,[R3],#4 BCC LOOP2
这一段是不是在给ZI段的内容清0?
就上面的这两个问题 |