Programmeren in x86 assembler/Inleiding: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Khx023 (overleg | bijdragen)
Vertaling engelstalige inleiding
 
Regel 1:
==Waarom assembler leren ?==
Assembler is het meest primitieve gereedschap in het arsenaal van de programmeur. Volledige softwareprojecten kunnen geschreven worden zonder ooit een enkele regel in assembler te programmeren. De vraag is dus: waarom assembler leren?. Middels assembler kan de programmeur op een zeer laag (dicht bij de hardware) niveau communiceren met een computer. Het geeft de programmeur zeer preciese controle over flow-van-data en uitvoering van een programma. Een ander voordeel dat kennis van assembler biedt is het volgende. Als een in een hogere taal (zoals C) geschreven programma eenmaal gecompileerd is is het zeer moeilijk -zo niet onmogelijk- om het weer te decompileren. Dat houdt in dat reeds gecompileerde programmasprogramma's slechts onderzocht kunnen worden indien kennis van assembler aanwezig is. Debuggers tonen programmacode doorgaans ook in assembler. Zodoende biedt het kunnen lezen en schrijven van assemblercode grote voordelen aan de programmeur.
 
Voor specifieke zaken zoals bootloaders en low-level kernelcomponenten is assembler de te prefereren -zo niet de enig mogelijke- optie. In assembler geschreven code heeft doorgaans minder overhead dan in hogere talen geschreven code en zal daarom vaak (veel) sneller draaien. Assembler wordt regelmatig gebruikt om gecompileerde programmasprogramma's geschreven in hogere talen handmatig te optimaliseren (tweaken). Ook zijn nieuwe functies in hardware (zoals die van Intel of AMD) slechts benaderbaar door assembler routines totdat de grote compiler fabrikanten ondersteuning voor de nieuwe routines inbouwen.
 
Het ontwerpen van programmasprogramma's in assembler kan echter een behoorlijk tijdsintensief proces zijn. Hoewel het doorgaans geen goed idee is om complete projecten in assembler te schrijven, kan het zeker geen kwaad om er kennis van te hebben.
 
==Voor wie is dit boek geschreven?==
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.