gpt4 book ai didi

gcc - 如何使用 gcc 和 codeblock 编译汇编语言?

转载 作者:行者123 更新时间:2023-12-04 05:17:48 24 4
gpt4 key购买 nike

我现在正在尝试使用 gcc 和 codeblock 编译以下代码:

#include <stdio.h>

int main()
{

char alphabet = 'X';
printf ("Type letter = ");
asm{ //line 8
mov ah, 02
mov dl, [alphabet] // line 9
int 21h
}

printf ("\n");
return (0);
}

我得到的错误信息如下:
  error: expected '(' before '{' token  line 8
error: 'mov' was not declared in this scope line9

我正在为 x86 计算机编译,想知道如何成功编译上述代码。谢谢!

最佳答案

不幸的是 gcc 不支持这样的简单语法:

asm {
mov ah, 02
mov dl, [alphabet]
int 21h
}

您可以通过 DCoder 评论的链接找到有关 gcc-inline-assembler 的更多信息: click me
解释一切对于答案来说太过分了,所以我只是为 gcc 编写代码,它应该为您完成这项工作:
__asm__(
"movb $2, %%ah;"
"movb %0, %%dl;"
"int $0x21;"
:
: "r"(alphabet)
: "%ah", "%dl"
);

请注意,您也可以使用关键字 asm而不是 __asm__ .

关于gcc - 如何使用 gcc 和 codeblock 编译汇编语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14038955/

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