Maskinnära programmering i C och assembler
Maskinnära programmering i C och assembler
Maskinnära programmering i C och assembler
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Projektinställningar för 'mllibtest' i 'Debug'konfiguration:<br />
Projektinställningar för 'mllibtest' i 'Final'konfiguration:<br />
Skapa nu testapplikationen i 'Debug'-version med<br />
biblioteksrutiner. Testa genom att stega in i varje<br />
funktion (även biblioteksfunktionerna) <strong>och</strong><br />
kontrollera att det fungerar som avsett.<br />
SLUT PÅ UPPGIFT 143.<br />
UPPGIFT 144:<br />
I denna uppgift ska vi studera vad som händer då vi<br />
använder debuggern med programbibliotek som<br />
INTE omfattar 'Debug'-information.<br />
Detta är typiskt fallet om man använder färdiga<br />
programbibliotek men inte har tillgång till dessa<br />
biblioteks källtexter.<br />
Ändra nu under "Project Settings", för 'Debug'konfigurationen,<br />
biblioteksnamnet till<br />
"mllib.e12", dvs det programbibliotek du<br />
skapade utan Debug-information.<br />
Välj på nytt "Build All".<br />
Testa genom att stega in i varje funktion, vad<br />
händer då du försöker stega in i en<br />
biblioteksfunktion?<br />
SLUT PÅ UPPGIFT 144.<br />
Arbetsbok för MC12<br />
För att debuggern ska fungera krävs att de använda<br />
källtexterna finns tillgängliga <strong>och</strong> att debuggern<br />
kan hitta dessa. I nästa uppgift ska vi se vad som<br />
händer om vi faktiskt använder 'Debug'-versionen<br />
av biblioteket, men debuggern inte kan hitta de<br />
källtexter som ingår i biblioteket.<br />
UPPGIFT 145:<br />
Döp om filen ML4DRVR.C till ML4DRVR.CC.<br />
Ändra nu under "Project Settings", för 'Debug'konfigurationen,<br />
biblioteksnamnet till<br />
"mllibd.e12", dvs det programbibliotek du<br />
skapade med Debug-information.<br />
Välj på nytt "Build All".<br />
Testa genom att stega in i varje funktion, vad<br />
händer då du stegar in i en biblioteksfunktion?<br />
SLUT PÅ UPPGIFT 145.<br />
Du ska nu, på egen hand bygga ut det påbörjade<br />
programbiblioteket.<br />
Inför dessa uppgifter kan det vara lämpligt att<br />
snabbt repetera kapitel 3 som behandlade ML15<br />
<strong>och</strong> ML5.<br />
UPPGIFT 146:<br />
Aktivera projektet MLLIB.<br />
Konstruera drivrutiner för ML15 enligt följande<br />
specifikationer. Redigera dessa i en ny fil<br />
ML15DRVR.C. Lägg filen till projektet Placera<br />
även nya adress- <strong>och</strong> prototypdeklarationer i filen<br />
PORTADD.H.<br />
char ML15_Keyboard( void );<br />
Undersök tangentbordet. Om ingen tangent är<br />
nedtryckt skall 0xFF returneras, annars<br />
tangentkoden. Rutinen väntar tills nedtryckt<br />
tangent släpps upp igen.<br />
respektive:<br />
void ML15_Display( char *);<br />
Rutinen matar ut en sträng om 6 st<br />
hexadecimala siffror till Display-modulen <strong>och</strong><br />
tänder denna. Parametern är en pekare till en<br />
sträng som innehåller de hexadecimala<br />
siffrorna (mest signifikanta siffra först).<br />
Strängen förutsätts vara riktig, dvs inte<br />
innehålla värden större än 0xF.<br />
Det är lämpligt att du först testar i ett lokalt<br />
bibliotek, då du ser att dina drivrutiner fungerar<br />
som de ska installerar du programbibliotek <strong>och</strong><br />
header-fil i standardkataloger.<br />
SLUT PÅ UPPGIFT 146.<br />
105