• No results found

De 20 tangenterna märkta 0-9 samt A, B, C, D, E, F, L, P, R

och S används för att mata in hexadecimala tal för data och adresser samt för olika kom-mandon. För att ge en viss likhet med de monitorprogram vilka har en bildskärm som presenta-tionsenhet har vissa funktioner införts för att förenkla

De fyra första indikatorerna används av monitorprogrammet för att visa adresser och andra 16-bitars tal. De två övriga an-vänds för att visa data och 8-bitars tal. Båda monitorpro-grammen har samma komman-don och identiska egenskaper. Till varje monitorprogram med-följer en programlistning med kommentarer.

När punkten på första indika-torn blinkar långsamt innebär det att programmet är i kon-trollslingan och väntar på ett kommando. Det finns då åtta kommandon att välja mellan:

A, Alter Memory: Minnesma-nipulering. Efter att ha tryckt pa A blinkar punkten med högre aktuella minnes positionen gör man så enbart genom att ange ögonblick varefter programmet stegar vidare till efterföljande rninnesposition och visar datain-nehållet i den minnescellen. In-matning av maskinkod från en lista blir på det sättet enkel.

Om man bara vill undersöka vad som finns i de olika minnes-cellerna, kan man stega genom minnet med L-tangenten. Med P-tangenten kan man stega bak-länges i minnet. För att återgå till kontrollslingan trycker man på R. Om man försöker ändra data på en adress där det inte finns något RAM; det kanske är ROM, EP ROM eller ett "write only"-register i en periferikrets,

~er datorn en BELL-puls och mgen ändring av minnesadres-sen sker. Det är användbart sär-skilt om man skall mata in olika tal i en periferikrets register för att prova dess utgångar.

Med S-tangenten kan man på ett enkelt sätt beräkna offset för relativ adressering. Det är an-nars ett tidödande arbete, spe-ciellt vid handskrivna program i maskinkod. Om vi exempelvis befinner oss i minnesposition A200 med instruktionen 26 (BEQ), skall på den efterföljan-de minnespositionen stå offset-värdet till den adress dit vi skall hoppa, om föregående instruk-tion gav ett resultat som blev

dataindikatorn står därefter BC, vilket är det uträknade 2-kom-plements offsettal som datorn behöver för att hamna på rätt adress vid programmets kör-ning. Eftersom det uträknade och visade offsetvärdet skall läg-gas in på den angivna minnesad-ressen så gör programmet det åt oss, varefter nästa minnesadress med innehåll visas på indikato-rerna.

Problemet med 2-komple-ment-offset behöver inte längre bekymra den som gör pro~ram i maskinkod med funktIOnen.

Om det skulle visa sig att den inmatade adressen ligger för långt ifrån, anges det med en BELL-puls utan ändring av min-nesadressen.

B, Set Breakpoint: En bryt-punkt är ett slags programstopp, vilket används under avlusning (eng "debugging") av program.

Funktionen åstadkoms genom 'att man ersätter den

ursprungli-ga opkoden med opkoden för sker också automatiskt, såvida inte programmet avbryts med ett tryck på reset-knappen. I så fall får man för hand ändra de minnesceller som var försedda med brytpunkter. Maximalt fem brytpunkter kan samtidigt an-ges. En brytpunkt inmatas ge-nom att man trycker på B och en adress. Efter det återgår pro-grammet till kontrollslingan.

forts sid 33

Fig J. Blockschemaför MM74C92J.

AKAI

32

RADIO & TELEVISION - NR 5 - 1980 Informationstjänst 9

Datorbygge

från sid 30

Fig 4. Kretskortet sett från /oliesidan i skala 1 :1.

C, Continue: Används för att fortsätta efter en brytpunkt. När registren har visats och pro-grammet är i kontrollslingan, trycker man på C. Stackpekaren laddas då med det ursprungliga värdet, varefter en RTI utförs och programmet fortsätter.

D, Delete Breakpoints: Tar bort alla definierade brytpunk-ter från monitorprogrammets tabell.

E, Execute Program: An-vänds för att starta program på en viss adress, t ex E 0100, vil-ken går till adress $0100 och startar det program som finns där. Eventuella brytpunkter har dessförinnan placerats in på sina platser.

L, Load: Ladda minnet med data från kassett. Rutinen fö rut-sätter att ett KCS-modem finns placerat i kontakten 13 på mo-derkortet. Data följer Motoro-las SI-format. Under laddning-en visas adress till varje datain-spelning på adressindikatorn och varje dataord återges på da-taindikatorn. Det innebär; att man vet var i minnet laddning sker och att data verkligen kom-mer in. Laddningen avslutas när koden S9 kommer in från

kas-setten, varvid programmet åter-går till kontrollslingan.

P, Punch Data: Spela in data mellan två adresser på kassett.

Förutsätter KCS-modem, se ovan. Initieras genom att man efter P anger start- och slutad-ress för det minnesblock som skall spelas in. Eftersom data sänds så fort sista tecknet har matats in, bör man starta band-spelaren så fort P-tangenten har tryckts ner. Under inspelningen visas adress och data på indika-torerna på samma sätt som vid laddningsfunktionen. När alla data är utmatade, avslutas det hela med koden S9. Att lagra data enligt det här formatet har den stora fördelen att kassetter-na kan användas och spelas upp även över andra terminaler utan att man behöver tillgripa spe-ciairutiner.

R, Register Display: Tangen-ten visar registren i processorns stack. Först visas på dataindika-torn CC-registret (condition code), med ett tryck på S-knap-pen visas sedan i tur och ordning B-ackumulatorn, A-ackumula-torn, X-registret, PC-värdet och S-värdet. Vid fortsatt tryckning på S-knappen upprepas det hela

Fig 5. Kretskortet sett/rån komponentsidan med mönstret i/ärg och komponenttryck i svart.

och programmet återgår till kontrollslingan med R-kn ap-pen.

För 6809-utförandet av moni-torprogrammet presenteras re-gistren i följande ordning: CC, A, B, DP, X, Y, U, PC och S.

Till denna rutin kommer pro-grammet automatiskt vid SWI, NMI och IRQ om RAM -vekto-rerna för dem ej har ändrats av användaren. Eftersom det kan

komma att finnas flera varianter av monitorprogrammen återger vi inga adresser till dem eller andra rutiner. Adresserna fram-går dock tydligt av progra m-listan.

Övningsprogram

Monitorprogrammet använ-der RAM-adresserna $AOOO-A07F för att lagra konstanter

forts sid 34

RADIO & TELEVISION - NR 5 - 1980

33

Datorbygge

från sid 33

Related documents