1

我正在尝试在我的 C 代码中内联汇编程序,但由于某种原因,我只是粉碎了我的程序。我不知道汇编程序,但通过一些教程和谷歌我设法编写代码:

inside a c function...
...
int y=0;
asm volatile(
        "ldr r1,=0x20200000 \n"

        "ldr r0,[r1]\n"         //This is the line which crashes
                                //If i remove it the program runs 
                                //(but without doing the job)
        "mov %[result],r0\n"
        ".LTORG"
        :[result]"=r"(y)        /* output list*/
        :                       /* input list*/
        :"memory"               /* clobber register list */
        );
printf("The Address value is:%x", y);
back to the c function
...

有人可以帮我解决这个问题。我只需要读取内存并将其交给 C。

我尝试使用不同的地址,但它总是崩溃。(在 Raspberry Pi 上使用 gcc 编译所有内容)

4

0 回答 0