De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Hoofdstuk 3 Basisprogrammatuur

Verwante presentaties


Presentatie over: "Hoofdstuk 3 Basisprogrammatuur"— Transcript van de presentatie:

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


Download ppt "Hoofdstuk 3 Basisprogrammatuur"

Verwante presentaties


Ads door Google