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