Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdAdriana Kuipers Laatst gewijzigd meer dan 10 jaar geleden
1
Hoofdstuk 3 Basisprogrammatuur
SOCS Hoofdstuk 3 Basisprogrammatuur
2
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
3
Lader RAM Lader Uitvoerbaar programma (machinetaal)
4
Lader RAM Lader
5
Verantwoording Nodig? Vertaler?
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
6
Verantwoording Vertalen ... ( x 1 ) RAM 1131000005 7299999999 HIA R0,A
HIA R0,A DRU OPT R0,B STP A: 10000 B: 20000 Vertaler Schijf
7
Verantwoording Uitvoeren ... ( x N ) 1131000005 7299999999 2131000006
RAM Uitvoeren ... ( x N ) Lader
8
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
9
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 … symb.tabel Lengte aanduiding 145 bevelen/constanten
10
Absolute Lader … Algoritme: R1 Lengte inlezen
Opeenvolgende getallen inlezen opeenvolgende geheugenplaatsen Start uitvoering 0000 0002 … 0003 0004 0005 0001 R1
11
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 R1
12
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 R1
13
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 R1
14
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 R1
15
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 R1
16
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 R1 AFT.w R2,1
17
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 R1 SPR LUS
18
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 R1
19
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
20
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:
21
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)
22
Absolute Lader … A B A B A B 1131100004 1221100005
0002 0003 0004 0005 0001 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 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 A B HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1
23
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
24
Absolute Lader LAADGR 300 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10
Hoofding Lengte Laadadres 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
25
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 … … …
26
Absolute Lader … … … Lader A B A B A B 1131100004
… 0000 0002 0003 0004 0005 0001 A B … 0100 0102 0103 0104 0105 0101 A B Lader … 0300 0302 0303 0304 0305 0301 A B
27
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
28
Relocerende Lader Absolute lader:
Programmeur moet vóór vertaling laadadres kennen Vertaler Lader: “Hoe adressen aanpassen” Relocatietabel relatief adres bewerking
29
Vertaler Relocerende Lader
#symbolen A 0004 B 0005 Lengte Laadadres 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#
30
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
31
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 1 LT 0000 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5
32
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 2 LT 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES#
33
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 3 LT 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES# 0002 +#LAADADRES#
34
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 4 LT 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES# 0002 +#LAADADRES#
35
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 5 LT 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES# 0002 +#LAADADRES#
36
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 6 LT 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES# 0002 +#LAADADRES#
37
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 6 LT 0000 +#LAADADRES# 0001 +#LAADADRES# Symb. Adres Abs. Adres A 4 B 5 0001 -#LAADADRES# 0002 +#LAADADRES#
38
Vertaler Relocerende Lader
#symbolen A 0004 B 0005 #relocatie 0000 +#LAADADRES# 0002 +#LAADADRES# 6 PT Symb. Adres Abs. Adres A 4 B 5 0000 +#LAADADRES# 0001 +#LAADADRES# 0001 -#LAADADRES# 0002 +#LAADADRES#
39
Relocerende Lader Twee stappen: Stap 1: Stap 2: Relocatie-stap:
Uitvoerbaar programma letterlijk geheugen Stap 2: Relocatie-stap: Adressen aanpassen
40
Relocerende Lader Laadadres = 0300 Stap 1 1131100004 1112323423
#symbolen A 0004 B 0005 #relocatie 0000 +#LAADADRES# 0002 +#LAADADRES# Laadadres = 0300 Stap 1 0300 0302 0303 0304 0305 0301
41
Relocerende Lader Laadadres = 0300 Stap 2 1131100004 1221100005
#symbolen A 0004 B 0005 #relocatie 0000 +#LAADADRES# 0002 +#LAADADRES# Laadadres = 0300 Stap 2 0300 0302 0303 0304 0305 0301
42
Relocerende Lader Laadadres = 0300 Stap 2 1131100304 1131100004
#symbolen A 0004 B 0005 #relocatie 0000 +#LAADADRES# 0002 +#LAADADRES# Laadadres = 0300 Stap 2 0300 0302 0303 0304 0305 0301 = 0300
43
Relocerende Lader Laadadres = 0300 Stap 2 1131100304 1221100005
#symbolen A 0004 B 0005 #relocatie 0000 +#LAADADRES# 0002 +#LAADADRES# Laadadres = 0300 Stap 2 0300 0302 0303 0304 0305 0301 = 0302
44
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 0300 0302 0303 0304 0305 0301 Vertaler …
45
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
46
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
47
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 CVO ophalen Besturingsorgaan GBE BT 0000 GAR 1234 BR RAM br 0300 OR R1 GBR
48
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 CVO ophalen Besturingsorgaan GBE BT 0000 GAR 0300 READ BR RAM br 0300 OR R1 GBR
49
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 CVO ophalen Besturingsorgaan GBE BT 0000 GAR 0300 BR RAM br 0300 OR READ R1 GBR
50
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 CVO ophalen Besturingsorgaan GBE BT 0001 GAR 0300 BR RAM br 0300 OR R1 GBR
51
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 CVO analyseren Besturingsorgaan GBE BT 0001 GAR 0300 BR RAM br 0300 OR R1 GBR
52
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 CVO analyseren Besturingsorgaan GBE BT 0001 GAR 0304 READ BR RAM br 0300 OR R1 GBR
53
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 CVO analyseren Besturingsorgaan GBE BT 0001 GAR 0304 BR RAM br 0300 OR READ R1 GBR
54
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 CVO analyseren Besturingsorgaan GBE BT 0001 GAR 0304 BR RAM br 0300 OR R1 GBR
55
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 CVO uitvoeren Besturingsorgaan GBE BT 0001 GAR 0304 BR RAM br 0300 OR R1 GBR
56
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 CVO uitvoeren Besturingsorgaan GBE BT 0001 GAR 0304 BR RAM br 0300 OR R1 GBR
57
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 CVO ophalen Besturingsorgaan GBE BT 0001 GAR 0304 BR RAM br 0300 OR R1 GBR
58
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 CVO ophalen Besturingsorgaan GBE BT 0001 GAR 0301 READ BR RAM br 0300 OR R1 GBR
59
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 CVO ophalen Besturingsorgaan GBE BT 0001 GAR 0301 BR RAM br 0300 OR READ R1 GBR
60
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 CVO ophalen Besturingsorgaan GBE BT 0002 GAR 0301 BR RAM br 0300 OR R1 GBR
61
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 CVO analyseren Besturingsorgaan GBE BT 0002 GAR 0301 BR RAM br 0300 OR R1 GBR
62
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 CVO uitvoeren Besturingsorgaan GBE BT 0002 GAR 0301 BR RAM br 0300 OR R1 GBR
63
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 CVO ophalen Besturingsorgaan GBE BT 0002 GAR 0301 BR RAM br 0300 OR R1 GBR
64
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 CVO ophalen Besturingsorgaan GBE BT 0002 GAR 0302 READ BR RAM br 0300 OR R1 GBR
65
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 CVO ophalen Besturingsorgaan GBE BT 0002 GAR 0302 BR RAM br 0300 OR READ R1 GBR
66
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 CVO ophalen Besturingsorgaan GBE BT 0003 GAR 0302 BR RAM br 0300 OR R1 GBR
67
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 CVO analyseren Besturingsorgaan GBE BT 0003 GAR 0302 BR RAM br 0300 OR R1 GBR
68
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 CVO uitvoeren Besturingsorgaan GBE BT 0003 GAR 0302 BR RAM br 0300 OR R1 GBR
69
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 CVO uitvoeren Besturingsorgaan GBE BT 0003 GAR 0305 WRITE BR RAM br 0300 OR R1 GBR
70
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 CVO uitvoeren Besturingsorgaan GBE BT 0003 GAR 0305 BR RAM br 0300 OR R1 GBR
71
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 CVO ophalen Besturingsorgaan GBE BT 0003 GAR 0305 BR RAM br 0300 OR R1 GBR
72
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 CVO ophalen Besturingsorgaan GBE BT 0003 GAR 0303 READ BR RAM br 0300 OR R1 GBR
73
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 CVO ophalen Besturingsorgaan GBE BT 0003 GAR 0303 BR RAM br 0300 OR READ R1 GBR
74
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 CVO ophalen Besturingsorgaan GBE BT 0004 GAR 0303 BR RAM br 0300 OR R1 GBR
75
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 CVO analyseren Besturingsorgaan GBE BT 0004 GAR 0303 BR RAM br 0300 OR R1 GBR
76
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 CVO uitvoeren Besturingsorgaan GBE BT 0004 GAR 0303 BR RAM br 0300 OR R1 GBR
77
Dynamische Relocatie Dynamische Relocatie Indexatie
Inhoud Basisregister = constant Adresvertaling transparant Indexatie Inhoud Indexregister constant Adresberekening zichtbaar in instructie
78
Programma lijkt geladen vanaf 0000
Dynamische Relocatie Statische Relocatie Geladen vanaf 0300 Dynamische Relocatie Geladen vanaf 0300 0000 0002 0001 MAIN: HIA.a R0,MAIN DRU STP EINDPR 0300 0302 0301 0300 0302 0301 Programma lijkt geladen vanaf 0000 300 Uitvoer Uitvoer
79
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
80
Dynamische Relocatie Gevolgen voor vertaler Gevolgen voor lader
Programma geladen vanaf 0000 Geen relocatietabel Gevolgen voor lader ± Absolute Lader Invullen basisregister GBE inschakelen
81
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
82
Cursustekst Hoofdstuk 3: pag. 45 pag. 62
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.