Chcę nauczyć się wszystkich zaawansowanych szczegóły programowania niskopoziomowego więc chcę, aby móc potrzebne książki i strony internetowej sugestię dla zaawansowanego programowania niskopoziomowego
Dzięki ..
Chcę nauczyć się wszystkich zaawansowanych szczegóły programowania niskopoziomowego więc chcę, aby móc potrzebne książki i strony internetowej sugestię dla zaawansowanego programowania niskopoziomowego
To, o co prosisz, nie można znaleźć w pojedynczej książce. Większość z wymienionych elementów najlepiej znaleźć w podręcznikach użytkownika lub specyfikacjach funkcjonalnych dla różnych procesorów. Polecam zacząć od zrozumienia podstawowego x86 arch i pracy z niego. Jedna ze starych instrukcji Intel 386 lub 486 może być dobrym początkiem.
Nie znam żadnych stron internetowych dla tego typu informacji.
To trochę za dużo, że chcesz się uczyć. :)
Proponuję zacząć od podstawowej architektury ARM v4. jest to dość proste do zrozumienia. następnie przejdź do 8086, a następnie zbuduj na nowsze wersje ARM i x86. ARM jest typu RISC. i x86 typu CISC. nigdy nie poznasz wszystkich procesorów. (jak nigdy nie będziesz w stanie uczyć się wszystkich języków programowania) , ale posiadanie wiedzy 1 lub 2 pozwoli ci zrozumieć każdą inną, z którą się spotkasz. Nie ma nic dużo Object zorientowany na programowanie niskiego poziomu. , więc nie ma znaczenia, czy używasz C++ lub c. pobierz pełny symulator systemu, taki jak gxemul lub qemu. spróbować wykonać program montażowy Hello World - (bez korzystania z biblioteki wykonawcze procesora, - chcesz to trudne, prawda?) inni mogą być w stanie Cię w stosunku do SSE, MMX itp
Zamówienie InfoCenter. arm.com dla języka asemblerowego ARM i specyfikacji architektury.
Kilka zalecenia spośród moich ulubionych, aby dostać się zaczęło:
„Efektywne C++ 55 konkretnych sposobów, aby poprawić swoje programy i wzory (3rd Edition)” - Scott Meyers
"Wewnątrz maszyny" - John Stokes
"Rozkosz hakera" - Henry S.Warren
„Oprogramowanie Optymalizacja Cookbook” - Richard Gerber
„Intel® 64 oraz IA-32 architektury Software Developer Obsługi, tom 2A: Zestaw instrukcji, AM” (253666-021)
„Intel® 64 oraz IA-32 architektury oprogramowania Program Obsługi, tom 2B: Zestaw instrukcji, NZ” (253667-021)
zawsze uważałem systemy komputerowe: Per programisty spective (http://www.amazon.com/Computer-Systems-Programmers-Randal-Bryant/dp/013034074X) za bardzo dobrą książkę. Ma dużą ilość informacji na temat architektury komputerów i nauczyła mnie zarządzania pamięcią, kompilacji i łączenia (jak również debugowania błędów łączenia), optymalizacji, relokowalnego kodu obiektowego i niektórych elementów architektury niższego poziomu, takich jak o studiowaniu informatyki od niskiego poziomu (np. jakie są wewnętrzne elementy procesora). Istnieje wiele dobrych ćwiczeń, od przykładów optymalizacji po implementację przepełnienia bufora. Omówiono w nim sposób pisania wbudowanego kodu assemblera (i uruchamiania go). Jest nawet sekcja dotycząca pisania kodu dla fikcyjnego procesora (Y86).
Jednym z zastrzeżeń jest jednak to, że skupia się on na linii procesora Intela (moim zdaniem). Jeśli chcesz czegoś, co jest trochę bardziej podobne do pracy z linią ARM, prawdopodobnie zechcesz wziąć zalecenia od innych powyżej.
Może przyszedł czas na założenie konta na http://my.safaribooksonline.com/, odłączenie telefonu na kilka tygodni, załadowanie lodówki za pomocą Jolta i Funyun, pożegnanie z rodziną i przyjaciółmi, a następnie przeczytanie tylu książek, ile potrzebujesz mogą. Mają tam dość obszerną bibliotekę, która obejmuje większość tematów, których szukasz.
Dlaczego jesteś taki konkretny? Czy istnieje konkretna domena problemowa, o której myślisz? –
nie, po prostu entuzjazm – Taz
zarejestruj się, aby uzyskać dostęp do książki online: http://www.pearsonhighered.com/educator/course/C-Intermediate-Advanced-Programming/91054902.page – lsalamon