Assembler: Forskelle mellem versioner

Content deleted Content added
Rune (diskussion | bidrag)
m →‎Virkemåde: Fejl i beskrivelse af de to trin rettet
Rune (diskussion | bidrag)
m →‎Virkemåde: Præcisering
Linje 4:
 
==Virkemåde==
Oversættelse fra assemblersprog til maskinkode foregår som oftest i to trin, der hver kræver en gennemlæsning af kildefilen. Først iversættes programmet linje for linje og bagefter indsættes de rette adresser på variabler og funktioner. De to trin gør det enkelt, at referere til ting, der defineres senere i programmet end der, hvor de bliver brugt.
 
I første trin laves en oversigt over alle definerede labels, og deres placering i programmet. Desuden laves en tabel med navne, der er defineret i programmet. Disse navne er navne på variabler og funktioner. I tabellen regisreres navnene for hvert sted, der refereres til dem. Herefter sammenholdes de to tabeller, og navnetabellen opdateres med adresser.
 
I andet trin opdatereslæses instruktionerfilen på ny og instruktionerne opdateres med konkrete adresser fra navnetabellen. Labeltabellen fortæller, hvor det skal gøres.
 
Til sidst skrives den opdaterede maskinkode ud til en fil.