Минимальный пример для компиляции и запуска сборки с gcc? - PullRequest
3 голосов
/ 03 июля 2011
int main(int argc, char* argv[])
{
  return 0;
}

Какой самый короткий пример сборки, чтобы сделать то же самое, что может быть скомпилировано в исполняемый файл gcc?

Я встречал этот пример , но слишком много тегов, таких как hi_temp:,.data и т. Д. Какая минимальная версия?

Ответы [ 3 ]

3 голосов
/ 03 июля 2011
.text
    .align 4
    .globl main
main:
     pushl %ebp
     movl %esp,%ebp
     xorl %eax,%eax
     leave
     ret

Чтобы скомпилировать и запустить:

$ gcc -m32 asm.S
$ ./a.out
3 голосов
/ 03 июля 2011
.text
    .globl main
main:
     xorl %eax,%eax ;return 0
     ret
2 голосов
/ 03 июля 2011

Вот пример Hello World в сборке вместе с объяснением:

http://asm.sourceforge.net/intro/hello.html

...