1 SOCS Hoofdstuk 3 Basisprogrammatuur
2 Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker Het Speurprogramma Het Opstarten van de Computer
3 Uitvoeren van programma #symbolen a 0005 b 0006 Bugs (fouten) *** ongeldige instructie Had 10 en 30 moeten zijn!!!
4 Speurprogramma Speur- programm a ? Stap 0000: HIA R0,a+10 ? Inhoud R0 R0: #symbolen a 0005 b 0006 Engels: Debugger
5 Doelstelling Helpen bij opsporen van ‘logische fouten’ Interactief Repertorium: toon code (disassemble) inhoud geheugenregister/accumulator wijzig inhoud geheugenregister/accumulator (her)start uitvoering voer 1 instructie uit (stap) breekpunten plaatsen/verwijderen/tonen verder gaan na een breekpunt
6 Werking Afwisselend 2 programma’s uitgevoerd Speurprogramma Uit te testen programma Onder leiding van gebruiker Uit te testen Programma Debugger
7 Werking Uit te testen Programma Debugger Uit te testen programma Speurprogramma tijd Breekpunt
8 Breekpunten Plaats waar uitvoering onderbroken wordt programma onderbroken bij breekpunt 0020: HIA.w R1,23 Opdrachten inlezen van gebruiker + uitvoeren tot … stap, (her)start, verder, …
9 Breekpunten: voorbeeld | index R1 | som R2 HIA.w R1,0 HIA.w R2,0 lus:LEZ BIG R0,g(+R1) OPT R2,R0 VGL.w R1,10 VSP KL,lus DEL R2,R1 HIA R0,R2 DRU STP g:RESGR 10 EINDPR Vertale r … … …
10 Breekpunten: voorbeeld … …………………… … SPEURPROG:… … BREEKPUNT:… … Speur- Program- ma Uit te testen programma
11 Breekpunten: voorbeeld … …………………… … SPEURPROG:… … BREEKPUNT:… … Speur- Program- ma Uit te testen programma BREEKPUN T SBR BREEKPUNT Oorspronkelijke instructie ook uitvoeren! Breekpun- ten-tabel
12 HIA.w R1,0 HIA.w R2,0 lus:LEZ BIG R0,g(+R1) OPT R2,R0 VGL.w R1,10 VSP KL,lus DEL R2,R1 HIA R0,R2 DRU STP g:RESGR 10 AdresInstructie Breekpunten: voorbeeld … SBR BREEKPUNT Breekpunten- tabelAdresInstructie AdresInstructie
13 Beperking Geen breekpunt op … Instructies die CC niet wijzigen: SPR, VSP, KTG, SBR Oplossing: Breekpunt m.b.v. OND-instructies Toestand (incl. cc bewaard)
14 Speurprogrammma voor HPT Symbolic Debugger Meedelen aan compilator Geen optimisaties Extra informatie in objectmodule Bestand bronprogramma Lijnnummer in bronprogramma …
15 Cursustekst Hoofdstuk 3: pag. 85 pag. 90