Vorige Inhoud Volgende
_________________________________________________________________
DIAMOND 860409 (c) 1986 by ORD-GROUP 23
DIAMOND
(DIAgnostic MONitor and Debugger)
Inleiding
Tijdens de bouw van de ORDINATOR was er al snel (na het ont-
wikkelen van de CPU kaart) de behoefte aanwezig om een stuk
hardware te kunnen testen. Iets later kwam daarbij de behoefte om
software voor deze hardware te schrijven en deze te testen. We
moesten dus een monitor schrijven die zo min mogelijk hardware-
faciliteiten nodig zou hebben. Ze moest in staat zijn om de
diverse hardware functies te testen en het moest mogelijk zijn om
met deze monitor software te testen. Een verdere eis was dat het
eenvoudig moest zijn om uit te breiden. Aangezien het te
verwachten was dat we vrij veel met deze monitor zouden moeten
werken moest de bediening eenvoudig, snel en toch gebruikers-
vriendelijk zijn.
Noodzakelijke hardware
In principe heeft de ORDINATOR alleen maar de CPU-kaart nodig om
te werken. Op de CPU-kaart is een kleine hoeveelheid RAM en ROM
aanwezig. In deze ROM zit het basisdeel van DIAMOND. In de
praktijk heb je ook nog een seriele I/O kaart nodig omdat DIAMOND
anders niet met de buitenwereld kan communiceren.
Expansimogelijkheden
Omdat er steeds meer hardware kwam moesten de mogelijkheden van
DIAMOND ook steeds worden uitgebreid. Het programma werd hoe
langer hoe groter todat het niet meer in een EPROM paste. We zijn
toen overgestapt op een uitbreidingssysteem. De kern van DIAMOND
zit in een EPROM op de CPU kaart. Deze kern kan losstaand werken.
Op de CPU-extensie kaart zitten nog twee EPROM's. Deze EPROM's
bevatten een stel uitbreidingen van de kern. Bij het opstarten
kijkt de kern of deze EPROM's aanwezig zijn. Als ze aanwezig zijn
dan kent DIUAMOND een aantal commando's extra.
Het voordeel van dit systeem is dat DIAMOND toch werkt als de
CPU-extensie kaart niet aanwezig is. Dit betekent dat we met
DIAMOND een fout in de CPU-extensie kaart kunnen gaan zoeken.
Eenvoud van gebruik
Bij de meeste monitorprogramma's moet bij een listcommando zowel
het begin- als het eindadres worden opgegeven. Dit blijkt in de
praktijk niet handig, daar het hoogste te printen adres bepaald
wordt door het aantal regels dat op het scherm past. DIAMOND
print daarom een bepaald (instelbaar) aantal regels, en bepaalt
daarmee het eindadres voor het gegeven commando. Dit heeft als
nadeel dat wanneer een groot geheugenblok bekeken moet worden, er
erg veel commando's gegeven zouden moeten worden. Daarom heeft
DIAMOND een uitgebreid defaultsysteem. Zo onthoudt DIAMOND het
laatst gebruikte adres, en gebruikt dit als default bij een
volgend commando. Ook onthoudt DIAMOND het laatst gebruikte
listcommando (hexdump of disassembly list). DIAMOND heeft als
extra commando de return toetst. Dit voert het laatste list-
commando uit, met als argument het laatst gebruikte adres. Voor
het bekijken van een programma op adres 1000 kunnen dus de
_________________________________________________________________
Vorige Inhoud Volgende