[讨论] arm汇编程序调用问题,,

xiaoneiwan   2009-7-15 21:01 楼主
usqr_32.s汇编文件,内容如下(实现开平方运算)

.section .text
.globl usqr

usqr:
      SUBS   r1,r0,#1<<30
     ADDCC r1,r1,#1<<30
     MOV     r2,#3<<30
     ADC     r0,r2,#1<<31
     MOV    r3 ,#14
    MOV    r5,#-2
     MOV   r6,#30

n:
     MLA   r4,r2,r5,r6
     CMP   r1,r0.ROR r4
     SUBCS  r1,r1,r0, ROR r4
     ADC     r0,r2,r0,LSL #1
     SUBS    r3,r3,#1
     bge  n

     BIC   r0,r0,#3<<30
     MOV  pc,lr

为什么在一个大程序中调用usqr函数,返回后,就出现问题啊,bug,,但是我在调用usqr函数后,加上一个for循环,打印结果10次,程序就能继续执行,,,去掉for循环就程序死掉了啊,,

回复评论 (2)

我喜欢,因为我编了一年汇编,嘻嘻!不过ARM用C就可以了
点赞  2009-7-16 09:14
是不是加入for之后出现了混编的现场,但在在arm中需要对混编进行说明呢。我没涉及到过,不太清楚
点赞  2009-7-16 10:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复