De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader  De absolute lader  De relocerende lader  Dynamische relocatie.

Verwante presentaties


Presentatie over: "1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader  De absolute lader  De relocerende lader  Dynamische relocatie."— Transcript van de presentatie:

1 1 SOCS Hoofdstuk 3 Basisprogrammatuur

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

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

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

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

6 6 Verantwoording RAM Vertale r HIA R0,A DRU OPT R0,B DRU STP A:10000 B:20000 1131000005 7299999999 2131000006 7299999999 9999999999 0000010000 0000020000 Schijf

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

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

9 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 0000000145 7299999999 … … symb.tabel … Lengte aanduiding 145 bevelen/constanten

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

11 11 Absolute Lader Algoritme:  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 0000000000 R1

12 12 Absolute Lader Algoritme  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 0000000000 R1

13 13 Absolute Lader Algoritme  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 0000000000 R1

14 14 Absolute Lader Algoritme  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 0000000000 R1

15 15 Absolute Lader Algoritme  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 0000000000 R1

16 16 Absolute Lader Algoritme  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 0000000000 R1

17 17 Absolute Lader Algoritme  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 0000 0002 … 0003 0004 0005 0001 7199999999 0000000000 1221000010 0000000000 R1

18 18 Absolute Lader Algoritme  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 0000000000 R1

19 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 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 21 Absolute Lader Verfijning  Programma NIET ALTIJD vanaf adres 0000 geladen  Meerdere programma’s in het geheugen! Probleem  Adressen kloppen niet  Vertaler  symbooltabel (PT = 0)

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

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

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

25 25 Absolute Lader LAADGR 300 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 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0004 1131100004 0005 1221100005 2111100001 0006 0000000006 0000 0000000000 … 0104 1131100104 0105 1221100105 2111100001 0006 0000000006 0100 0000000100 … 0304 1131100304 0305 1221100305 2111100001 0006 0000000006 0300 0000000300 … Vertale r

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

27 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 LEZ | Laadadres HIA R3,R0  Laadadres inlezen (begin bij Laadadres)  Sprong  Laadadres | Laadadres  R3 HIA R1,R0 (R3)

28 28 Relocerende Lader Absolute lader:  Programmeur moet vóór vertaling laadadres kennen Vertaler  Lader: “Hoe adressen aanpassen”  Relocatietabel relatief adresbewerking  relatief adresbewerking

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

30 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 A4 B5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

45 45 Relocerende Lader Voordelen:  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 46 Dynamische Relocatie Hardware aanpassen:  Geheugenbeheereenheid (GBE) Memory Management Unit (MMU) Dynamische Relocatie:  Adressen aangepast TIJDENS uitvoering Vergelijk:  Indexatie: adres tijdens uitvoering berekend  Dyn. Relocatie: alle adressen herberekend

47 47 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0000 9999999999BR 0000000000OR 1234567890R1 GBE br 0300 RAMGAR 1234 1234567890GBR ophalen

48 48 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0000 9999999999BR 0000000000OR 1234567890R1 GBE br 0300 RAMGAR 0300 1234567890GBR READ ophalen

49 49 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0000 9999999999BR 0000000000OR 1234567890R1 GBE br 0300 RAMGAR 0300 READ 1131100004GBR ophalen

50 50 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0001 1131100004BR 0000000000OR 1234567890R1 GBE br 0300 RAMGAR 0300 1131100004GBR ophalen

51 51 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0001 1131100004BR 0000000004OR 1234567890R1 GBE br 0300 RAMGAR 0300 1131100004GBR analyseren

52 52 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0001 1131100004BR 0000000004OR 1234567890R1 GBE br 0300 RAMGAR 0304 READ 1131100004GBR analyseren

53 53 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0001 1131100004BR 0000000004OR 1234567890R1 GBE br 0300 RAMGAR 0304 READ analyseren 0000000010GBR

54 54 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0001 1131100004BR 0000000010OR 1234567890R1 GBE br 0300 RAMGAR 0304 0000000010GBR analyseren

