Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在汇编代码中将字符串作为参数传递_C_Assembly_X86 64 - Fatal编程技术网

C 在汇编代码中将字符串作为参数传递

C 在汇编代码中将字符串作为参数传递,c,assembly,x86-64,C,Assembly,X86 64,我必须编写类似于c代码的程序集,如下所示: void fun_name(char *array) 我知道必须将此值传递给%edi寄存器,才能将其作为函数fun_name的第一个参数传递。如何对该值进行编码 你想发送给fun_name()?@l'l'l该值是一个与十六进制值等价的字符串,比如:0x14ac0baa。如果是字符串值,尽管我认为你会想使用const char@l'l好的,但这就是我得到的。我必须把它转换成机器代码。有什么线索可以说明这是怎么做到的吗?你肯定走对了方向,你需要做的就是将

我必须编写类似于c代码的程序集,如下所示:

void fun_name(char *array)

我知道必须将此值传递给%edi寄存器,才能将其作为函数fun_name的第一个参数传递。如何对该值进行编码

你想发送给
fun_name()
?@l'l'l该值是一个与十六进制值等价的字符串,比如:0x14ac0baa。如果是字符串值,尽管我认为你会想使用
const char
@l'l好的,但这就是我得到的。我必须把它转换成机器代码。有什么线索可以说明这是怎么做到的吗?你肯定走对了方向,你需要做的就是将
数组
移动到
%edi
。。。所以(
movl$array,%edi
,然后
call fun_name
)。你想发送给
fun_name()
的值是什么?@l'l'l该值是一个与十六进制值等价的字符串,比如说:0x14ac0baa。如果它是字符串值,尽管我认为你会想使用
const char
@l'l好的,但这是我得到的。我必须把它转换成机器代码。有什么线索可以说明这是怎么做到的吗?你肯定走对了方向,你需要做的就是将
数组
移动到
%edi
。。。所以(
movl$array,%edi
,然后
调用fun\u name
)。