README 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # Assembly Park
  2. `assembly_park` = *"A nasty experiment conducted by
  3. @matteosavatteri not to amuse with dinosaurs, but with
  4. x86_64 Linux assembly"*
  5. # Why This?
  6. To learn something new.
  7. # Tree
  8. .
  9. ├── 1_false/
  10. │   ├── Makefile
  11. │   ├── README
  12. │   └── src/
  13. │   └── false.s
  14. ├── 2_pwd/
  15. │   ├── Makefile
  16. │   ├── README
  17. │   └── src/
  18. │   └── pwd.s
  19. ├── 3_argc/
  20. │   ├── Makefile
  21. │   ├── README
  22. │   └── src/
  23. │   └── argc.s
  24. └── README
  25. # How do I Use This?
  26. ## Assemble and Link
  27. To assemble and link these programs you need the GNU
  28. assembler `as` and the gold linker `ld`.
  29. To automate the process you need GNU `make`.
  30. You can find `as` and `ld` in the
  31. [GNU `binutils` collection](https://www.gnu.org/software/binutils/)
  32. (If you run GNU/Linux, you have these installed, i think...).
  33. You can find `make` in the [`make` package](https://www.gnu.org/software/make/).
  34. ### `make` How To
  35. * To assemble and link a program enter the corresponding subdirectory and run `make`
  36. * To clean objects run `make clean`.
  37. * To clean binaries too run `make clean-all`
  38. ## Run
  39. `assembly_park` programs aren't linked against shared libraries.
  40. To run them you only need a `x86_64` computer running the `Linux` kernel.
  41. # Documentation
  42. Read `README` files and comments in code.
  43. Let me know if you encounter some problems.
  44. Enjoy :)
  45. @matteosavatteri