刚刚拿到了EASYARM2200的开发板,照着书上一个个的做实验,结果第二个就有问题了。是一个算乘方的程序。我自己改了一下,结果就错了,哪位高手告诉我错在哪里啊。原程序如下<br />X EQU 2<br />N EQU 4<br /><br /><br /> <br /> AREA Example4,CODE,READONLY<br /> ENTRY<br /> CODE32<br /> <br /> <br /> <br />START LDR SP,=0x40003F00<br /> LDR R0,=X<br /> LDR R1,=N<br /> BL POW<br /> <br />HALT B HALT<br /><br /><br />POW<br /> <br /> STMFD SP!,{R1-R12,LR}<br /> <br /> CMP R1,#0<br /> <br /> MOVEQ R0,#1<br /> BEQ POW_END<br /> <br /> CMP R1,#1<br /> BEQ POW_END<br /> <br /> <br /> SUB R1,R1,#1<br /> <br />POW_L1<br /><br /> BL DO_MUL<br /> SUBS R1,R1,#1<br /> BNE POW_L1<br /> <br />POW_END<br /><br /> LDMFD SP!,{R1-R12,PC}<br /> <br /> <br />DO_MUL<br /> MOV R2,R0<br /> MUL R0,R2,R0<br /> MOV PC,LR<br /> <br /> <br /> END |
|