在c和内联汇编之间传递参数

没有我,只是阿威索

我有一个关于在c和内联汇编之间传递参数的问题

我在将数组传递到内联程序集时遇到麻烦。我不断收到错误“错误:内存输入1无法直接寻址”

这是我的代码示例:

void main()
{
    char name[] = "thisisatest";
        __asm__ ("\
        .intel_syntax noprefix     \n\
        mov eax, %[name]           \n\
        inc (eax)                  \n\
       "
    :/*no output*/
    :[name]"m"(name)
    );
}

这应该增加我字符串的第一个字母(使它成为'u'),但不会建立。

有想法吗?

没有我,只是阿威索

万一其他人遇到这个问题,我就可以解决。

void main()
{
    char name[] = "thisisatest";
        __asm__ ("\
        .intel_syntax noprefix     \n\
        lea, eax, %[name]          \n\
        inc BYTE PTR [eax]          \n\
       "
    :/*no output*/
    :[name]"m"(name[0])
    );
}

关键是将数组的第一个元素作为内存参数传入,然后要求输入有效地址。然后,我有一个指向我的字符串的指针。希望这对其他人有帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在c和内联汇编之间传递参数

来自分类Dev

C ++将参数传递给内联汇编器函数

来自分类Dev

从C调用内联汇编函数

来自分类Dev

无法将参数从C传递到汇编代码

来自分类Dev

将各种参数从C传递到汇编器

来自分类Dev

文本作为内联汇编(ARM)中的参数?

来自分类Dev

在PHP和Shell之间来回传递参数

来自分类Dev

Grails在taglib和javascript之间传递参数

来自分类Dev

在 JSF 之间传递和使用参数包括

来自分类Dev

汇编器和C代码之间的链接错误(MinGW)

来自分类Dev

在表单之间传递参数的 C# 错误

来自分类Dev

在汇编和python之间传输

来自分类Dev

使用C和内联汇编器查找数组中的最大浮点数

来自分类Dev

作为包装类的参数传递时,在Java和C ++类实例之间进行转换

来自分类Dev

在C#中通过输出和通过引用传递参数之间的区别是什么

来自分类Dev

作为包装类的参数传递时,在Java和C ++类实例之间进行转换

来自分类Dev

内联汇编到C ++中的字节

来自分类Dev

内联C汇编破坏了自己的变量

来自分类Dev

用C进行内联汇编

来自分类Dev

C中的内联汇编无法正常工作

来自分类Dev

内联C汇编中的数字比较

来自分类Dev

C内联汇编中的PCLMULQDQ指令

来自分类Dev

使用全局C变量的IAR内联汇编

来自分类Dev

从内联汇编跳转到C的标签

来自分类Dev

C中的内联汇编无法正常工作

来自分类Dev

C的内联汇编错误翻译

来自分类Dev

汇编中的内联 C++ 方法

来自分类Dev

在C和Python之间传递C ++指针

来自分类Dev

在Visual Studio的内联汇编函数中传递指针的内容