ASm leren

Status
Niet open voor verdere reacties.

yanik

Gebruiker
Lid geworden
5 nov 2011
Berichten
316
Ik ben van plan om binnenkort mezelf te leren programmeren. Ik heb bijna alle c++ boeken die ik moet hebben, op 1 na, en na c++ wil ik objective c, java of escala en asm leren.
Ik heb begrepen dat er asm bestaat voor 32 bit processors en asm voor 64 bit processors (of zoiets).
Ik ga nog niet leren, maar ik ben van plan om het zo snel mogelijk te doen, dus wil ik graag weten welke boeken ik allemaal nodig heb om de meeste moderne vorm van asm volledig te leren. Post aub geen links naar tutorials. Alvast bedankt, ik ga alle boeken halen en begin, hopelijk, binnen 1 jaar asm te leren. Post het liefst Engelse boeken.
 
Laatst bewerkt:
ASM alleen voor x86 / x86-64 ? ASM is moeilijker te beantwoorden dan de anderen, omdat het inderdaad processor specifiek is.

Er is GEEN algemene ASM. Ikzelf "spreek" 2-3 soorten ASM, vooral voor microprocessoren. Je kunt wel technieken leren e.d. maar je moet het per processor(type) opnieuw doen. Voor x86 is het vaak ook niet echt meer nuttig. Core-C is vaak net zo snel en makkelijker te leren en gebruiken bij andere projecten. Microprocessoren waar je letterlijk soms tot op de kloktel invloed moet hebben is nog een uitzondering, maar ook die gaan nu snel richting enorme kloksnelheden
 
ASM alleen voor x86 / x86-64 ? ASM is moeilijker te beantwoorden dan de anderen, omdat het inderdaad processor specifiek is.

Er is GEEN algemene ASM. Ikzelf "spreek" 2-3 soorten ASM, vooral voor microprocessoren. Je kunt wel technieken leren e.d. maar je moet het per processor(type) opnieuw doen. Voor x86 is het vaak ook niet echt meer nuttig. Core-C is vaak net zo snel en makkelijker te leren en gebruiken bij andere projecten. Microprocessoren waar je letterlijk soms tot op de kloktel invloed moet hebben is nog een uitzondering, maar ook die gaan nu snel richting enorme kloksnelheden
bedankt, wampier. Kun je alsjeblieft in het Nederlands beantwoorden? lol, In andere woorden, ik helemaal niks begrepen, mijn excuses. Core c, wat is dat? En wat betekent wat je getypt hebt? Welke asm kan ik dan het beste leren? Sorry, ik snap helemaal niks. Alvast bedankt voor je antwoord.
 
Core "C" is de minimale C taal zonder uitbreidingen.

Assembly (ASM) werkt op het niveau van de processor zelf en is specifiek voor die processor.

Hogere talen is net als je rijbewijs halen. Als je je rijbewijs hebt kun je in bijna alle auto's rijden. Ze hebben allemaal een stuur, rem, gas, etc. Sommige zijn simpler, groter, kleiner, maar je doet altijd hetzelfde.

Als je onder de motorkap gaat kijken is het ineens anders. Een monteur van VW kan niet zomaar een mercedes onderhouden. Een monteur van Toyota kan niet zomaar wat doen aan een peugeot. natuurlijk zitten in de motoren wel veel dezelfde onderdelen, een pomp, startmotor, turbo, cilinders, maar elk merk is anders en zelfs motoren binnen een merk zijn ook steeds anders.

Assembly is hetzelfde: assembly werkt maar op 1 type motor. Met een beetje geluk werkt het zonder veel aanpassingen op de meeste motoren van hetzelfde merk, maar het gaat niet werken tussen merken. Assembly is een handleiding voor het gebruik van 1 specifieke auto (processor).

Er is dus niet zoiets als een boek "Assembly". Het is altijd voor 1 type processor
 
Core "C" is de minimale C taal zonder uitbreidingen.

Assembly (ASM) werkt op het niveau van de processor zelf en is specifiek voor die processor.

Hogere talen is net als je rijbewijs halen. Als je je rijbewijs hebt kun je in bijna alle auto's rijden. Ze hebben allemaal een stuur, rem, gas, etc. Sommige zijn simpler, groter, kleiner, maar je doet altijd hetzelfde.

Als je onder de motorkap gaat kijken is het ineens anders. Een monteur van VW kan niet zomaar een mercedes onderhouden. Een monteur van Toyota kan niet zomaar wat doen aan een peugeot. natuurlijk zitten in de motoren wel veel dezelfde onderdelen, een pomp, startmotor, turbo, cilinders, maar elk merk is anders en zelfs motoren binnen een merk zijn ook steeds anders.

Assembly is hetzelfde: assembly werkt maar op 1 type motor. Met een beetje geluk werkt het zonder veel aanpassingen op de meeste motoren van hetzelfde merk, maar het gaat niet werken tussen merken. Assembly is een handleiding voor het gebruik van 1 specifieke auto (processor).

Er is dus niet zoiets als een boek "Assembly". Het is altijd voor 1 type processor
Wat jammer, ik droomde er echt van Asm te leren. Dus je moet verschillende asm leren voor verschillende processoren, er bestaat niet alleen maar 1 asm voor alle processors, toch?
Dit is echt irritant. Dus denk je dat ik met c zou kunnen bereiken wat ik met asm kan bereiken?
 
