Hoofdstuk 3 Basisprogrammatuur

Slides:



Advertisements
Verwante presentaties
KWALITEITSZORG november 2012
Advertisements

Stilstaan bij parkeren Dat houdt ons in beweging
‘SMS’ Studeren met Succes deel 1
Wat was toen het grootste het grootste probleem van de van de FOD?
Presentatie cliëntenonderzoek. Algemeen Gehouden in december 2013 (doorlopend tot eind januari) DoelgroepVerzondenOntvangen% LG wonen en dagbesteding.
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
WAAROM? Onderzoek naar het meest geschikte traject voor de verlenging tot in Sint-Niklaas van het bestaande fietspad naast de Stekense Vaart en de Molenbeek.
1 Resultaten marktonderzoek RPM Zeist, 16 januari 2002 Door: Olga van Veenendaal, medew. Rothkrans Projectmanagement.
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Uitgaven aan zorg per financieringsbron / /Hoofdstuk 2 Zorg in perspectief /pagina 1.
Duurzaamheid en kosten
1 COVER: Selecteer het grijze vlak hiernaast met rechtsklik & kies ‘change picture’ voor een ander beeld of verwijder deze slide & kies in de menubalk.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
Confidential & Proprietary Copyright © 2007 The Nielsen Company INNOVATIE Tracking Februari 2007.
STAPPENPLAN GRAMMATICUS.
Ronde (Sport & Spel) Quiz Night !
Een Concert van het Nederlands Philharmonisch Orkest LES 4 1.
1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays  Klassiek gebruik  For opdracht, Increment/Decrement  Wijzers, Arrays en Wijzers.
INITIATIE DEFINITIESELECTIECONCIPIËREN INBEDDING IN ORGANISATIE ONDERHOUD Opdrachtgever/ Projectleider Eigenaar Architect en zijn team Stakeholders INITIATIEDEFINITIESELECTIECONCIPIËRENINBEDDINGONDERHOUD.
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Kb.1 Ik leer op een goede manier optellen en aftrekken
Tevredenheids- enquête 2012 P. Grouwels Inleiding Mogelijke antwoorden: Zeer goed: 4 sterren ****: volledig tevreden; Goed: 3 sterren ***:
1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker Het Speurprogramma Het Opstarten van de Computer.
Nooit meer onnodig groen? Luuk Misdom, IT&T
1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker Het Speurprogramma Het Opstarten van de Computer.
1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Functies Records Dynamische gegevenstructuren Macro’s C.
1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker  Werking van vertolker  Voor- en nadelen.
1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker Het Speurprogramma Het Opstarten van de Computer.
1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler  Enkel MACRO en MCREINDE directieven  Extra macro-directieven De Lader De.
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Elke 7 seconden een nieuw getal
Softwarepakket voor het catalogeren en determineren van fruitsoorten
Rekenregels van machten
Lineaire functies Lineaire functie
Regelmaat in getallen … … …
Regelmaat in getallen (1).
1 het type x² = getal 2 ontbinden in factoren 3 de abc-formule
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
1Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen &  vorige toestand uitgang.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
In dit vakje zie je hoeveel je moet betalen. Uit de volgende drie vakjes kan je dan kiezen. Er is er telkens maar eentje juist. Ken je het juiste antwoord,
Seminarie 1: Pythagoreïsche drietallen
Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen;  vorige toestand uitgang.
ribwis1 Toegepaste wiskunde – Differentieren Lesweek 7
Inger Plaisier Marjolein Broese van Groenou Saskia Keuzenkamp
Help! ‘Niet vorderende ontsluiting’
SAMENWERKING WO EN HBO BIJ AANSLUITINGSONDERZOEK V0-HO Rob Andeweg DAIR 7 en 8 november 2007.
Cijfers Zorg en Gezondheid
Liaison dangereuse? Secretarissen en ontvangers over hun onderlinge verhouding en de werking van het managementteam Prof. Dr. Herwig Reynaert Dr. Kristof.
EFS Seminar Discriminatie van pensioen- en beleggingsfondsen
Hoe gaat dit spel te werk?! Klik op het antwoord dat juist is. Klik op de pijl om door te gaan!
Eerst even wat uitleg. Klik op het juiste antwoord als je het weet.
Op reis naar een dierentuin
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 7 De 2 ♦ /2 ♥ /2 ♠ en de 2 ♣ -opening 1Contract 2, hst 7.
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 9 Het eerste bijbod 1Contract 1, hoofdstuk 9.
Hoofdstuk 9 havo KWADRATEN EN LETTERS
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
STIMULANS KWALITEITSZORG juni 2014.
De financiële functie: Integrale bedrijfsanalyse©
In opdracht van NOC*NSF
Waar gaat het nou toch om?!
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
DIGITAL ANALYTICS TOOLS. 2 DIGITALE MEDIA - METEN.
Openbaar je talent Service public, talent particulier.
Transcript van de presentatie:

