Найти тему

Assembler VS Си на примере HelloWorld :)

Assembler:

.file "hello.c"

.def ___main; .scl 2; .type 32; .endef

.section .rdata,"dr"

LC0:

.ascii "Hello World!\0"

.text

.globl _main

.def _main; .scl 2; .type 32; .endef

_main:

LFB10:

.cfi_startproc

pushl %ebp

.cfi_def_cfa_offset 8

.cfi_offset 5, -8

movl %esp, %ebp

.cfi_def_cfa_register 5

andl $-16, %esp

subl $16, %esp

call ___main

movl $LC0, (%esp)

call _puts

movl $0, %eax

leave

.cfi_restore 5

.cfi_def_cfa 4, 4

ret

.cfi_endproc

LFE10:

.ident "GCC: (MinGW.org GCC-6.3.0-1) 6.3.0"

.def _puts; .scl 2; .type 32; .endef

Cи:

include <stdio.h>

int main()

{

printf ( "Hello World!\n" );

return 0;

}

Разница ощутима, но программы, написанные на языке Ассемблера, могут работать быстрее, чем те, которые написаны на языке Cи.