mits goed geprogrammeerd is "C" bijna net to goed als asm qua snelheid. bijna alle OS'en zijn in C geschreven. de meeste game engines gebruiken ook C.

Alle X86 gebruiken dezelfde instructieset. Dus alle "intel's" en "AMD's" kun je bedienen met ASM. X86-64 (64 bits processoren) hebben extensies op de commando's voor 64 bit.

Dus voor "PC's" kun je ASM leren (x86-64). "C" werkt echter ook op ARM, AVR, PIC, 68000 etc.
 
mits goed geprogrammeerd is "C" bijna net to goed als asm qua snelheid. bijna alle OS'en zijn in C geschreven. de meeste game engines gebruiken ook C.

Alle X86 gebruiken dezelfde instructieset. Dus alle "intel's" en "AMD's" kun je bedienen met ASM. X86-64 (64 bits processoren) hebben extensies op de commando's voor 64 bit.

Dus voor "PC's" kun je ASM leren (x86-64). "C" werkt echter ook op ARM, AVR, PIC, 68000 etc.

Arm, avr...?? Ik weet niet eens wat die dingen zijn. Bedankt voor je antwoord. Stel je voor dat ik voor Windows zou werken of linux ( ik weet dat linus alles zelf doet), of zelfs apple en ik en anderen de OS moesten creeren, welke asm zou ik dan moeten beheersen?
 
Zoals ik aangaf, bijna alle OS'en zijn "C"

windows - "C"
unix (/mac) - "C"
Linux - "C"

De afgelopen 40 jaar is er geen enkel groot OS meer in ASM geschreven. Er zijn wel wat drivers die ASM gebruiken. Ook zijn er wel low-level optimalisaties die nog wel eens gebruik maken van ASM, maar bijna alles is "C"
 
Zoals ik aangaf, bijna alle OS'en zijn "C"

windows - "C"
unix (/mac) - "C"
Linux - "C"

De afgelopen 40 jaar is er geen enkel groot OS meer in ASM geschreven. Er zijn wel wat drivers die ASM gebruiken. Ook zijn er wel low-level optimalisaties die nog wel eens gebruik maken van ASM, maar bijna alles is "C"
Bedankt voor je antwoord. Maar mensen die, bijvoorbeeld, bij microsoft werken geven aan ook Asm te gebruiken. Ook heb ik begrepen dat Linux ook een beetje asm gebruikt, begrijp je het een beetje? Dus welke asm gebruiken deze mensen?
 
Tot voor kort gebruikte microsoft alleen X86(-64). Met windows 8 doen ze nu ook dingen op ARM. Zoals ik al aangaf ASM wordt soms wel gebruikt, maar meestal in specifieke drivers of optimalisaties. Meestal dingen die te maken hebben met de extensies van de chips.

Ik durf te beweren dat 95% van de mensen bij microsoft nooit ASM gebruikt. Hetzelfde geld overigens voor linux.
 
Tot voor kort gebruikte microsoft alleen X86(-64). Met windows 8 doen ze nu ook dingen op ARM. Zoals ik al aangaf ASM wordt soms wel gebruikt, maar meestal in specifieke drivers of optimalisaties. Meestal dingen die te maken hebben met de extensies van de chips.

Ik durf te beweren dat 95% van de mensen bij microsoft nooit ASM gebruikt. Hetzelfde geld overigens voor linux.
Als ik een OS zou willen ontwerpen, waarbij ook opdrachten voor de processor moeten bestaan en worden uitgevoerd, welke taal zou je mij dan aanraden, c of asm?
Met jou praten is interessant, wampier.
 
Laatst bewerkt:
Dat is een beetje een moeilijke vraag. Meestal kun je al veel doen in "C". Specifiek de bootloader is wat moelijker, maar aan de andere kant kun je die veelal gewoon downloaden. Verder heb je ASM weinig nodig.

Er wordt nog best veel van dit werk gedaan, maar zelden op normale PC's. Embedded etc. Ik zou me in ieder geval eerst bekwamen in "C". De inzichten en het werken met pointers en memory allocation maakt het leren van ASM wat eenvoudiger. in ieder geval niet omgekeerd.
 
Dat is een beetje een moeilijke vraag. Meestal kun je al veel doen in "C". Specifiek de bootloader is wat moelijker, maar aan de andere kant kun je die veelal gewoon downloaden. Verder heb je ASM weinig nodig.

Er wordt nog best veel van dit werk gedaan, maar zelden op normale PC's. Embedded etc. Ik zou me in ieder geval eerst bekwamen in "C". De inzichten en het werken met pointers en memory allocation maakt het leren van ASM wat eenvoudiger. in ieder geval niet omgekeerd.

Ik ga je advies volgen. Maar nu ga ik je zeker irriteren, maar welke boeken heb ik nodig om c te leren? Ik heb al the c programming language 2nd edition, n1570 standard for C, welke boeken moet ik nog hebben? Het liefst Engelse boeken. Sorry dat ik jou dit moet vragen, maar ik vraag het al aan veel mensen en ik krijg haast geen duidelijke en speciefieke antwoorden.
 
waar ik zelf net aan was begonnen is het volgen van deze uitleg, het is een playlist oven het leren van assembly.
er wordt goed ingegaan op materie, je begint er natuurlijk met een hello world applicatie.

link
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan