100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached
logo-home
Samenvatting Diepgaande Inzichten in Assembly Language - Programming Essentials - Lesstof 4 $5.67
Add to cart

Summary

Samenvatting Diepgaande Inzichten in Assembly Language - Programming Essentials - Lesstof 4

 5 views  0 purchase
  • Course
  • Institution

Ontdek de diepten van Assembly Language, de cryptische low-level programmeertaal verbonden met processorinstructies. Leer over assemblers die de overgang naar machinecode mogelijk maken voor efficiënte processoroperaties. Van historisch gebruik tot hedendaagse inzet, bekijk de veelzijdige toepassi...

[Show more]

Preview 2 out of 5  pages

  • January 11, 2024
  • 5
  • 2023/2024
  • Summary
avatar-seller

Available practice questions

Flashcards 20 Flashcards
$5.88 0 sales

Some examples from this set of practice questions

1.

Wat is Assembly language en wat kenmerkt het?

Answer: Assembly language is de low-level programmeertaal van computers met een sterke relatie tussen instructies en de processor. Het is cryptisch, vereist kennis van de processor, en bevat eenvoudige instructies.

2.

Waarom wordt Assembly language als cryptisch beschouwd?

Answer: Assembly language wordt als cryptisch beschouwd vanwege de nauwkeurige opvolging van processorinstructies, de vele getallen, en het beperkte overzicht, waardoor het programmeren foutgevoelig is.

3.

Hoe kan Assembly language worden omgezet naar machinecode, en welke bestanden produceert de assembler?

Answer: Met behulp van een assembler kan Assembly language worden omgezet naar machinecode. De assembler produceert *.list files (met informatie over de assembly language) en *.obj files (met de uiteindelijke machinecode).

4.

Welke toepassingen had Assembly language in de geschiedenis?

Answer: Assembly language werd veel gebruikt in de periode 1980-1990 op computers zoals MSX, Commodore 64, Commodore Amiga, en Atari ST, waar andere talen zoals BASIC niet snel genoeg waren.

5.

Waarom wordt Assembly language nog steeds gebruikt in moderne toepassingen?

Answer: Assembly language wordt nog steeds gebruikt in specifieke toepassingen zoals lageniveau device drivers, embedded processoren zoals DSP, waar specifieke processorinstructies nodig zijn.

6.

Wat is het doel van een compiler in het programmeren?

Answer: Een compiler vertaalt programmeertalen naar machinecode, resulterend in een executable. Het maakt herhaaldelijk uitvoeren van machinecode mogelijk zonder de compiler, maar aanpassingen vereisen het aanpassen van de source code en opnieuw compileren.

7.

Wie wordt genoemd als degene die het compileren proces heeft geïntroduceerd, en welke programmeertaal is daaruit ontstaan?

Answer: Grace Hopper heeft het compileren proces geïntroduceerd. Hieruit ontstond de programmeertaal COBOL, nog steeds gebruikt bij overheden en financiële instanties.

8.

Wat is de rol van een parser in een compiler?

Answer: Een parser ontledet de grammaticale structuur van de source tekst en slaat deze op in een boomstructuur genaamd \"Concrete Syntax Tree\" (CST).

9.

Wat is een expressie in de context van programmeertalen?

Answer: Een expressie is een representatie van een waarde, zoals de waarde van een constante, resultaat van een berekening of vergelijking.

10.

Hoe wordt een Abstract Syntax Tree (AST) gemaakt vanuit een CST, en wat is het doel ervan?

Answer: Een AST wordt gemaakt vanuit een CST door overbodige informatie te verwijderen. Het is een abstracte representatie van de source tekst die handig is voor het analyseren van de code.

Programming Essentials
Assembler
Assembly language is de low level programmeertaal van computers. Er is een hele sterke
relatie tussen de assembly language en de instructies voor de processor. De assembly
language is heel cryptisch, omdat het de instructies van de processor heel nauwkeurig moet
volgen.

Assembly language bevat eenvoudige instructies. Het realiseren van complexe taken vergt
heel veel kennis. Kennis van de processor om deze complexe taken vereenvoudigd op te
schrijven.

Voor ons mensen, is assembly language een erg cryptische en beperkt aanvoelende taal.
Het programmeren is daardoor ook erg foutgevoelig. Door de cryptische omschrijvingen,
beperkte overzicht en de vele getallen die je moet invoeren zorgen ervoor dat het overzicht
snel kwijt is. Dat maakt het vinden van bugs, en die zijn er, erg lastig.

