razor7788 发表于 2022-8-29 00:00:16

如何在汇编代码中声明和访问一个常数变量

各位好 我最近在练习汇编程序,使用MDK5.30 ,arm compiler 6.16 ,cpu :cm4F 程序如下 ,我想声明一个浮点数初值为50的变量 ,在汇编中访问它,但是程序总是没有达到我想要的结果 加载到r4中的并非是ssfloat的值



ssfloat:        .float 50.0

.section         text , "ax"
.balign                4       
.global                test_pre
.type                test_pre, "function"

test_pre:
        push {r4,r5,lr}
        mov         r4 , ssfloat

        mov.w         r3 , #64
        vmov        s0 , r4

        loop_a:
                subs                        r3 , #1
                ldrsh                        r4 , , #2
                vmov                         s2 , r4;
                vcvt.f32.s16        s2 , s2 , #0
                vmul.f32                 s2 , s2 , s0
                vstm                        r1! , {s2}
                bne                                loop_a
        pop {r4,r5,pc}
.end





eric2013 发表于 2022-8-30 00:32:11

这个做的,你写个C的,然后反汇编复制代码出来简单修改,然后再写个C嵌入汇编的API,代入进去是不是更方便。
页: [1]
查看完整版本: 如何在汇编代码中声明和访问一个常数变量