Hoofdstuk 3 Basisprogrammatuur SOCS Hoofdstuk 3 Basisprogrammatuur

Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker De absolute lader De relocerende lader Dynamische relocatie De Binder De Vertolker Het Speurprogramma Het Opstarten van de Computer

Lader 1131000005 7299999999 2131000006 9999999999 0000010000 0000020000 RAM 1131000005 7299999999 2131000006 9999999999 0000010000 0000020000 Lader Uitvoerbaar programma (machinetaal)

Lader RAM 1131000005 7299999999 2131000006 9999999999 0000010000 0000020000 1131000005 7299999999 2131000006 9999999999 0000010000 0000020000 Lader

Verantwoording Nodig? Vertaler? 1131000005 7299999999 2131000006 9999999999 0000010000 0000020000 RAM Nodig? Vertaler? Vertalen  Uitvoeren Telkens opnieuw! Tijd! | Vertaler | > | Lader | Minder geheugen beschikbaar HIA R0,A DRU OPT R0,B STP A: 10000 B: 20000 Vertaler

Verantwoording Vertalen ... ( x 1 ) RAM 1131000005 7299999999 HIA R0,A 2131000006 9999999999 0000010000 0000020000 HIA R0,A DRU OPT R0,B STP A: 10000 B: 20000 Vertaler Schijf

Verantwoording Uitvoeren ... ( x N ) 1131000005 7299999999 2131000006 9999999999 0000010000 0000020000 RAM Uitvoeren ... ( x N ) 1131000005 7299999999 2131000006 9999999999 0000010000 0000020000 Lader

Lader Deel van het besturingssysteem Verschillende Lader-algoritmes Zie ook opstarten van een computer Verschillende Lader-algoritmes Absolute Lader Relocerende Lader Extra Apparatuur Dynamische adresvertaling

Absolute Lader Uitvoerbaar programma ongewijzigd in geheugen Meest elementaire geval Programma steeds vanaf adres 0000 geladen Programma in invoerorgaan Eerste getal = lengte van het programma Lader geladen vanaf adres 9000 0000000145 7299999999 … symb.tabel Lengte aanduiding 145 bevelen/constanten

Absolute Lader … Algoritme: R1 Lengte inlezen Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen Start uitvoering 0000 0002 … 0003 0004 0005 0001 7199999999 0000000000 1221000010 R1

Absolute Lader … Algoritme: R1 Lengte inlezen Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 0000 0002 … 0003 0004 0005 0001 7199999999 0000000000 1221000010 R1

Absolute Lader … Algoritme R1 Lengte inlezen Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 0000 0002 … 0003 0004 0005 0001 7199999999 0000000000 1221000010 R1

Absolute Lader … Algoritme R1 Lengte inlezen Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 0000 0002 … 0003 0004 0005 0001 7199999999 0000000000 1221000010 R1

Absolute Lader … Algoritme R1 Lengte inlezen Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start 0000 0002 … 0003 0004 0005 0001 7199999999 0000000000 1221000010 R1

