gpt4 book ai didi

c++ - C++代码中的汇编代码

转载 作者:太空狗 更新时间:2023-10-29 19:49:50 26 4
gpt4 key购买 nike

如何将英特尔 asm 代码放入我的 C++ 应用程序中?我正在使用 Dev-C++。

我想这样做:

int temp = 0;
int usernb = 3;

pusha
mov eax, temp
inc eax
xor usernb, usernb
mov eax, usernb
popa

这只是一个例子。我怎么能那样做?

更新:它在 Visual Studio 中的外观如何?

最佳答案

您可以在此处找到完整的指南 http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html

#include <stdlib.h>

int main()
{
int temp = 0;
int usernb = 3;

__asm__ volatile (
"pusha \n"
"mov eax, %0 \n"
"inc eax \n"
"mov ecx, %1 \n"
"xor ecx, %1 \n"
"mov %1, ecx \n"
"mov eax, %1 \n"
"popa \n"
: // no output
: "m" (temp), "m" (usernb) ); // input
exit(0);
}

之后你需要用类似的东西编译:

gcc -m32 -std=c99 -Wall -Wextra -masm=intel -o casm casmt.c && ./casm && echo $?
output:
0

您需要使用 -masm=intel 标志进行编译,因为您需要使用 intel 汇编语法:)

关于c++ - C++代码中的汇编代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6038312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com