x86-assembly: schrijf code die de CPU echt uitvoert
Assemblytaal brengt je dichter bij de hardware dan bijna elke andere programmeertaal, zonder dat je handmatig binaire code hoeft te schrijven. Elke instructie komt rechtstreeks overeen met een CPU-bewerking — zonder runtime, garbagecollector of abstractielaag die verbergt wat de hardware doet. In dit leertraject behandel je x86-assembly vanaf de basis tot programmeren op kernelniveau. Zo leg je een fundament waarmee je alles van compilers tot exploitontwikkeling beter kunt doorgronden.
Wat je leert
Je begint met registers, geheugenindeling en datatypen. Daarna behandel je basisinstructies en besturingsstromen, stackbeheer en aanroepconventies voor procedures. Vervolgens leer je assembly koppelen aan C- en C++-code, systeemaanroepen uitvoeren, interrupts en uitzonderingen afhandelen en werken met floatingpoint-eenheden en SIMD-instructies. In de geavanceerde cursussen komen foutopsporing en reverse-engineering, mechanismen voor geheugenbescherming, virtualisatie, driverprogrammering op kernelniveau en optimalisatie van prestaties op laag niveau aan bod, inclusief exploittechnieken.
Het leertraject
Twaalf cursussen lopen van A2 tot en met C2. De gratis introductiecursus legt de x86-syntaxis en het bijbehorende denkmodel uit. De B1- en B2-cursussen bouwen de praktische kern op — registers, besturingsstromen, de stack en procedures. Daarna gaat het leertraject op C1-niveau de diepte in met vijf cursussen over interoperabiliteit met C/C++, systeemaanroepen, interrupts, SIMD en reverse-engineering. Twee C2-cursussen over geheugenbescherming en virtualisatie en programmeren en drivers op kernelniveau gaan vooraf aan de slotcursus over prestatieoptimalisatie en exploitatie. Daarin komt alles samen, van cachegedrag tot beveiligingsrelevante technieken op laag niveau.
Zo werkt het
Elke cursus bestaat uit korte, gerichte lessen die je in de ingebouwde code-editor afrondt, met feedback in realtime. Je kunt een AI-tutor inschakelen wanneer je vastloopt op een instructiecodering of een segmentatiefout die je niet kunt verklaren.