diff --git a/docs/cheatsheets/compilacio-assemblador.md b/docs/cheatsheets/compilacio-assemblador.md new file mode 100644 index 0000000..403c2fd --- /dev/null +++ b/docs/cheatsheets/compilacio-assemblador.md @@ -0,0 +1,38 @@ +# Compilació Assemblador + +## Assemblatge codi font + +Tenim un fitxer font `source.asm` i obtenim el fitxer objecte `source.o`. + +```bash +yasm -f elf64 -g dwarf2 "source.asm" +``` + +!!! output + + Codi objecte de l'assemblador `source.o`. + +## Generar executable d'assemblador + +Compilem el fitxer `source.o` i obtenim l'executable `output`. + +```bash +gcc --no-pie -o "output" "source.o" +``` + +!!! output + + Fitxer executable `output`. + +## Compilar codi font en C i Assemblador + +Primer generem `source.o` i després el compilem amb `source.c` i obtenim l'executable `output`. + +```bash +yasm -f elf64 -g dwarf2 "source.asm" +gcc --no-pie -o "output" -g "source.o" "source.c" +``` + +!!! info + + Podem afegir tants fitxers `.o` i `.c` a compilar com necessitem per a generar l'executable del nostre programa. diff --git a/mkdocs.yml b/mkdocs.yml index 0b57ffb..94b2932 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -40,3 +40,5 @@ markdown_extensions: nav: - Inici: index.md + - Cheatsheets: + - Compilació Assemblador: cheatsheets/compilacio-assemblador.md