Absolute Lader … Algoritme R1 Lengte inlezen Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) 0000 0002 … 0003 0004 0005 0001 7199999999 0000000000 1221000010 R1

Absolute Lader … Algoritme R1 Lengte inlezen Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) 0000 0002 … 0003 0004 0005 0001 7199999999 0000000000 1221000010 R1 AFT.w R2,1

Absolute Lader … Algoritme R1 Lengte inlezen Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) AFT.w R2,1 0000 0002 … 0003 0004 0005 0001 7199999999 0000000000 1221000010 R1 SPR LUS

Absolute Lader … Algoritme R1 Lengte inlezen Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) AFT.w R2,1 SPR LUS EINDPR 0000 0002 … 0003 0004 0005 0001 7199999999 0000000000 1221000010 R1

Absolute Lader Simulator? Truukjes Zelf lengte aanduiding toevoegen Invoer uit bestand -invoer bestandsnaam Lader vanaf 9000? | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) AFT.w R2,1 SPR LUS EINDPR

Absolute Lader Simulator? Truukjes Zelf lengte aanduiding toevoegen Invoer uit bestand -invoer bestandsnaam Lader vanaf 9000! | Absolute lader LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) AFT.w R2,1 SPR LUS EINDPR SPR LAD XXX: RESGR 8999 LAD:

Absolute Lader Verfijning Probleem Programma NIET ALTIJD vanaf adres 0000 geladen Meerdere programma’s in het geheugen! Probleem Adressen kloppen niet Vertaler  symbooltabel (PT = 0)

Absolute Lader …  A  B  A  B  A  B 1131100004 1221100005 0002 0003 0004 0005 0001 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000  A  B HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0100 0102 0103 0104 0105 0101 1131100104 1221100105 0000000010 9999999999 2111100001 0000000000  A  B HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 … 0300 0302 0303 0304 0305 0301 1131100304 1221100305 0000000010 9999999999 2111100001 0000000000  A  B HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1

Absolute Lader Lader kan programma niet wijzigen Oplossing: Vertaler moet correcte adressen genereren Programmeur  Vertaler: “Te laden vanaf XXX” Vertaler-directief LAADGR laadadres Vertaler: Stap 1: PT  Laadadres (i.p.v. 0) Stap 2: Lengte en Laadadres in uitvoerbaar programma

Absolute Lader LAADGR 300 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 0000000006 0000000300 Hoofding Lengte  Laadadres  1131100304 1221100305 0000000010 9999999999 2111100001 0000000000 Programma- code LAADGR 300 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 #symbolen A 0304 B 0305 Symbool- tabel Bronprogramma Uitvoerbaar programma

Absolute Lader … … … Vertaler Vertaler Vertaler HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 LAADGR 100 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 LAADGR 300 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 Vertaler Vertaler Vertaler 1131100004 1221100005 2111100001 0000000006 0000000000 … 1131100104 1221100105 2111100001 0000000006 0000000100 … 1131100304 1221100305 2111100001 0000000006 0000000300 …

Absolute Lader … … … Lader  A  B  A  B  A  B 1131100004 1221100005 2111100001 0000000006 0000000000 … 0000 0002 0003 0004 0005 0001 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000  A  B 1131100104 1221100105 2111100001 0000000006 0000000100 … 0100 0102 0103 0104 0105 0101 1131100104 1221100105 0000000010 9999999999 2111100001 0000000000  A  B Lader 1131100304 1221100305 2111100001 0000000006 0000000300 … 0300 0302 0303 0304 0305 0301 1131100304 1221100305 0000000010 9999999999 2111100001 0000000000  A  B

Absolute Lader Algoritme Lengte inlezen Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr BIG R0,0(R1+) AFT.w R2,1 SPR LUS EINDPR Laadadres inlezen | Laadadres  R3 LEZ | Laadadres HIA R3,R0 HIA R1,R0 (begin bij Laadadres) (R3) Sprong  Laadadres