Met behulp van een assembler kan de assembly language worden omgezet naar machine
code. Doordat de assembly language heel dicht bij de taal van de processor ligt, kunnen
hele specifieke operaties worden uitgevoerd. Er kan gebruik worden gemaakt van efficiënte
opeenvolging van instructies, waardoor de uit te voeren taak supersnel door de processor
kan worden uitgevoerd.

Alle instructies krijgen van de assembler een zo genaamd effectief adres. De assembler
produceert 2 files:

● *.list file, waar veel informatie over de assembly language wordt opgeslagen, de
symbol table, geheugenadressen, etc.
● *.obj file, waar de uiteindelijke machinecode instaat. Deze file wordt later
samengesteld met eventuele andere objecten om de executable te vormen.


Toepassing
De assembly language was heel lang de taal om computers mee te programmeren. Van
1980 – 1990 op computers als de MSX, Commodore 64, Commodore Amiga, Atari ST, etc.

De BASIC taal op deze computers was domweg niet snel genoeg. Daarnaast kon er via de
BASIC taal geen optimaal gebruik worden gemaakt van de hardware.

Assembly language wordt nog steeds gebruikt voor specifieke toepassingen. Denk aan
toepassingen waarbij het gebruik van specifieke processor instructies moeten worden
gebruikt. Laag niveau device drivers, welke direct de hardware moeten aanspreken. Bij
embeded processoren, zoals "Digital Signal Processors" (DSP).


Compilers
Wanneer we een programma door een processor willen laten verwerken, dan moeten we de
taal van de processor spreken. We hebben al gezien dat we dan een instruction stream
moeten hebben om de processor ons programma uit te laten voeren.

, Om van assembly language naar machine code te komen hadden we een assembler nodig.
Deze trad op als tolk. Wanneer we in een hogere programmeertaal programmeren hebben
we een compiler nodig. De compiler is nodig om onze programmeertaal te vertalen naar
machine code.

De zogenaamde executable, dit kan ook een "Dynamic Link Library" (DLL) zijn, is voor het
uitvoeren van de machinecode niet meer afhankelijk van de compiler. We kunnen de
machinecode zo vaak starten als dat we willen, zonder dat we de compiler nodig hebben.

Wanneer het programma een ander gedrag moet krijgen of wanneer we überhaupt iets
willen wijzigen dan moeten we de source code aanpassen en het programma opnieuw
compileren. De nieuwe executable heeft dan, als alles goed is aangepast, de gewenste
aanpassing.


Geschiedenis
In het begin waren er vooral menselijke compilers. Compilers zetten source tekst om in data
die de computer kan verwerken. Vroeger waren de mensen degene die source tekst, de
formules van de engineers, etc., omzetten naar code die de computers begrepen.

Grace Hopper heeft het proces van het omzetten van source naar machinecode compileren
genoemd. Zij had als taak het programmeren van de computer. In die tijd werden computers
vrijwel alleen gebruikt voor rekenwerkzaamheden. Van engineers kreeg ze berekeningen die
moesten worden uitgevoerd. Deze programmeerde ze vervolgens in de computer. Dit werd
gedaan met een taal die zeer dicht bij de formules stond. Het zogenaamde A-0 System.

Tijdens dit werk kreeg ze langzaam het idee dat het mogelijk moest zijn om een taal die leek
op Engels om te kunnen zetten naar instructies voor de computer. Iedereen verklaarde haar
voor gek. Een computer kan toch geen tekst lezen, die is bedoeld om te rekenen.

Later heeft ze dit toch gerealiseerd. Hieruit is de programmeertaal COBOL ontstaan. Tot op
de dag van vandaag nog steeds gebruikt. Voornamelijk terug te vinden bij overheden en
financiële instanties. Echter er zijn steeds minder mensen die COBOL kunnen. Dit wordt
langzaam een probleem.

The benefits of buying summaries with Stuvia:

Guaranteed quality through customer reviews

Guaranteed quality through customer reviews

Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.

Quick and easy check-out

Quick and easy check-out

You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.

Focus on what matters

Focus on what matters

Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!

Frequently asked questions

What do I get when I buy this document?

You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.

Satisfaction guarantee: how does it work?

Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.

Who am I buying these notes from?

Stuvia is a marketplace, so you are not buying this document from us, but from seller Bryan0182. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

No, you only buy these notes for $5.67. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

53022 documents were sold in the last 30 days

Founded in 2010, the go-to place to buy study notes for 14 years now

Start selling
$5.67
  • (0)
Add to cart
Added