Tentamen med lösningsförslag
|
|
- Roger Lundgren
- för 6 år sedan
- Visningar:
Transkript
1 Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT016 Programmering av inbyggda system IT DIT152 Programmering av inbyggda system GU Tisdag 17 december 2013, kl Examinatorer Roger Johansson, tel Jan Skansholm, tel Kontaktpersoner under tentamen Roger Johansson/Jan Skansholm Tillåtna hjälpmedel Häftet Instruktionslista för CPU12 Inget annat än rättelser och understrykningar får vara införda i häftet. Du får också använda bladet: C Reference Card samt en av böckerna: Vägen till C, Bilting, Skansholm The C Programming Language, Kerninghan, Ritchie Endast rättelser och understrykningar får vara införda i boken. Tabellverk eller miniräknare får ej användas. Lösningar anslås senast dagen efter tentamen via kursens hemsida. Granskning Tid och plats anges på kursens hemsida. Allmänt Siffror inom parentes anger full poäng på uppgiften. För full poäng krävs att: redovisningen av svar och lösningar är läslig och tydlig. Ett lösningsblad får endast innehålla redovisningsdelar som hör ihop med en uppgift. lösningen ej är onödigt komplicerad. du har motiverat dina val och ställningstaganden assemblerprogram är utformade enligt de råd och anvisningar som givits under kursen och tillräckligt dokumenterade. C-program är utformade enligt de råd och anvisningar som getts under kursen. I programtexterna skall raderna dras in så att man tydligt ser programmens struktur. Betygsättning För godkänt slutbetyg på kursen fordras att både tentamen och laborationer är godkända. Tentamenspoäng ger slutbetyg (EDA/DAT): 20p betyg 3 < 30p betyg 4 < 40p betyg 5 respektive (DIT): 20p betyg G < 35p VG
2 Uppgift 1 (6p) Assemblerprogrammering Programmering av inbyggda system - Tentamen 17 december (12) En 8-bitars strömbrytare, DIP_SWITCH är ansluten till adress $600 och en displayenhet HEXDISPLAY som visar en byte i form av två hexadecimala siffror, är ansluten till adress $400 i ett MC12 mikrodatorsystem. Konstruera en subrutin DipHexReversed som läser av strömbrytaren och indikerar den mest signifikanta påslagna biten genom att skriva dess position, räknat från höger, till displayenheten. Om exempelvis bitarna 2 och 4 utgör ettställda strömbrytare ska positionen för bit 4, (dvs. 5) skrivas till displayenheten. Om ingen strömbrytare är ettställd ska siffran 0 skrivas till displayen. Speciellt gäller att endast symboler ska användas för absoluta adresser. Uppgift 2 (8p) Användning av sammansatta datatyper/avbrottshantering Följande figur beskriver en förenklad variant av CRG-modulen med de register som används för den enkla räknaren hos HCS12: Clock Reset Generator (CRG) Offset Mnemonic Namn $30 R SCM RTIF PORF LVRF LOCKIF LOCK SCMIE SCMIF CRGFLG Flags Register W $31 R Interrupt Enable RTIE LOCKIE SCMIE CRGINT W Register $32 R 0 RTR6 RTR5 RTR4 RTR3 RTR2 RTR1 RTR0 RTICTL RTI Control Register W Detta system har en 10 MHz oscillator. Räknaren ska programmeras för att generera periodiska avbrott med c:a 10ms intervall. Ledning: pulser/period ger tillräcklig noggrannhet. Räknaren använder avbrottsmekanismen hos HCS12, kopplad till vektor 0x3FF2. RTR [3:0] RTR[6:4] 000 (OFF) OFF OFF 2x2 10 2x2 11 2x2 12 2x2 13 2x2 14 2x2 15 2x OFF 3x2 10 3x2 11 3x2 12 3x2 13 3x2 14 3x2 15 3x OFF 4x2 10 4x2 11 4x2 12 4x2 13 4x2 14 4x2 15 4x OFF 5x2 10 5x2 11 5x2 12 5x2 13 5x2 14 5x2 15 5x OFF 6x2 10 6x2 11 6x2 12 6x2 13 6x2 14 6x2 15 6x OFF 7x2 10 7x2 11 7x2 12 7x2 13 7x2 14 7x2 15 7x OFF 8x2 10 8x2 11 8x2 12 8x2 13 8x2 14 8x2 15 8x OFF 9x2 10 9x2 11 9x2 12 9x2 13 9x2 14 9x2 15 9x OFF 10x x x x x x x OFF 11x x x x x x x OFF 12x x x x x x x OFF 13x x x x x x x OFF 14x x x x x x x OFF 15x x x x x x x OFF 16x x x x x x x2 16 Programpaketet ska bestå av delar implementerade såväl i assemblerspråk som i C. Fyra olika funktioner ska implementeras: En initieringsrutin, i form av en C-funktion: void RTInit(void) En servicerutin för avbrottet, i form av en C-funktion: void AtRTIrq(void) En avbrottsrutin RTIRQ, i assemblerspråk som anropar servicerutinen En assemblerrutin CLEARI som nollställer avbrottsmasken hos HCS12 a) Visa en lämplig typdeklaration i form av en C -struct för CRG-modulen, enligt figuren ovan.(2p) b) Visa assemblerrutinen CLEARI och avbrottsrutinen RTIRQ. (2p) c) Konstruera RTInit som: initierar räknaren för att generera avbrott med den angivna periodtiden förbereder HCS12 för att hantera avbrott från räknaren. Typdeklarationen från uppgift a) ska användas.(3p) d) Konstruera AtRTIrq som kvitterar ett avbrott från räknaren. Typdeklarationen från uppgift a) ska användas.(1p)
3 Programmering av inbyggda system - Tentamen 17 december (12) Uppgift 3 (10p) Kodningskonventioner (C/assemblerspråk) I denna uppgift ska du förutsätta samma konventioner som i XCC12, (se bilaga 1). a) I ett C-program har vi följande deklarationer: void func(long adam, unsigned char bertil, struct one * ceasar ) { long a = adam; unsigned int b = bertil; struct one *c = ceasar; /* Övrig kod i funktionen är bortklippt eftersom vi bara betraktar anropskonventionerna. */ Översätt hela funktionen func, som den är beskriven, till HCS12 assemblerspråk, såväl prolog som tilldelningar och epilog ska alltså finnas med. Speciellt ska du börja med att beskriva aktiveringsposten, dvs. stackens utseende i funktionen och där riktningen för minskande adresser hos aktiveringsposten framgår. (6p) b) I samma C-program har vi dessuton följande deklarationer givna på toppnivå (global synlighet): struct one * c; long a; char b; Visa hur variabeldeklarationerna översätts till assemblerdirektiv. Beskriv dessutom hur följande funktionsanrop översätts till assemblerkod. (4p) func( a, b, c ); Uppgift 4 (8p) In och utmatning beskriven i C I denna uppgift ska du bland annat demonstrera hur absolutadressering utförs i C. För full poäng måste du visa hur preprocessordirektiv och typdeklarationer då används för att skapa begriplig programkod. Två strömbrytare och en ljusdiodramp, enligt figuren till höger, är anslutna till adresser 0x600 och 0x601, respektive adress 0x400 i ett MC12 mikrodatorsystem. Konstruera en funktion void CondRunDiode ( void ) som oupphörligt jämför strömbrytarnas värden dessutom skriver ut ett rinnande ljus på diodrampen. Det rinnande ljuset består i att en diod i taget tänds upp. Om värdet hos strömbrytaren på adress 0x600 är störst ska ljuset rinna från höger till vänster Om värdet hos strömbrytaren på adress 0x601 är störst ska ljuset rinna från vänster till höger Om värdena är lika ska det rinnande ljuset stannas. Från början ska dioden längst till vänster vara tänd. Du behöver här inte ta hänsyn till att fördröjningar krävs för det rinnande ljuset.
4 Programmering av inbyggda system - Tentamen 17 december (12) Uppgift 5 (8p) Programmering med pekare Uppgiften är att skriva en C-funktion med namnet split som delar upp en text i delar, s.k. tokens. Varje token avgränsas i texten av ett eller flera blanka tecken, med undantag för den första token som inte behöver ha något blankt tecken före och den sista som inte behöver ha något blankt tecken efter. Texten Nu tentar vi MOP! skall t.ex. delas upp i fyra tokens: Nu, tentar, vi och MOP!. Funktionen skall ha följande deklaration: void split(char *s, char *tab[], int max); Parametern s är en pekare till den text som skall delas upp. Du får förutsätta att denna text avslutas med ett noll-tecken. Parametern tab är en pekare till ett oinitierat fält. Du får förutsätta att minnesutrymme för själva fältet har allokerats i den anropande funktionen. Antalet element i fältet anges av parametern max. Funktionen split skall fylla i fältet tab så att dess komponenter pekar på de tokens som finns i texten s. Om fältet tab innehåller färre element än antalet tokens skall bara så många tokens pekas ut som antalet element i tab medger. Om det å andra sidan finns färre tokens än antalet element i tab så skall de överflödiga elementen i tab fyllas i med tomma pekare. Funktionen split skall dessutom i texten s lägga in noll-tecken efter varje token. I din lösning får du inte använda dig av några färdiga standardfunktioner, utan du måste skriva allt själv. Här visas ett litet testprogram som anropar funktionen split. #define N 10 main() { int i; char txt[] = "Nu tentar vi MOP! "; char *tokens[n]; split(txt, tokens, N); for (i=0; i< N && tokens[i]; i++) printf("%s\n", tokens[i]); Utskriften från programmet skall bli: Nu tentar vi MOP!
5 Programmering av inbyggda system - Tentamen 17 december (12) Uppgift 6 (10p) Maskinnära programmering i C I en gruva samlas allt vatten längst ner i en behållare. En pump har till uppgift att då och då pumpa upp vatten ur behållaren så att gruvan inte blir vattenfylld. I gruvan bildas emellertid metangas och blir halten av denna gas för hög kan man p.g.a. explosionsrisken inte starta pumpen, utan måste vänta tills metangashalten minskat. Uppgiften är att skriva ett program som övervakar metangashalten och kontrollerar vattennivån med hjälp av pumpen. Pumpen startas och stoppas via ett kontrollregister. Det finns dessutom två A/D-omvandlare: en som avläser vattennivån och en som mäter metangashalten. Till varje A/D-omvandlare finns dels ett kontrollregister som används för att initiera en avläsning och dels ett dataregister i vilket det avlästa värdet placeras. Alla fem registren består av 16 bitar. Registren har följande adresser: A/D-omvandlare för vattennivå, kontrollregister: AA10 16 A/D-omvandlare för vattennivå, dataregister: AA12 16 Kontrollregister för pumpmotor: AA14 16 A/D-omvandlare för metangas, kontrollregister: AA16 16 A/D-omvandlare för metangas, dataregister: AA18 16 Observera att kontrollregistren inte är läsbara. Man kan bara skriva till dem. Du måste därför använda dig av skuggregister. Pumpen startas och stoppas genom att en etta resp. nolla skrivs i bit nummer 10 i dess kontrollregister. När man skall göra en avläsning med hjälp av en A/D-omvandlare skriver man en etta i bit nummer 10 i tillhörande kontrollregister. Man måste sedan vänta en tiondels sekund innan värdet i dataregistret har stabiliserats. (Ingen avbrottsmekanism används.) A/D-omvandlarna ger normalt värden i intervallet 0 till Ett negativt värde i dataregistret indikerar att en avläsning misslyckats. Metangashalter större än 400 räknas som farliga. För vattennivån gäller att värden över 800 räknas som höga och värden under 100 som låga. Din uppgift är att skriva övervakningsprogrammet. Till din hjälp skall du använda realtidskärnan som presenterats på en av föreläsningarna. Filen process.h visas i bilagan och du får anropa alla funktioner som deklareras i denna. Programmet skall innehålla två processer, en som avläser vattennivån och en som avläser metangashalten. Båda skall exekvera utan att avslutas. Vattennivån skall avläsas var 20:e sekund och metangashalten var 10:e. Om någon avläsning misslyckas skall programmet ge en varningsutskrift, men sedan hoppa över den aktuella avläsningen och fortsätta normalt. Utskrifter från programmet kan för enkelhets skull göras med standardfunktionen printf. Om programmet när det avläser vattennivån finner att denna är hög skall pumpen startas (om den inte redan är igång). Pumpen får emellertid inte startas om metangasnivån är för hög. Om vattennivån är under den nivå som betraktas som låg skall pumpen, om den är igång, stoppas. Om programmet vid avläsning av metangashalten finner att denna är för hög skall en varningsutskrift ges. Detta skall dock bara ske första gången man finner att nivån är för hög (inte var 10:e sekund). Dessutom ska pumpen stängas av (om den inte redan är avstängd). Det finns ett problem med pumpen: Av tekniska skäl får man inte starta den inom fem sekunder från det att man stängt av den och inte heller stoppa den inom fem sekunder från det att man startat den. Detta problem kan enkelt lösas genom att man betraktar pumpen som en kritisk delad resurs och skyddar den med en semafor så att bara en av processerna kan hantera den åt gången.
6 Programmering av inbyggda system - Tentamen 17 december (12) Bilaga 1: Kompilatorkonvention XCC12: Parametrar överförs till en funktion via stacken och den anropande funktionen återställer stacken efter funktionsanropet. Då parametrarna placeras på stacken bearbetas parameterlistan från höger till vänster. Lokala variabler översätts i den ordning de påträffas i källtexten. Prolog kallas den kod som reserverar utrymme för lokala variabler. Epilog kallas den kod som återställer (återlämnar) utrymme för lokala variabler. Den del av stacken som används för parametrar och lokala variabler kallas aktiveringspost. Beroende på datatyp används för returparameter HC12:s register enligt följande tabell: Storlek Benämning C-typ Register 8 bitar byte char B 16 bitar word short int och pekartyp D 32 bitar long float long int float Y/D Bilaga 2 - Assemblerdirektiv för MC68HC12. Assemblerspråket använder sig av mnemoniska beteckningar som tillverkaren Freescale specificerat för maskininstruktioner och instruktioner till assemblatorn, s.k. pseudoinstruktioner eller assemblerdirektiv. Pseudoinstruktionerna framgår av följande tabell: Direktiv Förklaring ORG N Placerar den efterföljande koden med början på adress N (ORG för ORiGin = ursprung) L RMB N Avsätter N bytes i följd i minnet (utan att ge dem värden), så att programmet kan använda dem. Följden placeras med början på adress L. (RMB för Reserve Memory Bytes) L EQU N Ger label L konstantvärdet N (EQU för EQUates = beräknas till) L FCB N1, N2 Avsätter i följd i minnet en byte för varje argument. Respektive byte ges konstantvärdet N1, N2 etc. Följden placeras med början på adress L. (FCB för Form Constant Byte) L FDB N1, N2 Avsätter i följd i minnet ett bytepar (två bytes) för varje argument. Respektive bytepar ges konstantvärdet N1, N2 etc. Följden placeras med början på adress L. (FDB för Form Double Byte) L FCS "ABC" Avsätter en följd av bytes i minnet, en för varje tecken i teckensträngen "ABC". Respektive byte ges ASCII-värdet för A, B, C etc. Följden placeras med början på adress L. (FCS för Form Caracter String)
7 Bilaga 3 process.h // Filen process.h #ifndef PROCESS_H #define PROCESS_H Programmering av inbyggda system - Tentamen 17 december (12) #define DEFAULT_STACK_SIZE 128 #define MINIMUM_PRIORITY 1 #define DEFAULT_PRIORITY MINIMUM_PRIORITY+9 typedef struct process_struct process; // definieras i filen process.c typedef struct semaphore_struct semaphore; // definieras i filen process.c typedef void (*function)(void); extern void init_processes(void); extern process *create_process(function f, int prio, int stack_size); extern void start_process(process *); extern process *running_process(void); extern int get_process_id(process *); extern unsigned long int get_time(void); // resultat ges i ms extern void delay_process(process *p, long int t); // t ges i ms extern int get_process_priority(process *); extern void set_process_priority(process *p, int prio); extern void terminate_process(process *p); extern int terminated(process *p); extern semaphore *create_semaphore(int init_value); extern void signal(semaphore *); extern void wait(semaphore *); // macron för förenklade funktionsanrop (i brist på överlagrade funktioner) #define new_process(f) create_process((f), DEFAULT_PRIORITY, DEFAULT_STACK_SIZE) #define get_id() get_process_id(running_process()) #define delay(t) delay_process(running_process(), (t)) #define get_priority() get_process_priority(running_process()) #define set_priority(i) set_process_priority(running_process(), (i)); #define terminate() terminate_process(running_process()) #endif
8 Programmering av inbyggda system - Tentamen 17 december (12) Lösningsförslag Uppgift 1 (6p): ; Symboliska adresser DipSwitch: EQU $600 HexDisp: EQU $400 ; Subrutin DipHexReversed DipHexReversed: CLRB LDAA DipSwitch BEQ DipHexReversed20 LDAB #9 DipHexReversed10: DECB BEQ LSLA BCC DipHexReversed20: STAB RTS DipHexReversed20 DipHexReversed10 HexDisp Uppgift 2a (2p): typedef struct scrg{ volatile unsigned char crgflg; volatile unsigned char crgint; volatile unsigned char rtictl; CRG, *PCRG ; Uppgift 2b (2p): CLEARI: CLI RTS RTIRQ: JSR AtRTIrq RTI Uppgift 2c (3p): void RTInit(void) { extern void AtRTIrq(void); extern void CLEARI(void); ((PCRG) (0x30))->rtictl = 0x62; /* periodtid 10 ms: */ ((PCRG) (0x30))->crgint = 0x80; /* RTIE <-1: aktivera avbrott */ *(unsigned short *) 0x3FF2 = AtRTIrq; CLEARI(); Uppgift 2d (1p): void AtRTIrq(void) { ((PCRG) (0x30))->rtictl = 0x80; /* RTIE <- 1: kvittera avbrott */
9 Programmering av inbyggda system - Tentamen 17 december (12) Uppgift 3a (6p): Beskrivning av aktiveringspost minnesanvändning adress ceasar bertil 15,SP 14,SP minskande adress adam PC (vid JSR) 10,SP a b c 4,SP 2,SP 0,SP ; void func(long adam, unsigned char bertil, struct one * ceasar ) _func: ; { LEAS -8,SP ; long a = adam; LDY 10,SP LDD 12,SP STY 4,SP STD 6,SP ; unsigned int b = bertil; LDAB 14,SP CLRA STD 2,SP ; struct one *c = ceasar; LDD 15,SP STD 0,SP ; /* Övrig kod i funktionen är bortklippt eftersom vi bara ; betraktar anropskonventionerna. */ ; LEAS 8,SP RTS Uppgift 3b (4p): _c: RMB 2 _a: RMB 4 _b: RMB 1 LDD _c PSHD LDAB _b PSHB LDD 2+_a PSHD LDD _a PSHD JSR _func LEAS 7,SP
10 Uppgift 4 (8p): typedef unsigned char * port8ptr; #define DISPLAY *((port8ptr) 0x400) #define DIPSWITCH1 *((port8ptr) 0x600) #define DIPSWITCH2 *((port8ptr) 0x601) Programmering av inbyggda system - Tentamen 17 december (12) void CondRunDiode( void ) { unsigned char value; value = 0x80; /* initialvärde */ while( 1 ) { if( DIPSWITCH1 > DIPSWITCH2 ) { /* ljus rinner åt vänster */ DISPLAY = value; value = value << 1; if( value == 0 ) /* över kanten?... */ value = 1; /* böja om från höger */ else if ( DIPSWITCH1 < DIPSWITCH2 ) { /* ljus rinner åt höger */ DISPLAY = value; value = value >> 1; if( value == 0 ) /* över kanten?... */ value = 0x80; /* böja om från vänster */ else /* ljus står still */ DISPLAY = value; Uppgift 5 (8p): void split(char *s, char *tab[], int max) { int i; for (i=0; i<max; i++) tab[i] = 0; for (i=0; i<max; i++) { while (*s && *s == ' ') s++; if (!*s) return; tab[i] = s; while (*s && *s!= ' ') { s++; if (!*s) return; *s++ = '\0';
11 Uppgift 6 (10p): // Filen gruva.h typedef int port; typedef port *portptr; // Användbara makron #define set(r, mask) (r) = (r) mask #define clear(r, mask) (r) = (r) & ~mask Programmering av inbyggda system - Tentamen 17 december (12) #define WATER_CTRL_ADR #define WATER_DATA_ADR #define PUMP_CTRL_ADR #define METAN_CTRL_ADR #define METAN_DATA_ADR #define WATER_CTRL #define WATER_DATA #define PUMP_CTRL #define METAN_CTRL #define METAN_DATA 0xaa10 0xaa12 0xaa14 0xaa16 0xaa18 *((portptr) WATER_CTRL_ADR) *((portptr) WATER_DATA_ADR) *((portptr) PUMP_CTRL_ADR) *((portptr) METAN_CTRL_ADR) *((portptr) METAN_DATA_ADR) #define device_operation_bit 0x0400 // Filen gruva.c #include "nygruva.h" #include "process.h" #include <stdio.h> #include <limits.h> #define HIGH_METAN 400 #define HIGH_WATER 800 #define LOW_WATER 100 static port pump_ctrl = 0; static port water_ctrl = 0; static port metan_ctrl = 0; // skuggregister // skuggregister // skuggregister static int metan_alarm = 0; static int pump_running = 0; static semaphore *pump_sem; void start_pump(void) { wait(pump_sem); if (!pump_running &&!metan_alarm) { set(pump_ctrl, device_operation_bit); PUMP_CTRL = pump_ctrl; delay(5000); pump_running = 1; signal(pump_sem); void stop_pump(void) { wait(pump_sem); if (pump_running) { clear(pump_ctrl, device_operation_bit); PUMP_CTRL = pump_ctrl; delay(5000); pump_running = 0; signal(pump_sem);
12 Programmering av inbyggda system - Tentamen 17 december (12) void water_monitor(void) { port water_level; while (1) { set(water_ctrl, device_operation_bit); WATER_CTRL = water_ctrl; // starta avläsning av vattennivån delay(100); water_level = WATER_DATA; if (water_level < 0) printf("fel på läsare av vattennivån"); if (water_level > HIGH_WATER) start_pump(); else if (water_level < LOW_WATER && pump_running) stop_pump(); delay(20000); void metan_monitor(void) { port metan_level; while (1) { set(metan_ctrl, device_operation_bit); METAN_CTRL = metan_ctrl; // starta avläsning av metanhalten delay(100); metan_level = METAN_DATA; if (metan_level < 0) printf("fel på läsare av metangasnivån"); if (metan_level > HIGH_METAN) { if (!metan_alarm) { // första indikation metan_alarm = 1; stop_pump(); printf("varning! Hög metangasnivå"); else if (metan_alarm) metan_alarm = 0; delay(10000); int main() { process *water_proc, *metan_proc; init_processes(); pump_sem = create_semaphore(1); water_proc = new_process(water_monitor); metan_proc = new_process(metan_monitor); start_process(water_proc); start_process(metan_proc); delay(uint_max);
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag Programmering av inbyggda system Exempel 3 Examinator Roger Johansson, tel. 772 57 29 Kontaktpersoner
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag Programmering av inbyggda system Exempel 1 Examinator Roger Johansson, tel. 772 57 29 Kontaktpersoner
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag LEU500 Maskinorienterad programmering, DAI,EI,MEI Fredag 19 augusti 2016, kl. 8.30-12.30 Examinator
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag Programmering av inbyggda system Exempel 2 Examinator Roger Johansson, tel. 772 57 29 Kontaktpersoner
(Lösningsförslag finns sist i denna fil.)
(Lösningsförslag finns sist i denna fil.) Läser externa signaler. Har 64 ingångar (kanaler), från 0 till 63. Kan bara avläsa en ingång i taget. Avlästa värdet positivt 16-bitars tal. Varje läsning tar
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag LEU500 Maskinorienterad programmering Måndag 16 mars 2015, 14.00-18.00 Examinator Roger Johansson,
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DIT152 Programmering
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DIT152 Programmering
Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe
Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering
Tentamen. DAT015 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU. Tisdag 15 december 2009, kl
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen DAT015 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU Tisdag 15 december 2009, kl. 08.30-12.30
Maskinorienterad programmering
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/
Tentamen. DAT015 Maskinorienterad programmering IT. Fredag 21 april 2006, kl i V-salar
DAT015 Maskinorienterad programmering IT Tentamen Fredag 21 april 2006, kl. 14.00-18.00 i V-salar Examinatorer Rolf Snedsböl, tel. 0734 30 93 79 Jan Skansholm, tel. 0707 16 32 30 Kontaktpersoner under
Tentamen. EDA485 Maskinorienterad programmering Z. Måndag 6 mars 2006, kl i V-salar
EDA485 Maskinorienterad programmering Z Tentamen Måndag 6 mars 2006, kl. 14.00-18.00 i V-salar Examinatorer Rolf Snedsböl, tel. 772 1665 Jan Skansholm, tel. 772 1012 Kontaktpersoner under tentamen Som
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT017 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU EDA481 Programmering
Tentamen. EDA485 Maskinorienterad programmering Z DAT015 Maskinorienterad programmering IT. Tisdag xx yyyy 2006, kl. 8.30-12.
EDA485 Maskinorienterad programmering Z DAT015 Maskinorienterad programmering IT Tentamen Tisdag xx yyyy 2006, kl. 8.30-12.30 i V-salar Examinatorer Rolf Snedsböl, tel. 772 1665 Jan Skansholm, tel. 772
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT015 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU Fredag 9 april 2010,
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 (EDA481) Maskinorienterad programmering D EDA487 (EDA486) Maskinorienterad programmering Z
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 (EDA481) Maskinorienterad programmering D EDA487 (EDA486) Maskinorienterad programmering Z
Digital- och datorteknik
Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Tallriksmodellen Stackoperationer Element kan endast
Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen.
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/
LEU240 Mikrodatorsystem
Institutionen för data- och informationsteknik 2011-10-11 LEU240 Mikrodatorsystem Vi har tidigare i olika sammanhang sett att det är önskvärt att kunna använda ett högnivåspråk som C för att skriva program
Maskinorienterad programmering
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/
EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)
EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7) 1. Motivation ROM. 8kbyte 2 3 2 10 byte 13 Adressbitar [A12,A0] direkt till ROM-kapsel. RWM. 32kbyte 2 5 2 10 byte 15 Adressbitar
Tentamen. EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU. Måndag 23 oktober 2006, kl i V-salar
EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU Tentamen Måndag 23 oktober 2006, kl. 08.30 12.30 i V-salar Examinatorer Rolf Snedsböl, tel. 772 1665 Kontaktpersoner under tentamen Som
Exempel på tentamen 1
Maskinorienterad programmering - har du uppnått kursmålen Exempel på tentamen Tisdag xx januari 2005, kl. 08.30-2.30 i M-salar Examinatorer Stig-Göran Larsson, tel. 772 693 Jan Skansholm, tel. 772 02 Kontaktpersoner
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag LEU500 Maskinorienterad programmering Måndag 13 mars 2017, kl. 14.00-18.00 Examinator Lars Bengtsson
Programmering av inbyggda system 2014/2015
Programmering av inbyggda system 2014/2015 Sammanfattning Kursens syften är att vara en introduktion till konstruktion av små inbyggda system och att ge en förståelse för hur imperativa styrstrukturer
Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe
Fortsä'ning Pekare Ulf Assarsson Originalslides av Viktor Kämpe Pekare och Arrayer/VK 2 Pekare och Arrayer/VK 3 Förra föreläsningen Pekare Bll data Arrayer fix storlek och adress Dynamisk minnesallokering
Digital- och datorteknik
Digital- och datorteknik Föreläsning #18 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblerprogrammering Assemblatorer vs kompilatorer
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT017 (DAT016) Maskinorienterad programmering IT EDA482 (EDA481) Maskinorienterad programmering D
Digital- och datorteknik
Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblatorer vs kompilatorer En assemblator är ett program
Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/
Assemblerprogrammets struktur; exempel
Maskinorienterad Programmering 2010/11 Maskinnära programmering en introduktion Ur innehållet: Assemblatorn, assemblerspråk Datatyper Tilldelningar, l i unära och binära operationer Permanenta/tillfälliga
Maskinorienterad Programmering 2010/11
Maskinorienterad Programmering 2010/11 Maskinnära programmering en introduktion Ur innehållet: Assemblatorn, assemblerspråk Datatyper Tilldelningar, l i unära och binära operationer Permanenta/tillfälliga
Assemblerprogrammering del 1
Assemblerprogrammering del 1 Dagens föreläsning behandlar: Kompendiet kapitel 9 Arbetsboken kapitel 15 Ur innehållet: Assemblerspråket Programmerarens bild Assemblering/disassemblering Funktion: Översätter
Maskinnära programmering - exempelsamling
Maskinnära programmering - exempelsamling Institutionen för Data och Informationsteknik Chalmers tekniska högskola Göteborg VT-2014 Maskinnära programmering - exempelsamling 2000-2014 Roger Johansson,
Programmering i maskinspråk (Maskinassemblering)
Programmering i maskinspråk (Maskinassemblering) Programutveckling i assemblerspråk Begreppet assemblerspråk introduceras i häftet Ext-20. En del korta programavsnitt skrivs med assemblerspråk i övningsuppgifterna
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Programmering av inbyggda system 2012/2013. Kodningskonventioner och programbibliotek. maskinnära programmering i C och assemblerspråk
2012/2013 Kodningskonventioner och programbibliotek Ur innehållet: Kodningskonventioner maskinnära programmering i C och assemblerspråk Programbibliotek 32-bitars operationer med 16 bitars processor Kodningskonventioner
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT017 (DAT016) Maskinorienterad programmering IT EDA482 (EDA481) Maskinorienterad programmering D
Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe
Fortsä'ning Pekare Ulf Assarsson Originalslides av Viktor Kämpe Pekare och Arrayer/VK 2 Pekare och Arrayer/VK 3 Förra föreläsningen Pekare Bll data Arrayer fix storlek och adress Dynamisk minnesallokering
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 Maskinorienterad programmering D EDA487 Maskinorienterad programmering Z DAT017 Maskinorienterad
Assemblerprogrammering, ARM-Cortex M4 del 3
Assemblerprogrammering, ARM-Cortex M4 del 3 Ur innehållet: Fler pekartyper Användning av stacken Lagringsklasser, synlighet - lokala variabler Funktioner - returvärden och parametrar Läsanvisningar: Arbetsbok
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT017 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU EDA481 Programmering
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 Programmering av inbyggda system D EDA487 Programmering av inbyggda system Z DAT017 Maskinorienterad
Tentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 (EDA481) Maskinorienterad programmering D EDA487 (EDA486) Maskinorienterad programmering Z
Tentamen med lösningsförslag
Institutionen för data och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT015 Maskinorienterad programmering IT EDA480 Maskinorienterad programmering D EDA485 Maskinorienterad
Ansvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen)
MÄLRLENS HÖGSKOL Institutionen för elektroteknik Tentamen Mikrodatorteknik T3760 atum 2005-10-28 Tid 08.30 12.30 nsvarig lärare: Olof ndersson, Telefon 021-101314 (besöker skrivsalen) Om du klarat samtliga
Assemblerprogrammering för HCS12
Assemblerprogrammering för HCS12 Ur innehållet: Assemblatorn, assemblerspråk Ordlängder och datatyper Tilldelningar, binära operationer Registerspill, permanenta och tillfälliga variabler Programkonstruktioner
Programexempel för FLEX
Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner i styrenheten. Kunna använda
Maskinnära programmering - exempelsamling
Maskinnära programmering - exempelsamling 2 Maskinnära programmering - exempelsamling Maskinnära programmering - exempelsamling 2000-2011 Roger Johansson, Jan Skansholm, Lars-Eric Arebrink och Rolf Snedsböl
Maskinorienterad programmering
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN(med svar och vissa lösningsförslag) KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör
Övningsuppgifter i Mikrodatorteknik 4p/5p
Övningsuppgifter i Benny Thörnberg Mittuniversitetet Inst. för Informationsteknologi och medier Hösten 2005 1 Exekvering av assemblerkod 1.1 Statusflaggors beteende Vad blir C-, N- och Z- flaggornas värden
Enkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Assemblerprogrammets. struktur; exempel
Assemblerprogrammering för HCS12 Absolut assemblering Ur innehållet: Assemblatorn, assemblerspråk Ordlängder och datatyper Tilldelningar, binära operationer Registerspill, permanenta och tillfälliga variabler
F5: Högnivåprogrammering
F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via
EDA Digital och Datorteknik
Digital och Datorteknik EDA45 200/20 EDA 45 - Digital och Datorteknik Dagens föreläsning:, Extra material Ext 8 Ur innehållet: Programmerarens bild av FLEX Instruktionsuppsättning Register åtkomliga för
F5: Högnivåprogrammering
1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data
Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående
AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser
Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer
Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående
Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen
Tentamen för teknisk kemi, 10p, moment 1 29 november 1999 Skrivtid 9-15 Hjälpmedel: av följande böcker. - U. Bilting och J. Skansholm: Vägen till C - A. Kelley & I. Pohl: A Book on C Maxpoäng: Gräns för
Maskinorienterad programmering
Maskinorienterad programmering Sammanfattning Ur innehållet: Vi rekapitulerar kursens syften Vi repeterar kursens lärandemål Vi belyser hur den skriftliga delen av examinationen genomförs. Sammanfattning
Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.
ATMega16 Laborationer av Kjell 2 Rev:5 Datum: 29.09.2010 Page 1 of 7 Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. Inledning: Laborationskortet EasyAVR6 har bland annat tryckknappar
Assemblerprogrammering - fördjupning
Assemblerprogrammering - fördjupning Ur innehållet: Trampoliner tabellerade funktionsadresser Aktiveringspost med ARM Cortex M4 Mer om parameteröverföring Registerspill Kodgenerering - ISA "Kodoptimering"
Maskinnära programmering. - exempelsamling
Maskinnära programmering - exempelsamling Institutionen för Data och Informationsteknik Chalmers tekniska högskola Göteborg VT-2013 Maskinnära programmering - exempelsamling 2 Maskinnära programmering
Ulf Assarsson. Grundläggande C-programmering del 2 Pekare och Arrayer. Läromoment:
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volafle, #define Arrayer av pekare, arrayer av arrayer Hemuppgi9er: v2. Föregående
Programmering i maskinspråk (Maskinassemblering)
Ext-15 (2013-08-26) sida 1 Programmering i maskinspråk (Maskinassemblering) Programutveckling i assemblerspråk Begreppet assemblerspråk introduceras i arbetsboken (ARB) kapitlen 14-16. En del korta programavsnitt
Digital- och datorteknik
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING EXAMINATOR Data-, elektro- och mekatronikingenjör Åk / lp och
Lösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Torsdagen den 13 mars 2014, klockan 14:00 19:00 i MA:10. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1
Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 1 OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer.
Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Mekatronik-, data- och elektroingenjör Åk / lp o2 LEU43 EXAMINATOR
Assemblerprogrammering del 3
Assemblerprogrammering del 3 Dagens föreläsning behandlar: Kompendiet kapitel 9 och 10.4 Arbetsboken kapitel 16 Ur innehållet: Modularisering, subrutiner och strukturerad programutveckling (flödesdiagram)
Digital- och datorteknik
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Data-, elektro- och mekatronikingenjör Åk / lp och LE43 EXAMINATOR
CE_O3. Nios II. Inför lab nios2time
IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",
Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU Onsdag 12 Januari 2011, kl. 14.00-18.00 Examinatorer
Exempel 3 på Tentamen
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Exempel 3 på Tentamen Grundläggande datorteknik Examinator Kontaktperson under tentamen Tillåtna hjälpmedel Häfte Instruktionslista
Att använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Assemblerprogrammering del 2
Assemblerprogrammering del 2 FLISP och omvärlden Dagens föreläsning behandlar: Kompendiet kapitel 9 Arbetsboken kapitel 16 Ur innehållet: In- och ut-enheter Tilldelningar och uttrycksevaluering Programflödeskontroll
Digital- och datorteknik
Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola F-36 FLEX- och FLIS-datorn Ext-8 Tallriksmodellen Stackoperationer
Tentamen. DIT150 Maskinorienterad programmering GU DAT015 Maskinorienterad programmering IT. Söndag 17 december 2006, kl
DIT150 Maskinorienterad programmering GU DAT015 Maskinorienterad programmering IT Tentamen Söndag 17 december 2006, kl. 14.00-18.00 i V-salar Examinatorer Rolf Snedsböl, tel. 772 1665 Jan Skansholm, tel.
Kodningskonventioner (XCC12) Specifikation av strncpy: Övningsexempel: Maskinorienterad Programmering 2011/2012
Maskinorienterad Programmering 2011/2012 Kodningskonventioner och programbibliotek Ur innehållet: Kodningskonventioner maskinnära programmering i C och assemblerspråk Programbibliotek 32-bitars operationer
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Pekare och Listor Eric Elfving Institutionen för datavetenskap 31 oktober 2014 Översikt 2/41 Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor Arbeta
Tentamen *:58/ID100V Programmering i C Exempel 3
DSV Tentamen *:58/ID100V Sid 1(5) Tentamen *:58/ID100V Programmering i C Exempel 3 Denna tentamen består av fyra uppgifter som tillsammans kan de ge maximalt 22 poäng. För godkänt resultat krävs minst
Digital- och datorteknik
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Mekatronikingenjör (samt data- och elektroingenjör) Åk / lp
Assemblerprogrammering för ARM del 2
Assemblerprogrammering för ARM del 2 Ur innehållet Programflöde Subrutiner, parametrar och returvärden Tillfälliga (lokala) variabler Läsanvisningar: Arbetsbok kap 2 Quick-guide, instruktionslistan Assemblerprogrammering
Lösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 7 mars 2012, klockan 14:00 19:00 i Vic 2, 3. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Datorteknik 2 (AVR 2)
Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra
Mål. Datorteknik. Innehåll. Innehåll (forts) Hur ser ett program ut? Hur skapas maskinkoden?
Mål Datorteknik Föreläsning 3 Att veta hur maskinkoden för ett program byggs upp Att börja programmera i på riktigt Att kunna skriva och anropa subrutiner i Att förstå hur stacken fungerar Att veta vad
OBJEKTORIENTERAD PROGRAMVARUUTVECKLING
Institutionen för Data- och informationsteknik TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer. Denna tentamen gäller
Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.
5(16) Tentamen på kurserna Programmeringsteknik med C och Matlab Programmering i C Tid: 2/11-11, kl. 9-13 Lärare: Jonny Pettersson Totalt: 60 poäng Betyg 3: 30 poäng Betyg 4: 39 poäng Betyg 5: 48 poäng