Relocerende Lader Absolute lader: Programmeur moet vóór vertaling laadadres kennen Vertaler  Lader: “Hoe adressen aanpassen” Relocatietabel relatief adres bewerking

Vertaler  Relocerende Lader 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 0000000006 #symbolen A 0004 B 0005 Lengte  Laadadres  9999999999 0000 0002 0003 0004 0005 0001 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 #relocatie 0000 +#LAADADRES# 0002 +#LAADADRES#

Vertaler  Relocerende Lader HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 Vertaler (1ste stap): Symb. Adres Abs. Adres A 4 B 5

Vertaler  Relocerende Lader Vertaler (2de stap): PT 1 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 1131100004 1 LT 0000 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5

Vertaler  Relocerende Lader Vertaler (2de stap): 1 PT 2 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 1131100004 2111100001 2 LT 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES#

Vertaler  Relocerende Lader Vertaler (2de stap): 2 PT 3 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 1131100004 2111100001 3 LT 1221100005 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES# 0002 +#LAADADRES#

Vertaler  Relocerende Lader Vertaler (2de stap): 3 PT 4 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 1131100004 2111100001 4 LT 1221100005 9999999999 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES# 0002 +#LAADADRES#

Vertaler  Relocerende Lader Vertaler (2de stap): 4 PT 5 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 1131100004 2111100001 5 LT 1221100005 9999999999 0000000010 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES# 0002 +#LAADADRES#

Vertaler  Relocerende Lader Vertaler (2de stap): 5 PT 6 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 1131100004 2111100001 6 LT 1221100005 9999999999 0000000010 0000000000 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES# 0002 +#LAADADRES#

Vertaler  Relocerende Lader Vertaler (2de stap): 6 PT HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 1131100004 2111100001 6 LT 1221100005 9999999999 0000000010 0000000000 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES# 0002 +#LAADADRES#

Vertaler  Relocerende Lader 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 0000000006 #symbolen A 0004 B 0005 #relocatie 0000 +#LAADADRES# 0002 +#LAADADRES# 6 PT 1131100004 2111100001 1221100005 Symb. Adres Abs. Adres A 4 B 5 9999999999 0000000010 0000000000 0000 +#LAADADRES# 0001 +#LAADADRES# 0001 -#LAADADRES# 0002 +#LAADADRES#

Relocerende Lader Twee stappen: Stap 1: Stap 2: Relocatie-stap: Uitvoerbaar programma letterlijk  geheugen Stap 2: Relocatie-stap: Adressen aanpassen

Relocerende Lader Laadadres = 0300 Stap 1 1131100004 1112323423 1221100005 0000000010 9999999999 2111100001 0000000000 0000000006 #symbolen A 0004 B 0005 #relocatie 0000 +#LAADADRES# 0002 +#LAADADRES# Laadadres = 0300 Stap 1 1131100004 1112323423 5223241231 4563453242 1231231231 0000000000 9231231231 0300 0302 0303 0304 0305 0301 2111100001 1221100005 9999999999 0000000010 0000000000

Relocerende Lader Laadadres = 0300 Stap 2 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 0000000006 #symbolen A 0004 B 0005 #relocatie 0000 +#LAADADRES# 0002 +#LAADADRES# Laadadres = 0300 Stap 2 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 0300 0302 0303 0304 0305 0301

Relocerende Lader Laadadres = 0300 Stap 2 1131100304 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 0000000006 #symbolen A 0004 B 0005 #relocatie 0000 +#LAADADRES# 0002 +#LAADADRES# Laadadres = 0300 Stap 2 1131100304 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 0300 0302 0303 0304 0305 0301 0300+0000 = 0300

Relocerende Lader Laadadres = 0300 Stap 2 1131100304 1221100005 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 0000000006 #symbolen A 0004 B 0005 #relocatie 0000 +#LAADADRES# 0002 +#LAADADRES# Laadadres = 0300 Stap 2 1131100304 1221100005 0000000010 9999999999 2111100001 0000000000 0300 0302 0303 0304 0305 0301 1221100305 0300+0002 = 0302

