Asm vraag?

Status
Niet open voor verdere reacties.

yanik

Gebruiker
Lid geworden
5 nov 2011
Berichten
316
Waar heb je eigenlijk asm voor nodig Voor welke taal zou je kiezen: Asm, c of c++? Welke van deze 3 talen is de beste?
Is het mogelijk om alles wat je vandaag te heden tegenkomt in de computerwereld te creeren met asm?
Kun je alles doen met asm? Kun je met asm ook mooie spellen, zoals de tegenwoordige 3d spellen maken?
 
Laatst bewerkt:
ASM wordt eigenlijk nooit meer gebruikt, behalve voor drivers en wat andere echt low level taken.

C en C++ zijn de "standaard" voor 99% van programma's waar de performance belangrijk is. Technisch gezien kan het wel met ASM, maar de moeite afgezet tegen de performance is erg slecht. ASM is 1% tot 5% sneller dan C in echte low-level taken, eigenlijk geen verschil in high level. Echter kun je vaak tot 10x sneller programmeren in C dan in ASM.
 
Waar heb je eigenlijk asm voor nodig Voor welke taal zou je kiezen: Asm, c of c++? Welke van deze 3 talen is de beste?

Welke taal ik zou kiezen hangt af van het project. In de meeste gevallen is er zoals wampier al aangeeft geen toegevoegde waarde om de code in assembly te schrijven. Maar assembly kan ook gebruikt worden voor reverse engineering. In de gevallen dat je geen broncode beschikbaar hebt kan dat soms de enige manier zijn om de gewenste informatie te achterhalen.

En welke taal het beste is? Voor de meeste projecten zou ik tussen de genoemde talen kiezen voor C++. Maar wat is jouw definitie van "beste"? Als je daarmee de taal bedoelt waarmee het meeste mogelijk is dan zou ik voor assembly kiezen. Via reverse engineering is het bijvoorbeeld niet alleen mogelijk om informatie te achterhalen, maar ook bijvoorbeeld het wijzigen van de applicatie zelf, zoals het toevoegen/wijzigen van functionaliteit.

Is het mogelijk om alles wat je vandaag te heden tegenkomt in de computerwereld te creeren met asm?
Kun je alles doen met asm? Kun je met asm ook mooie spellen, zoals de tegenwoordige 3d spellen maken?

Het is de taal die de processor "spreekt" en waarnaar alles vertaald is dat jij draait, dus theoretisch is het mogelijk. Alleen heb je niet zoiets als de taal assembly, je programmeert immers tegen een bepaalde instructieset aan en daardoor heb je dus meerdere "versies" van assembly. En zelfs binnen een bepaalde instructieset kan je nog diversiteit hebben qua taal, bij x86 assembly heb je bijvoorbeeld de Intel- en AT&T-syntax (alhoewel die code uiteraard zonder aanpassingen gecompileerd kan worden voor dat platform). Omdat ieder platform (pc, ps3, ...) dus een eigen instructieset heeft, zou je voor ieder platform een volledige implementatie van de software in de gebruikte instructieset moeten schrijven.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan