# AK2 - lab 2019+
Trochę różnych programów napisanych przy pomocy z rozwiązywaniem zadań od mgr Aleksandry Postawki, mgra Tomasza Serafina, dra Tadeusza Tomczaka (i innych) na zajęciach laboratoryjnych z Architektury komputerów 2, w formie materiałów dydaktycznych – kod szczegółowo opisany w komentarzach.  
Repozytorium powstało w 2019 i będzie na bieżąco aktualizowane.

Przydatne linki:  
* Intel 64 and IA-32 Architectures Software Developer’s Manual (Combined Volumes) – opis architektury procesorów x86 i spis wszystkich rozkazów asemblera:  
https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf
* Linux System Call Table – spis funkcji systemowych Linuxa dla 32- i 64-bitowej wersji x86 w przejrzystej formie:  
https://chromium.googlesource.com/chromiumos/docs/+/master/constants/syscalls.md
* System V Application Binary Interface AMD64 – opis 64-bitowej konwencji wywołań x86 używanej w systemach z rodziny Linux:  
https://www.uclibc.org/docs/psABI-x86_64.pdf
* System V Application Binary Interface i386 – opis 32-bitowej konwencji wywołań x86 używanej w systemach z rodziny Linux:  
https://www.uclibc.org/docs/psABI-i386.pdf
* Using as – dokumentacja GNU Assembler, opis składni:  
https://sourceware.org/binutils/docs/as/
* Wikibooks – Asembler x86 (wersja dla składni AT&T):  
https://pl.wikibooks.org/wiki/Asembler_x86/Spis_GNU_AS
* C++ reference/C reference – dokumentacja języków C/C++ (przydatne przy łączeniu kod w C i asemblerze):  
https://en.cppreference.com/w/
    * Opis podstawowych typów w językach C/C++ i ich długości w różnych modelach danych:  
    https://en.cppreference.com/w/cpp/language/types
    * Opis funkcji printf i jej ciągów formatujących:  
    https://en.cppreference.com/w/cpp/io/c/fprintf
    * Opis funkcji scanf i jej ciągów formatujących:  
    https://en.cppreference.com/w/cpp/io/c/fscanf