Relocerende Lader … 1131100304 2111100001 1221100305 Vertaler LAADGR 300 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 1131100304 1221100305 0000000010 9999999999 2111100001 0000000000 0300 0302 0303 0304 0305 0301 Vertaler 1131100304 1221100305 2111100001 0000000006 0000000300 …

Relocerende Lader Voordelen: Gevolgen vertaler: = Statische Relocatie Programmeur  NIET laadadres opgeven Keuze uitgesteld tot uitvoeringstijd Vertaalde progr. kan om het even waar geladen Gevolgen vertaler: Kleine uitbreiding 2de stap = Statische Relocatie Relocatie eenmaal, vóór uitvoering

Dynamische Relocatie Hardware aanpassen: Dynamische Relocatie: Geheugenbeheereenheid (GBE) Memory Management Unit (MMU) Dynamische Relocatie: Adressen aangepast TIJDENS uitvoering Vergelijk: Indexatie: adres tijdens uitvoering berekend Dyn. Relocatie: alle adressen herberekend

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0000 GAR 1234 9999999999 BR RAM br 0300 0000000000 OR 1234567890 R1 1234567890 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0000 GAR 0300 READ 9999999999 BR RAM br 0300 0000000000 OR 1234567890 R1 1234567890 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0000 GAR 0300 9999999999 BR RAM br 0300 0000000000 OR READ 1234567890 R1 1131100004 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0001 GAR 0300 1131100004 BR RAM br 0300 0000000000 OR 1234567890 R1 1131100004 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO analyseren Besturingsorgaan GBE BT 0001 GAR 0300 1131100004 BR RAM br 0300 0000000004 OR 1234567890 R1 1131100004 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO analyseren Besturingsorgaan GBE BT 0001 GAR 0304 READ 1131100004 BR RAM br 0300 0000000004 OR 1234567890 R1 1131100004 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO analyseren Besturingsorgaan GBE BT 0001 GAR 0304 1131100004 BR RAM br 0300 0000000004 OR READ 1234567890 R1 0000000010 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO analyseren Besturingsorgaan GBE BT 0001 GAR 0304 1131100004 BR RAM br 0300 0000000010 OR 1234567890 R1 0000000010 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO uitvoeren Besturingsorgaan GBE BT 0001 GAR 0304 1131100004 BR RAM br 0300 0000000010 OR 1234567890 R1 0000000010 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO uitvoeren Besturingsorgaan GBE BT 0001 GAR 0304 1131100004 BR RAM br 0300 0000000010 OR 0000000010 R1 0000000010 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0001 GAR 0304 1131100004 BR RAM br 0300 0000000004 OR 0000000010 R1 0000000010 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0001 GAR 0301 READ 1131100004 BR RAM br 0300 0000000004 OR 0000000010 R1 0000000010 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0001 GAR 0301 1131100004 BR RAM br 0300 0000000004 OR READ 0000000010 R1 2111100001 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0002 GAR 0301 2111100001 BR RAM br 0300 0000000004 OR 0000000010 R1 2111100001 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO analyseren Besturingsorgaan GBE BT 0002 GAR 0301 2111100001 BR RAM br 0300 0000000001 OR 0000000010 R1 2111100001 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO uitvoeren Besturingsorgaan GBE BT 0002 GAR 0301 2111100001 BR RAM br 0300 0000000001 OR 0000000011 R1 2111100001 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0002 GAR 0301 2111100001 BR RAM br 0300 0000000001 OR 0000000011 R1 2111100001 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0002 GAR 0302 READ 2111100001 BR RAM br 0300 0000000001 OR 0000000011 R1 2111100001 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0002 GAR 0302 2111100001 BR RAM br 0300 0000000001 OR READ 0000000011 R1 1211000005 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO ophalen Besturingsorgaan GBE BT 0003 GAR 0302 1221100005 BR RAM br 0300 0000000001 OR 0000000011 R1 1221100005 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO analyseren Besturingsorgaan GBE BT 0003 GAR 0302 1221100005 BR RAM br 0300 0000000005 OR 0000000011 R1 1221100005 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO uitvoeren Besturingsorgaan GBE BT 0003 GAR 0302 1221100005 BR RAM br 0300 0000000005 OR 0000000011 R1 1221100005 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000000 CVO uitvoeren Besturingsorgaan GBE BT 0003 GAR 0305 WRITE 1221100005 BR RAM br 0300 0000000005 OR 0000000011 R1 0000000011 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000011 CVO uitvoeren Besturingsorgaan GBE BT 0003 GAR 0305 1221100005 BR RAM br 0300 0000000005 OR 0000000011 R1 0000000011 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000011 CVO ophalen Besturingsorgaan GBE BT 0003 GAR 0305 1221100005 BR RAM br 0300 0000000005 OR 0000000011 R1 0000000011 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000011 CVO ophalen Besturingsorgaan GBE BT 0003 GAR 0303 READ 1221100005 BR RAM br 0300 0000000005 OR 0000000011 R1 0000000011 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000011 CVO ophalen Besturingsorgaan GBE BT 0003 GAR 0303 1221100005 BR RAM br 0300 0000000005 OR READ 0000000011 R1 9999999999 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000011 CVO ophalen Besturingsorgaan GBE BT 0004 GAR 0303 9999999999 BR RAM br 0300 0000000005 OR 0000000011 R1 9999999999 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000011 CVO analyseren Besturingsorgaan GBE BT 0004 GAR 0303 9999999999 BR RAM br 0300 9999999999 OR 0000000011 R1 9999999999 GBR

Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0300 0302 0303 0304 0305 0301 1131100004 1221100005 0000000010 9999999999 2111100001 0000000011 CVO uitvoeren Besturingsorgaan GBE BT 0004 GAR 0303 9999999999 BR RAM br 0300 9999999999 OR 0000000011 R1 9999999999 GBR