55 55 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0001 1131100004BR 0000000010OR 1234567890R1 GBE br 0300 RAMGAR 0304 0000000010GBR uitvoeren

56 56 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0001 1131100004BR 0000000010OR R1 GBE br 0300 RAMGAR 0304 0000000010GBR uitvoeren

57 57 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0001 1131100004BR 0000000004OR 0000000010R1 GBE br 0300 RAMGAR 0304 0000000010GBR ophalen

58 58 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0001 1131100004BR 0000000004OR 0000000010R1 GBE br 0300 RAMGAR 0301 READ 0000000010GBR ophalen

59 59 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0001 1131100004BR 0000000004OR 0000000010R1 GBE br 0300 RAMGAR 0301 READ 2111100001GBR ophalen

60 60 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0002 2111100001BR 0000000004OR 0000000010R1 GBE br 0300 RAMGAR 0301 2111100001GBR ophalen

61 61 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0002 2111100001BR 0000000001OR 0000000010R1 GBE br 0300 RAMGAR 0301 2111100001GBR analyseren

62 62 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0002 2111100001BR 0000000001OR 0000000011R1 GBE br 0300 RAMGAR 0301 2111100001GBR uitvoeren

63 63 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0002 2111100001BR 0000000001OR 0000000011R1 GBE br 0300 RAMGAR 0301 2111100001GBR ophalen

64 64 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0002 2111100001BR 0000000001OR 0000000011R1 GBE br 0300 RAMGAR 0302 READ 2111100001GBR ophalen

65 65 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0002 2111100001BR 0000000001OR 0000000011R1 GBE br 0300 RAMGAR 0302 READ 1211000005GBR ophalen

66 66 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0003 1221100005BR 0000000001OR 0000000011R1 GBE br 0300 RAMGAR 0302 1221100005GBR ophalen

67 67 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0003 1221100005BR 0000000005OR 0000000011R1 GBE br 0300 RAMGAR 0302 1221100005GBR analyseren

68 68 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0003 1221100005BR 0000000005OR 0000000011R1 GBE br 0300 RAMGAR 0302 1221100005GBR uitvoeren

69 69 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000000 BT0003 1221100005BR 0000000005OR 0000000011R1 GBE br 0300 RAMGAR 0305 WRITE 0000000011GBR uitvoeren

70 70 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000011 BT0003 1221100005BR 0000000005OR 0000000011R1 GBE br 0300 RAMGAR 0305 0000000011GBR uitvoeren

71 71 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000011 BT0003 1221100005BR 0000000005OR 0000000011R1 GBE br 0300 RAMGAR 0305 0000000011GBR ophalen

72 72 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000011 BT0003 1221100005BR 0000000005OR 0000000011R1 GBE br 0300 RAMGAR 0303 READ 0000000011GBR ophalen

73 73 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000011 BT0003 1221100005BR 0000000005OR 0000000011R1 GBE br 0300 RAMGAR 0303 READ 9999999999GBR ophalen

74 74 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000011 BT0004 9999999999BR 0000000005OR 0000000011R1 GBE br 0300 RAMGAR 0303 9999999999GBR ophalen

75 75 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000011 BT0004 9999999999BR OR 0000000011R1 GBE br 0300 RAMGAR 0303 9999999999GBR analyseren

76 76 CVO Besturingsorgaan 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 0004 1131100004 0005 1221100005 0000000010 9999999999 2111100001 0000000011 BT0004 9999999999BR OR 0000000011R1 GBE br 0300 RAMGAR 0303 9999999999GBR uitvoeren

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

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

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

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

81 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: HIB 0(R3) SGI 0  Laad basisregister  Schakel GBE in

82 82 Cursustekst Hoofdstuk 3: pag. 45  pag. 62


Download ppt "1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader  De absolute lader  De relocerende lader  Dynamische relocatie."

Verwante presentaties


Ads door Google