下面的是我改的程序,是可以正常结束的。所以我觉得楼主的程序中是因为即使程序跳出了loop还是会接下来执行add_sub部分,然后会把N标志清掉,程序会一直循环。<br />程序:<br />AREA Example1,CODE,READONLY <br /> ENTRY <br /> CODE32 <br />START MOV R0,#0 <br /> MOV R1,#10<br />LOOP BL ADD_SUB <br /> BPL LOOP <br /> B STOP <br /><br />STOP;<font color=#FF0000>这段程序也是我从ADS例程里偷来的,不知道是如何工作的,只知道这样就正常退出程序了。</font><br /> MOV R0, #0x18 <br /> LDR R1, =0x20026 <br /> swi 0x123456 <br /><br />ADD_SUB<br /> ADDS R0,R0,R1 <br /> ADDS R1,R0,R1 <br /> MOV PC,LR <br /> END <br />
|