Dynamische Relocatie Dynamische Relocatie Indexatie Inhoud Basisregister = constant Adresvertaling transparant Indexatie Inhoud Indexregister  constant Adresberekening zichtbaar in instructie

Programma lijkt geladen vanaf 0000 Dynamische Relocatie Statische Relocatie Geladen vanaf 0300 Dynamische Relocatie Geladen vanaf 0300 0000 0002 0001 1121000000 9999999999 7299999999 MAIN: HIA.a R0,MAIN DRU STP EINDPR 0300 0302 0301 1121000300 9999999999 7299999999 0300 0302 0301 1121000000 9999999999 7299999999 Programma lijkt geladen vanaf 0000 300 Uitvoer Uitvoer

Dynamische Relocatie Geheugenbeheer-eenheid en de programmeur Machine-instructies Invullen van basisregister In- en uitschakelen van GBE HIB = Haal In Basisregister HIB 1234 | br  1234 SGI = Spring en schakel GBE In SGI 1234 | GBE in; BT  1234 SGU = Spring en schakel GBE Uit SGU 1234 | GBE uit; BT  1234

Dynamische Relocatie Gevolgen voor vertaler Gevolgen voor lader Programma geladen vanaf 0000 Geen relocatietabel Gevolgen voor lader ± Absolute Lader Invullen basisregister GBE inschakelen

Dynamische Relocatie Laadadres is bepaald Algoritme Lengte inlezen Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen (begin bij laadadres) Start uitvoering | Lader (± Absolute Lader) | Aantal  R2 | Adres  R1 | Laadadres  R3 (bepaald!) LEZ | Lengte HIA R2,R0 HIA R1,R3 LUS: VGL.w R2,0 VSP KLG,GBE LEZ | Instr. BIG R0,0(R1+) AFT.w R2,1 SPR LUS | br  laadadres, GBE in GBE: Laad basisregister Schakel GBE in HIB 0(R3) SGI 0

Cursustekst Hoofdstuk 3: pag. 45  pag. 62