# AK2 - lab 2019+ Trochę różnych programów napisanych przy rozwiązywaniu zadań od mgr Aleksandry Postawki, mgra Tomasza Serafina, prof. Tadeusza Tomczaka (i innych) na zajęciach laboratoryjnych z Architektury komputerów 2, Wprowadzenia do wysokowydajnych komputerów oraz Organizacji i architektury komputerów, 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://www.intel.com/content/www/us/en/content-details/671200/intel-64-and-ia-32-architectures-software-developer-s-manual-combined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4.html * Linux System Call Table – spis funkcji systemowych Linuxa dla 32- i 64-bitowej wersji x86 w przejrzystej formie: https://www.chromium.org/chromium-os/developer-library/reference/linux-constants/syscalls/ * Programming from the Ground Up: https://download-mirror.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf * 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 * Using the GNU Compiler Collection (GCC) – Extended Asm – składnia wstawek asemblerowych w C: https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html