在内联汇编代码中插入常量的地址

时间:2014-04-02 11:28:05

标签: c inline-assembly mov

我想翻译这个功能:

iowrite32(mem1, value1);

到汇编代码中。

mem1定义为:

int * mem1;

以便使用ioremap。

我已经写了这段代码:

asm volatile(
    "mov    %[whr],%[wht]"
    : [whr] "=r" (mem1)
    : [wht] "r" (value)
);

然后我意识到我不想将值移到mem1,而是移到存储在mem1中的ADDRESS。 如何在汇编中编写它?

1 个答案:

答案 0 :(得分:1)

您可能需要查看m约束

asm volatile(
    "mov    %[wht], %[whr];"
    : [whr] "=m" (*mem1)                                                   
    : [wht] "r" (value)
);