beskriva funktion och typisk användning av räknarkretsar, kretsar för parallell och seriell in- och utmatning
beskriva och ge exempel på undantag och undantagshantering
beskriva hur översättning av C-program till maskinprogram (kompilering, assemblering och länkning) utförs i den använda programutvecklingsmiljön
beskriva och förklara datatyper och lagringsklasser i programspråket C samt redogöra för motsvarande konstruktioner i assemblerspråk.
beskriva aspekter på hög nivå att tänka på när man designar hårdvara och mjukvara med medvetenhet om jämlikhet, mångfald och inkludering.
F
ä
r
d
i
g
h
e
t
o
c
f
ö
m
å
a
utnyttja den i kursen använda programutvecklingsmiljön för implementering och test av programkod i C och assemblerspråk
skriva enkla maskinorienterade C-program med användande av programspråkets datatyper och styrstrukturer
skapa och använda datatyper och lagringsklasser i programspråket C
speciellt använda "pekare" för maskinorienterad programmering i C
skapa och använda programbibliotek i den använda programutvecklingsmiljön
konstruera och använda sammansatta datatyper speciellt för maskinorienterad programmering
översätta uttryck och styrstrukturer givna i programspråket C till instruktionssekvenser i assemblerspråk.
V
n
l
s
analysera funktioner, skrivna i programspråket C och översätta dessa till assemblerkod
analysera enklare subrutiner, skrivna i assemblerspråk, och beskriva dessa i programspråket C
konstruera programvara, i C och assemblerspråk, med olika former av in- och utmatning
konstruera programvara, i C och assemblerspråk, för system innefattande olika typer av undantag (interna undantag, avbrott, återstart)
utnyttja programutvecklingsmiljöns mekanismer för kodförbättring (optimering)
utnyttja programutvecklingsmiljöns mekanismer för generering av effektiv och resurssnål maskinkod.
Kursinnehåll
Programutveckling i C och assemblerspråk, test och felsökning. Strukturerad assemblerprogrammering, grunder för kodgenerering. Första nivåns systemprogrammering, dvs. hur datorn programmeras för start från spänningstillslag och hantering av olika typer av undantag så som interna fel, händelser och avbrott. Programmering av kretsar för parallell in- och utmatning, tidshantering och programmering av räknarkretsar. Grunderna för datorkommunikation och programmering av kretsar för seriekommunikation.