Pogramowanie mikroprocesorów rodziny x86 - studia DZIENNE
Materiał w tabeli w kolejności omawiania na zajęciach.
Skład grupyMateriał do opracowania
Mateusz Krzyżanowski
Michał Markiewicz
Katarzyna Ostrowicz
2 (było)Prezentacja (pptx)
Prezentacja (pdf)
Miłosz Grzegorzewski5 (2013-04-09)Prezentacja (odp)
Prezentacja (ppt)
Ariel Grzechowski6 (2013-04-09)Prezentacja
Paweł Jarzyński7 (2013-04-09)test1.asm
test2.asm
test3.asm
test4.asm
test5.asm
test6.asm
test7.asm
test8.asm
test9.asm
Piotr Kubus, Dawid Kardas8, 9Prezentacja (przerwania)
Prezentacja (ramka stosu)
Dominik Knapik,
Szymon Adamczyk
12 Prezentacja (pptx)
Materiały (docx)
Piotr Dałek13Intel® 64 and IA-32 Architectures Software Developer’s Manual
Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B and 3C

Aplikacja
Prezentacja z zajęć
Marta Chodorowska14
Adam Kotynia
Łukasz Kowalczyk
16 dos.asm
linux.asm
Prezentacja (pdf)
Arkadiusz Grzanka
Mateusz Gorządek
20 Prezentacja
Inside PE Windows executable
Adrian Kowalik11 Prezentacja
Artur Pacholec19 Prezentacja
Kody źródłowe
Przemysław Białkowski23 Prezentacja
hello.c
Makefile
Linux Device Drivers, Third Edition
Pozostało do opracowania m.in. (tematy czerwone zostały już zarezerwowane):
  1. Wrowadznie do asemlera i architekury x86.
  2. Budowa procesora rodziny x86 - rejestry.
  3. Pamięć
  4. Tryby pracy procesora. Real Mode, Tryb chroniony (16 bit protected mode, 32 bit protected mode), tryb virtualny.
  5. Witaj świecie dla różnych kompilatorów (NASM, FASM, Gnu As). Assembler - różnice w składni Intel i AT&T.
  6. Asembler - podstawowe instrukcje, deklarowanie zmiennych.
  7. Instrukcje sterujące przebiegiem wykonania - pętle i warunki.
  8. Przerwania. Funkcje systemowe.
  9. Zmienne lokalne, wywołanie procedur i funkcji, ramka stosu.
  10. Linia poleceń programu.
  11. Operacje plikowe.
  12. Kooprocesor. Reprezentacja zmiennoprzecinkowa liczb rzeczywistych.
  13. SIMD - MMX, SSE, 3DNow!
  14. Połączenie asemblera z innymi językami.
  15. Pobieranie i wyświetlanie - gotowe rozwiązania (dla tekstu, dla liczb (sałkowitych i rzeczywistych))
  16. Dynamiczna alokacja pamięci.
  17. Wielokrotna precyzja
  18. Biblioteki (statyczne, dynamiczne, ładowanie bibliotek w czasie pracy programu)
  19. Boot-sektor
  20. Formaty plików wykonywalnych dla systemu DOS, Windows i Linux.
  21. Organizacja pamięci (dla programu i systemu) w systemach DOS, Windows i Linux.
  22. Porty.
  23. Moduł jądra Linux-a