Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!)

Storlek: px
Starta visningen från sidan:

Download "Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!)"

Transkript

1 Avbrottshantering Övningsuppgifter 2013 Lösningsförslag Uppgift 1-19 (eservation för diverse fel!)

2 1 Koppling: Q 1 Till bit 0 INPOT ÖKA A 1 /W 1 Write 8FF 16 NOLLA Write 8FFF 16 Q 2 1 Q 2 Till bit 1 INPOT IQ Avbrottsrutin (Interrupt handler) IQ LDAA INPOT (INPOT = $900) BITA #% Bit 0 är ansluten till ÖKA-vippan BN IQINC BITA #% Bit 1 är ansluten till NOLLA-vippan BN IQCL IQX TI * Avbrottsservicerutin för öka IQINC STAA $8FF Nollställ avbrottsvippa nr 1 LDAA KNAPP CMPA #255 Maxvärde? BQ IQX Ja, skippa ökning INC KNAPP BA IQX * Avbrottsservicerutin för nollställ IQCL STAA $8FFF Nollställ avbrottsvippa nr 2 CL KNAPP Nollställ KNAPP BA IQX

3 2 Koppling: Q 1 Till bit 0 INPOT ÖKA A 1 /W 1 Write 8FF 16 MINSKA Write 8FFF 16 Q 2 1 Q 2 Till bit 1 INPOT IQ Avbrottsrutin (Interrupt handler) IQ LDAA INPOT (INPOT = $900) BITA #% Bit 0 är ansluten till öka-vippan BN IQINC BITA #% Bit 1 är ansluten till minska-vippan BN IQDC IQX TI * Avbrottsservicerutin för öka IQINC STAA $8FF Nollställ avbrottsvippa nr 1 LDAA KNAPP CMPA #255 Maxvärde? BQ IQX Ja, skippa ökning INC KNAPP BA IQX * Avbrottsservicerutin för minska IQDC STAA $8FFF Nollställ avbrottsvippa nr 2 TST KNAPP KNAPP = 0? BQ IQX Ja, skippa minskning DC KNAPP BA IQX

4 3 Koppling: ÖKA Q 0 Till INPOT bit 0 CS Adr0 CS Adr1 MITT Q 1 Till INPOT bit 1 1 IQ MINSKA Q 2 Till INPOT bit 2 CS Adr2 Avbrottsrutin (Interrupt handler) IQ LDAA INPOT (INPOT = $900) BITA #% Bit 0 är ansluten till ÖKA-vippan BN IQINC BITA #% Bit 1 är ansluten till MITT-vippan BN IQMID BITA #% Bit 2 är ansluten till MINSKA-vippan BN IQDC IQX TI * Avbrottsservicerutin för öka IQINC STAA Adr0 Nollställ avbrottsvippa nr 0 LDAA KNAPP CMPA #255 Maxvärde? BQ IQX Ja, skippa ökning INC KNAPP BA IQX * Avbrottsservicerutin för mittvärde IQMID STAA Adr1 Nollställ avbrottsvippa nr 1 MOVB #128,KNAPP Sätt KNAPP till mittvärde BQ IQX * Avbrottsservicerutin för minska IQDC STAA Adr2 Nollställ avbrottsvippa nr 2 TST KNAPP KNAPP = 0? BQ IQX Ja, skippa minskning DC KNAPP BA IQX

5 4 Koppling: Händelse 0 Q 0 Till INPOT bit 0 CS Adr0 CS Adr1 Händelse 1 Q 1 Till INPOT bit 1 1 IQ Händelse 2 Q 2 Till INPOT bit 2 CS Adr2 Avbrottsrutin (Interrupt handler) IQ LDAA INPOT (INPOT = $0D0) BITA #% Bit 0 är ansluten till Händelse 0-vippan BN IQV0 BITA #% Bit 1 är ansluten till Händelse 1-vippan BN IQV1 BITA #% Bit 2 är ansluten till Händelse 2-vippan BN IQV2 IQX TI * Avbrottsservicerutin för Händelse 0 IQV0 STAA Adr0 Nollställ avbrottsvippa nr 0 INC VCNT0 8-bitars räknare BA IQX * Avbrottsservicerutin för Händelse 1 IQV1 STAA Adr1 Nollställ avbrottsvippa nr 1 LDX VCNT1 16-bitars räknare INX STX VCNT1 BQ IQX * Avbrottsservicerutin för Händelse 2 IQV2 STAA Adr2 Nollställ avbrottsvippa nr 2 LDX VCNT bitars räknare, låg del INX STX VCNT2+2 BN IQX Carry till hög del = 0 LDX VCNT2 Carry till hög del = 1 INX STX VCNT2 BA IQX VCNT0 (DC00 16 ) VCNT1 VCNT2 VCNT2+2 ms ls ms ls Subrutin för initiering av variabler och avbrottssystem INIQ CL Adr0 Nollställ avbrottsvippor CL Adr1 CL Adr2 CL VCNT0 Nollställ variabler MOVW #0,VCNT1 MOVW #0,VCNT2 MOVW #0,VCNT2+2 MOVW #IQ,$FFF2 TS Avbrottsvektor

6 5 Koppling: A 10 A 9 CS IQ_AD 250 Hz Q IQ A 8 A 7 /W Avbrottsrutin IQ TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) DC IQCNT Avbrottsräknare BN IQX j 1s, hoppa ut MOVB #250,IQCNT Ominitiera avbrottsräknare MOVB SNS,$D00 Läs givaren och uppdatera värdet IQX TI IQCNT MB 1 Initiering av variabler och avbrottssystem (Stackpekaren antas initierad tidigare) TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) MOVB #250,IQCNT Initiera avbrottsräknare för 1s MOVW #IQ,$FFF2 Avbrottsvektor

7 6 Koppling: A 10 A 9 CS IQ_AD 50 Hz Q IQ A 8 A 7 /W Avbrottsrutin IQ TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) DC IQCNT Avbrottsräknare BN IQX j 1s, hoppa ut MOVB #50,IQCNT Ominitiera avbrottsräknare MOVB $600,$2800 Läs givaren och uppdatera värdet IQX TI IQCNT MB 1 Initiering av variabler och avbrottssystem (Stackpekaren antas initierad tidigare) TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) MOVB #50,IQCNT Initiera avbrottsräknare för 1s MOVW #IQ,$FFF2 Avbrottsvektor

8 7 Antag att varje händelse genererar en puls Huvudprogrammet: (Stackpekaren antas vara initierad tidigare) Huvudprogrammet måste initiera avbrottssystemet, dvs se till att hopp görs till avbrottsrutinens adress vid avbrottsförfrågan (IQ) genom att skriva in adressen till avbrottsrutinen IQ-vektorn ventuella variabler som kan behövas av servicerutinerna för de fyra olika avbrottskällorna måste också initieras Avbrottsvipporna skall nollställas för att falska avbrott inte skall uppträda vid startsom sista åtgärd skall avbrottsystemet aktiveras genom att I-flaggan i CC-registret nollställs Avbrottsrutinen: Avbrottsrutinen måste först identifiera avbrottskällan genom att läsa av vilket Q i -värde enligt figuren nedan som är aktivt och sedan hoppa till aktuell servicerutin I servicerutinen skall de uppgifter utföras som är förknippade med det aktuella avbrottet Före återhopp till avbrottsrutinen och senare återhopp till det avbrutna programmet med TI måste också avbrottsvippan nollställas med en puls på vippans ST-ingång genom att en läsning eller skrivning görs på aktuell adress enligt figuren nedan Koppling: Händelse 0 Q 0 Till INPOT bit 0 CS Adr0 CS Adr1 Händelse 1 Q 1 Till INPOT bit 1 1 IQ Händelse 2 Q 2 Till INPOT bit 2 CS Adr2 Händelse 3 Q 3 Till INPOT bit 3 CS Adr3

9 8 Antag att varje händelse genererar en puls Huvudprogrammet: (Stackpekaren antas vara initierad tidigare) Huvudprogrammet måste initiera avbrottssystemet för både XIQ- och IQ-avbrott, dvs se till att hopp görs till respektive avbrottsrutins adress vid avbrottsförfrågan (XIQ eller IQ) genom att skriva in adressen till XIQ-rutinen i XIQ-vektorn ($FFF4) och adressen till IQ-rutinen i IQ-vektorn ($FFF2) ventuella variabler som kan behövas av servicerutinerna för de olika avbrottskällorna måste också initieras Avbrottsvipporna skall nollställas för att falska avbrott inte skall uppträda vid start Som sista åtgärd skall avbrottsystemet aktiveras genom att X- och I-flaggan i CC-registret nollställs Avbrottsrutinen (IQ): ftersom det bara finns en avbrottskälla för IQ kan man i avbrottsrutinen IQ direkt utföra de uppgifter som är förknippade med det aktuella avbrottet, inklusive eventuella ominitieringar av variabler som används av avbrottsrutinen Före återhopp till det avbrutna programmet från IQrutinen med TI måste IQ-avbrottsvippan nollställas med en CS -puls på vippans ST-ingång genom att en läsning eller skrivning görs på den adress man har valt för detta ändamål I detta fall kan man t ex bilda CS -signalen genom att avkoda läsning av IQ-vektorn och då sker nollställningen av avbrottsvippan automatiskt då IQ-avbrottet accepteras Om en begäran om XIQ-avbrott kommer medan IQ-avbrottet behandlas så avbryts IQ och XIQ-rutinen tar över Återhopp görs sedan till IQ med TI i XIQ-rutinen

10 9 Koppling: A 10 A 9 CS IQ_AD 100 Hz Q IQ A 8 A 7 /W Avbrottsrutin IQ TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) LDX IQCNT Hämta avbrottsräknare DX STX IQCNT Uppdatera avbrottsräknare BN IQX j 1 min, hoppa ut MOVW #6000,IQCNT Ominitiera avbrottsräknare CL ADSTT MOVB #$80,ADSTT Positiv flank på bit 7 startar AD-omvandling ILOOP TST ADSTAT Bit 7 = 1? BPL ILOOP Nej, vänta MOVB PSS,CUP Ja Läs givaren och uppdatera värdet IQX TI IQCNT MB 2 Initiering av variabler och avbrottssystem (Stackpekaren antas initierad tidigare) TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) MOVW #6000,IQCNT Initiera avbrottsräknare för 1 min MOVW #IQ,$FFF2 Avbrottsvektor

11 10 Koppling: Q 1 eady 1 Write 8FF 16 Q 2 1 IQ A 1 /W 50 Hz Write 8FFF 16 Avbrottsrutin (Interrupt handler) IQ LDAA ADSTAT Läs eady-signal på bit 0 BITA #% eady = 1? BN IAD Ja, A/D-omvandling färdig CL $8FFF Nej, alltså 50 Hz avbrott Nollställ avbrottsvippa 2 LDX IQCNT 50 Hz-avbrott, hämta avbrottsräknare DX STX IQCNT Uppdatera avbrottsräknare BN IQX j 10 min, hoppa ut MOVW #30000,IQCNT Ominitiera avbrottsräknare för 10 min och starta ADC MOVB #1,ADCTL Negativ flank på bit 0 startar AD-omvandling CL ADCTL som ger nytt avbrott om ca 100 mikrosek IQX TI IAD CL $8FF Nollställ avbrottsvippa 1 MOVB LVL,NWLW Läs nivå och uppdatera Nollställ också eady BA IQX IQCNT MB 2 Initiering av variabler och avbrottssystem (Stackpekaren antas initierad tidigare) CL $8FF Nollställ avbrottsvipporna CL $8FFF MOVW #30000,IQCNT MOVW #IQ,$FFF2 Initiera avbrottsräknare för 10 min Avbrottsvektor

12 11 Koppling: Q 1 Till bit 0 på inport DOO 50 Hz A 1 /W 1 Write 8FF 16 Dörrpuls Write 8FFF 16 Q 2 1 Q 2 Till bit 1 på inport DOO IQ Avbrottsrutin (Interrupt handler) IQ LDAA DOO Läs avbrottsvippor BITA #% Bit 0 är ansluten till 50 Hz-vippan BN IQ50HZ BITA #% Bit 1 är ansluten till Dörr-vippan BN IQD IQX TI * Avbrottsservicerutin 50 Hz IQ50HZ STAA $8FF Nollställ 50Hz-vippan LDX IQCNT 50 Hz-avbrott, hämta avbrottsräknare DX STX IQCNT Uppdatera avbrottsräknare BN IQX j 1 min, hoppa ut MOVW #3000,IQCNT Ominitiera avbrottsräknare för 1 min MOVB AI,FLOW Läs tryck och uppdatera BA IQX * Avbrottsservicerutin för DOO IQD STAA $8FFF Nollställ DOO-vippan MOVB DOO,POS Läs dörrposition och uppdatera BA IQX Initiering av variabler och avbrottssystem (Stackpekaren antas initierad tidigare) CL $8FF Nollställ avbrottsvipporna CL $8FFF MOVW #3000,IQCNT Initiera avbrottsräknare för 1 min MOVW #IQ,$FFF2 Avbrottsvektor OG $1FF0 IQCNT MB 2

13 12 Koppling: A 10 A 9 CS IQ_AD 50 Hz Q IQ A 8 A 7 /W Avbrottsrutin IQ TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) DC ICNT1 Avbrottsräknare för tiondels sekund BN CHK1S j tiondels sekund, kolla om 1 sekund har gått MOVB #5,ICNT1 Ominitiera avbrottsräknare för tiondels sekund MOVB POT1,GIV1 Läs givaren och uppdatera värdet CHK1S DC ICNT2 Avbrottsräknare för 1 sekund BN IQX j 1 sekund, hoppa ut MOVB #50,ICNT2 Ominitiera avbrottsräknare för 1 sekund MOVB POT2,GIV2 Läs givaren och uppdatera värdet IQX TI Initiering av variabler och avbrottssystem (Stackpekaren antas initierad tidigare) TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) MOVB #5,ICNT1 Initiera avbrottsräknare för tiondels sekund MOVB #50,ICNT2 Initiera avbrottsräknare för 1s MOVW #IQ,$FFF2 Avbrottsvektor OG $1FF0 ICNT1 MB 1 äknare för tiondels sekund ICNT2 MB 1 äknare för en sekund

14 13 Koppling: 100 Hz Q 1 Till bit 7 på inport JOY A 1 /W 1 Write 8FF 16 Knappuls Write 8FFF 16 Q 2 1 Q 2 Till bit 6 på inport JOY IQ Avbrottsrutin (Interrupt handler) IQ LDAA JOY Läs avbrottsvippor BITA #% Bit 7 är ansluten till 100 Hz-vippan BN INT100 BITA #% Bit 6 är ansluten till Knapp-vippan BN IKNP IQX TI * Avbrottsservicerutin 100 Hz INT100 STAA $8FF Nollställ 100Hz-vippan DC IQCNT 100 Hz-avbrott, hämta avbrottsräknare BN IQX j 20-dels sekund, hoppa ut MOVB #5,IQCNT Ominitiera avbrottsräknare för 20-dels sekund MOVB JOY,JSTICK Läs av joysticksläge och uppdatera BA IQX * Avbrottsservicerutin för tryckknapp IKNP STAA $8FFF Nollställ Knapp-vippan INC KNAPP Uppdatera antal knapptryckningar BA IQX Initiering av variabler och avbrottssystem (Stackpekaren antas initierad tidigare) CL $8FF Nollställ avbrottsvipporna CL $8FFF MOVB #5,IQCNT Initiera avbrottsräknare för 20-dels sekund CL KNAPP Nollställ antal knapptryckningar MOVW #IQ,$FFF2 Avbrottsvektor OG $1FF0 IQCNT MB 1

15 14 Koppling: A 10 A 9 CS IQ_AD 50 Hz Q IQ A 8 A 7 /W Avbrottsrutin IQ TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) DC IQCNT Avbrottsräknare BN IQX j 1s, hoppa ut MOVB #50,IQCNT Ominitiera avbrottsräknare MOVB SNS,$D00 Läs givaren och uppdatera värdet IQX TI IQCNT MB 1 Initiering av variabler och avbrottssystem (Stackpekaren antas initierad tidigare) TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) MOVB #50,IQCNT Initiera avbrottsräknare för 1s MOVW #IQ,$FFF2 Avbrottsvektor

16 15 Koppling: Q CS INPOT 30 Hz IQ Avbrottsrutin IQ MOVB INPOT,INVA Uppdatera INVA och nollställ avbrottsvippan DC COUNT Avbrottsräknare för tiondels sekund BN IQX j tiondels sekund Hoppa ut MOVB #3,COUNT Ominitiera avbrottsräknare för tiondels sekund JS OUTPUT Sköter utmatning till utport IQX TI Initiering av variabler och avbrottssystem (Stackpekaren antas initierad tidigare) TST INPOT Nollställ avbrottsvippan MOVB #3,COUNT Initiera avbrottsräknare för tiondels sekund MOVW #IQ,$FFF2 Avbrottsvektor

17 16 Koppling: A 10 A 9 A 8 A 7 /W Avbrottsrutin CS IQ_AD 50 Hz IQ TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) DC COUNT Avbrottsräknare BN IQX j 1s, hoppa ut MOVB #50,COUNT Ominitiera avbrottsräknare LDAA CLOCK+2 Hämta sekundvärdet ADDA #1 n sekund till DAA Decimaljustera STAA CLOCK +2 Uppdatera sekundvärdet CMPA #$60 Hel minut? BN SHOW Nej, visa tid CL CLOCK +2 Ja, nollställ sekundvärdet LDAA CLOCK +1 Hämta minutvärdet ADDA #1 n minut till DAA Decimaljustera STAA CLOCK +1 Uppdatera minutvärdet CMPA #$60 Hel timma? BN SHOW Nej, visa tid CL CLOCK +1 Ja, nollställ minutvärdet LDAA CLOCK Hämta timvärdet ADDA #1 n timma till DAA Decimaljustera STAA CLOCK Uppdatera timvärdet CMPA #$24 Helt dygn? BN SHOW Nej, visa tid CL CLOCK Ja, nollställ timvärdet SHOW MOVB CLOCK,TIM Visa timvärdet MOVB CLOCK+1,MIN Visa minutvärdet MOVB CLOCK+2,SK Visa sekundvärdet IQX TI Q IQ Initiering av variabler och avbrottssystem (Stackpekaren antas initierad tidigare) TST $24FF Nollställ avbrottsvippan (T ex adr $24FF enligt figuren) MOVB #50,COUNT Initiera avbrottsräknare för 1s CL CLOCK Nollställ timvärdet CL CLOCK +1 Nollställ minutvärdet CL CLOCK +2 Nollställ sekundvärdet MOVW #IQ,$FFF2 Avbrottsvektor

18 17 UTPOT QU $3000 Utport för ASCII-tecken till skrivare Subrutin för initiering av avbrottsstyrd utmatning av en textsträng INIST CL UTPOT Nollställ avbrottsvippan STX STPNT Initiera global pekare till textsträng MOVW #PINT,$FFF2 Avbrottsvektor TS Avbrottsrutin för utmatning av textsträng till skrivare PINT LDX STPNT Hämta pekare till textsträng LDAA 1X+ Hämta tecken från textsträng STAA UTPOT Mata ut ASCII-tecken och nollställ avbrottsvippa BN PIX Uthopp om ej strängslut MOVB #$FF,FLAG Signalera klart till huvudprogram PULA Hämta CC-värde från stack OAA #$10 Sätt I = 1 (Stäng av avbrott) PSHA Skriv tillbaka CC-värde till stack PIX STX STPNT Uppdatera pekare till textsträng TI

19 18 Koppling: CS IQ_AD 200 Hz Q IQ /W BOS0 QU $1FF0 BOS för program P0 BOS1 QU $2FF0 BOS för program P1 STAT0 QU $1000 Startadress för program P0 STAT1 QU $2000 Startadress för program P1 IQS QU $8FFF Läsadress för nollställning av IQ-vippa IQVC QU $FFF2 Avbrottsvektorn GLOBAL QU $1FF0 (Denna krockar inte med BOS0 ovan!) OG STAT0 P0 MOVB #$C0,BOS1-9 CC till stack1 MOVW #STAT1,BOS1-2 Startadress för program P1 till stack1 MOVW #BOS1-9,SPSAV Stackpekarvärde efter avbrott till stack1 LDS #BOS0 Initiera stack för program 0 TST IQS Nollställ avbrottsvippan MOVW #IQ,IQVC Initiera IQ-vektorn et P0LOOP NOP BA P0LOOP vighetsslinga i P0 OG STAT1 P1 NOP vighetsslinga i P1 BA P1 IQ TST IQS Nollställ avbrottsvippan LDX SPSAV Hämta den andra stackpekaren STS SPSAV Spara den aktiva stackpekaren TF X,SP Byt stackpekare TI Återvänd till det andra programmet OG GLOBAL SPSAV MB 2 Plats för den passiva (andra) stackpekaren

20 19 Koppling: CS IQ_AD 200 Hz Q IQ /W BOS0 QU $8000 BOS för program P0 BOS1 QU $C000 BOS för program P1 STAT QU $1000 Startadress för program PINIT (t ex) STAT0 QU $4000 Startadress för program P0 STAT1 QU $8000 Startadress för program P1 IQS QU $8FFF Läsadress för nollställning av IQ-vippa IQVC QU $FFF2 Avbrottsvektorn GLOBAL QU $2000 OG STAT PINIT MOVB #$C0,BOS1-9 CC till stack1 MOVW #STAT1,BOS1-2 Startadress för program P1 till stack1 MOVW #BOS1-9,SPSAV Stackpekarvärde efter avbrott till stack1 LDS #BOS0 Initiera stack för program 0 TST IQS Nollställ avbrottsvippan MOVB #0,TOGGL För att välja varannat avbrott MOVW #IQ,IQVC Initiera IQ-vektorn et LBA P0 OG STAT0 P0 NOP vighetsslinga i P0 BA P0 OG STAT1 P1 NOP vighetsslinga i P1 BA P1 IQ TST IQS Nollställ avbrottsvippan COM TOGGL ndast processbyte vartannat avbrott BQ IQX j processbyte LDX SPSAV Processbyte, hämta den andra stackpekaren STS SPSAV Spara den aktiva stackpekaren TF X,SP Byt stackpekare IQX TI Återvänd till det andra programmet OG GLOBAL TOGGL MB 1 SPSAV MB 2 Plats för den passiva (andra) stackpekaren

Avbrottshantering. Övningsuppgifter

Avbrottshantering. Övningsuppgifter Avbrottshantering Övningsuppgifter 2013 Besvara kortfattat följande frågor rörande CPU12. Redogör för vad som händer vid RESET och varför detta sker. Förklara kortfattat vad som händer vid ett IRQ avbrott

Läs mer

Lösningsförslag tenta

Lösningsförslag tenta Lösningsförslag tenta 2013-12-16 (Version 5 med reservation för eventuella fel. Uppdaterad 140417.) 1. X = 1010 0101 2 ; Y = 0101 1011 2 (8 bitars ordlängd) a) [0, 2 n 1] = [0, 2 8 1] = [0, 255] b) [ 2

Läs mer

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)

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

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #19 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Normaltillstånd vs undantagstillstånd I normaltillstånd

Läs mer

Extrauppgifter för CPU12

Extrauppgifter för CPU12 1 Extrauppgifter för CPU12 X1a) Skriv en instruktionssekvens som nollställer bit 3-0 i alla minnesord i adressintervallet 2035H, 2049H Använd X-registret för adressering X1b) Skriv en subrutin som maskerar

Läs mer

F8: Undantagshantering

F8: Undantagshantering F8: Undantagshantering Undantagshantering i 68 Vad är ett undantag? Typer av undantag Att skriva undantagsrutiner Undantagshantering, vad och varför? Exempel: Ett system ska mäta temperatur var :e sekund

Läs mer

Maskinorienterad programmering

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

Läs mer

Maskinorienterad programmering

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/

Läs mer

I DAG fo 4. Printerport v3 med READY o DAV. Avbrott. Hur bra blev det egentligen????

I DAG fo 4. Printerport v3 med READY o DAV. Avbrott. Hur bra blev det egentligen???? Rep Konstruktion av en Printer-Port ynkroniseringsproblem Villkorlig / ovillkorlig överföring Busy Wait och Polling Handskakningssignaler AVBROTT!!! svektor I-flagga svippa sdriven Printerport I DAG fo

Läs mer

Digital- och datorteknik

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

Läs mer

Programexempel för FLEX

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

Läs mer

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink

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/

Läs mer

LABORATION. Datorteknik Y

LABORATION. Datorteknik Y LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.03 Februari 2019 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering

Läs mer

TENTAMEN (med svar och vissa lösningar)

TENTAMEN (med svar och vissa lösningar) Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN (med svar och vissa lösningar) KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/

Läs mer

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

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

Läs mer

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.

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

Läs mer

LABORATION. Datorteknik Y

LABORATION. Datorteknik Y LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.02 Februari 2018 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering

Läs mer

Programallokering. Programtyper. Att placera program i flashrespektive. Program i FLASH-minne. Program i RAM-minne

Programallokering. Programtyper. Att placera program i flashrespektive. Program i FLASH-minne. Program i RAM-minne Programallokering Att placera program i flashrespektive RAM-minne Program i FLASH-minne Bara lokala variabler Globala oinitierade variabler Globala initierade variabler Program med avbrott Program i RAM-minne

Läs mer

Maskinorienterad programmering

Maskinorienterad programmering Externa avbrott Anslutning av extern avbrottsvippa, programmering med konfigurering och hantering av externa avbrott. Introduktion till time-sharing, enkel task-switch. Ur innehållet: NVIC och EXTI (SYSCFG)

Läs mer

Assemblerprogrammering

Assemblerprogrammering 2012-02-14 Assemblerprogrammering Övningsuppgifter 2011 Lösningar (Med reservation för diverse fel!) 1. Hur många E-klockperioder använder CPU12 (HCS12) för att köra programsekvensen nedan? ORG $1000 LDAA

Läs mer

Övningsuppgifter i Mikrodatorteknik 4p/5p

Ö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

Läs mer

Assemblerprogrammeringsuppgifter för FLIS-processorn

Assemblerprogrammeringsuppgifter för FLIS-processorn 1 (2013-05-02) Assemblerprogrammeringsuppgifter för FLIS-processorn 1. I simulatorn för FLISP-datorn kan man ansluta strömbrytarmodulen DIPSWITCH till en inport och sifferindikatorn 7-SEGMENT till en utport.

Läs mer

Villkorliga hopp: 9/26/2011. Dagens mål: Du ska kunna.. Villrorliga (Relativa) hopp - forts Arb s 140. LV5 Fo12. LV5 Fo12. Aktivera Kursens mål:

Villkorliga hopp: 9/26/2011. Dagens mål: Du ska kunna.. Villrorliga (Relativa) hopp - forts Arb s 140. LV5 Fo12. LV5 Fo12. Aktivera Kursens mål: Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner

Läs mer

EDA Digital och Datorteknik

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

Läs mer

Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller

Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller Aktivera Kursens mål: LV5 Fo12 Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika

Läs mer

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010 STYRNING - i Mikrodatorteknik för U2 2010 1. Uppgift M10 (5p) aug-09 Skriv ett program i PIC-assembler som - gör PortB till utport - ettställer bit 0, 3 och 4 i PortB - nollställer bit 5 och 6 i PortB

Läs mer

Föreläsningsanteckningar 3. Mikroprogrammering II

Föreläsningsanteckningar 3. Mikroprogrammering II Föreläsningsanteckningar 3. Mikroprogrammering II Olle Seger 2012 Anders Nilsson 2016 1 Inledning Datorn, som vi byggde i förra föreläsningen, har en stor brist. Den saknar I/O. I denna föreläsning kompletterar

Läs mer

3. Mikroprogrammering II

3. Mikroprogrammering II 3. Mikroprogrammering II lite repetition in/ut-matning avbrott på OR-datorn hoppinstruktion labben Olle Roos dator LDA 000 12 ADD 100 7 STA 000 13 12 1 13 8 13 6 8 0 18,1,11 2,3,5,11 7,8,11 17,10 18,1,11

Läs mer

Programmering av inbyggda system

Programmering av inbyggda system Programmering av inbyggda system Synkronisering och undantag Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare

Läs mer

Laborationsmoment t 2 - En Borrautomat

Laborationsmoment t 2 - En Borrautomat Maskinorienterad Programmering 2/2 Laborationsmoment t 2 - En Borrautomat t Genomgång g av laborationer: Programutveckling i assembler Tangentbord för borrkommando Operatör Mikrodator Anpassnings- elektronik

Läs mer

LEU240 Mikrodatorsystem

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

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #15 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Dataväg med pekarregister och stackpekare: I vår sjunde,

Läs mer

Datorsystemteknik Föreläsning 7DAVA14

Datorsystemteknik Föreläsning 7DAVA14 Datorsystemteknik Föreläsning 7DAVA14 Innehåll Introduktion (forts) Polling (cyklisk avfrågning) Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Exempel

Läs mer

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen.

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/

Läs mer

Förutsättningar för skrivaranslutningen

Förutsättningar för skrivaranslutningen Maskinorienterad Programmering 2011/2012 Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare Undantag: Hur

Läs mer

Maskinorienterad programmering

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/

Läs mer

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin. 1(5) Övningstentamen i Mikrodatorer och assemblerprogrammering, ELGA05 Hjälpmedel: Bifogad lista med memokoder för MC68xxx. Samtliga programmeringsuppgifter ska innehålla flödesschema med förklaringar

Läs mer

Polling (cyklisk avfrågning) Avbrott

Polling (cyklisk avfrågning) Avbrott Polling (cyklisk avfrågning) Avbrott Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Att känna till begreppet polling (cyklisk avfrågning) och hur det

Läs mer

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15. Aktivera Kursens mål: LV3 Fo7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion

Läs mer

Tentamen. DIT150 Maskinorienterad programmering GU DAT015 Maskinorienterad programmering IT. Söndag 17 december 2006, kl

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.

Läs mer

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i

Läs mer

Laborationsmoment t 2 - En Borrautomat

Laborationsmoment t 2 - En Borrautomat Maskinorienterad Programmering 21/211 Genomgång g av laborationer: Programutveckling i assembler Arbetsbok för MC12, kapitel 4 1 Laborationsmoment t 2 - En Borrautomat t Tangentbord för borrkommando Operatör

Läs mer

Förutsättningar för skrivaranslutningen. Första programexemplet. Synkronisera arbetstakterna

Förutsättningar för skrivaranslutningen. Första programexemplet. Synkronisera arbetstakterna Maskinorienterad Programmering 0/0 Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare Undantag: Hur hanteras

Läs mer

Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen

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

Läs mer

Digital- och datorteknik

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

Läs mer

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå Aktivera Kursens mål: LV4 Fo10 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Koppla samman register och ALU till en dataväg Minnets uppbyggnad och anslutning till datavägen

Läs mer

Digital- och datorteknik

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

Läs mer

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers Avbrott generellt F7.1. Avbrott sköts med hårdvara i processorn, man läser av hårdvarumässigt. Polling är en enklare princip för I/O- hantering.

Läs mer

Dataöverföring på Parallell- och serieform MOP 11/12 1

Dataöverföring på Parallell- och serieform MOP 11/12 1 Dataöverföring på Parallell- och serieform MOP 11/12 1 Parallell dataöverföring I digitala system finns ofta behovet att flytta ett eller flera dataord från ett ställe (sändare) till ett annat ställe (mottagare).

Läs mer

Digital- och datorteknik

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äs mer

Assemblerprogrammering del 3

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)

Läs mer

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Tomas Nordström Högskolan i Halmstad Dokumentversion 0.1, 2012-04- 01 Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Informationen till detta kompendium är

Läs mer

Laborationsmoment 2 - En Borrautomat

Laborationsmoment 2 - En Borrautomat Maskinorienterad Programmering 2011/2012 : Programutveckling i assembler Arbetsbok för MC12, kapitel 4 1 Laborationsmoment 2 - En Borrautomat Tangentbord för borrkommando Operatör Mikrodator Anpassningselektronik

Läs mer

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP. Övningsuppgifter Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP. F.2 Ett antal på varandra följande minnesord har

Läs mer

Förutsättningar för skrivaranslutningen. Första programexemplet. strängslut. Maskinorienterad Programmering 2011/2012 Synkronisering och undantag

Förutsättningar för skrivaranslutningen. Första programexemplet. strängslut. Maskinorienterad Programmering 2011/2012 Synkronisering och undantag Maskinorienterad Programmering 20/202 Synkronisering och undantag Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter

Läs mer

Digital- och datorteknik

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

Läs mer

TENTAMEN. Digital- och datorteknik E. Institutionen för data- och informationsteknik Avdelningen för datorteknik. Elektro Åk 1/ lp 4 EDA216/DIT790

TENTAMEN. Digital- och datorteknik E. Institutionen för data- och informationsteknik Avdelningen för datorteknik. Elektro Åk 1/ lp 4 EDA216/DIT790 Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik E PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26/DIT790 EXAMINATOR Lars-Eric Arebrink

Läs mer

Tentamen. DAT015 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU. Tisdag 15 december 2009, kl

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

Läs mer

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik EDA 45 - Digital och Datorteknik Dagens föreläsning: Assemblerprogrammering för FLEX, Extra material Ext 8 Ur innehållet: Programmerarens bild av FLEX Instruktionsuppsättning Register åtkomliga för programmeraren

Läs mer

Mål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts)

Mål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts) Mål Datorteknik Föreläsning 4 Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta vilken information

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #23 Översikt När flera smoduler placeras i processorns adressrum ansluts modulernas adressingångar till motsvarande ledningar i en. Övriga adressledningar i bussen

Läs mer

Lösningsförslag till Tenta i Mikrodator

Lösningsförslag till Tenta i Mikrodator Lösningsförslag till Tenta i Mikrodator 040117 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 4 Polling och avbrott Mål Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta

Läs mer

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner Ext-3 (Ver 203-04-2) Exempel på RTN-beskrivning av FLEX-instruktioner. Figur på sidan 2 i detta häfte visar hur datorn FLEX är uppbyggd. På sidan visas dessutom hur ALU:ns funktion väljs med styrsignalerna

Läs mer

Exempel 3 på Tentamen

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

Läs mer

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen

Läs mer

Undantagstyper. Maskinorienterad Programmering 2010/2011. MC68HC12, Stencil Assemblerprogrammering.pdf CPU12 Reference Guide

Undantagstyper. Maskinorienterad Programmering 2010/2011. MC68HC12, Stencil Assemblerprogrammering.pdf CPU12 Reference Guide Maskinorienterad Programmering 200/20 MC68HC2, Stencil Assemblerprogrammering.pdf CPU2 Reference Guide Arbetsbok b för MC2, avsnitt 2 Exekveringstillstånd tå Processorn befinner sig alltid i något av tillstånden:

Läs mer

Datakommunikation med IR-ljus.

Datakommunikation med IR-ljus. Datakommunikation med -ljus. I den här uppgiften skall du kommunicera med hjälp av infrarött () ljus. Du skall kunna sända tecken från tangentbordet samt ta emot tecken och visa dem på skärmen. Genom att

Läs mer

Assemblerprogrammets struktur; exempel

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

Läs mer

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl Tentamen TSEA22 Digitalteknik 5 juni, 2015, kl. 08.00-12.00 Tillåtna hjälpmedel: Inga. Ansvarig lärare: Mattias Krysander Visning av skrivningen sker mellan 10.00-10.30 den 22 juni på Datorteknik. Totalt

Läs mer

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner Ext-3 (Ver 204-04-08) Exempel på RTN-beskrivning av FLEX-instruktioner. Figur på sidan 2 i detta häfte visar hur datorn FLEX är uppbyggd. På sidan visas dessutom hur ALU:ns funktion väljs med styrsignalerna

Läs mer

LABORATION DATORTEKNIK Y DATORTEKNIK D

LABORATION DATORTEKNIK Y DATORTEKNIK D LABORATION DATORTEKNIK Y DATORTEKNIK D Avbrottsprogrammering på M68008 Version: 3.2 203 (OVA) Namn och personnummer Godkänd Till laboranten Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering

Läs mer

Maskinorienterad programmering, It/GU

Maskinorienterad programmering, It/GU Institutionen för data och informationsteknik. 2009-10-22 Laborationer i Maskinorienterad programmering, It/GU Detta häfte innehåller anvisningar om förberedelser och genomförande av 6 (3) laborationer.

Läs mer

Maskinorienterad Programmering 2010/11

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

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #23 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Översikt När flera minnesmoduler placeras i processorns

Läs mer

Tentamen i EIT070 Datorteknik

Tentamen i EIT070 Datorteknik Tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 10 mars 2010, klockan 08:00 13:00 å Victoriastadion 1 och 2. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

A-del motsvarande KS1

A-del motsvarande KS1 MÄLARDALENS HÖGSKOLA Institutionen för elektroteknik Tentamen Mikrodatorteknik CT3760 Datum 2005-10-28 Tid 08.30 12.30 Svar till A- och B-del A-del motsvarande KS1 Uppgift A1. Vad blir resultatet då instruktionen

Läs mer

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR Lars-Eric Arebrink TID FÖR

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH. Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

FLEX Instruktionslista

FLEX Instruktionslista FLEX Instruktionslista Innehåll 1 Förklaring av beteckningar i instruktionslistan... 2 2 Detaljerad beskrivning av FLEX-processorns instruktioner... 3 3 Operationskoder, maskincykler och flaggpåverkan...

Läs mer

Maskinorienterad Programmering 2010/2011. Maskinorienterad Programmering 2010/2011. Skrivarporten, p Arbetsbok MC12, avsnitt 2

Maskinorienterad Programmering 2010/2011. Maskinorienterad Programmering 2010/2011. Skrivarporten, p Arbetsbok MC12, avsnitt 2 Maskinorintrad Programmring 2010/2011 Skrivarportn, p Arbtsbok MC12, avsnitt 2 Ur innhåt: Vi ansutr n skrivar Assmbrprogrammring - skrivarportn 1 Skrivarport Arbtsbok, kap. 2 Konstruktion av n Printr-Port

Läs mer

Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1

Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1 Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1 13.1 a) Minneskapseln har 10 st adressledningar, vilket innebär att den har 2 10 = 1024 adresser, var och med

Läs mer

LV6 LV7. Aktivera Kursens mål:

LV6 LV7. Aktivera Kursens mål: Aktivera Kursens mål: LV6 LV7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion

Läs mer

Tentamen med lösningsförslag

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

Läs mer

Arbetsbok för MC12, kapitel 4 Klocka. Genomgång av laborationer. New disc Här väljer du olika arbetsstycken

Arbetsbok för MC12, kapitel 4 Klocka. Genomgång av laborationer. New disc Här väljer du olika arbetsstycken Maskinorienterad Programmering 2011/2012 Laborationsmoment 2 - En Borrautomat : Programutveckling i assembler Tangentbord för borrkommando Operatör Mikrodator Anpassningselektronik Borrmaskin Arbetsbok

Läs mer

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00.

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00. Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:

Läs mer

Digitala projekt rapport

Digitala projekt rapport Digitala projekt rapport Alexander Westrup, d04aw@student.lth.se Martin Sandgren, d04ms@student.lth.se 4 december 2007 Innehåll 1 Abstract 1 2 Inledning 1 3 Arbetsgång 1 4 Hårdvara 1 4.1 Processor...............................

Läs mer

Att läsa en manual. Exempel Timern ECT_16B8C. Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler

Att läsa en manual. Exempel Timern ECT_16B8C. Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler Att läsa en manual Exempel Timern ECT_16B8C Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler 1 Läs om speciella egenskaper (Features) I övrigt har vi Input

Läs mer

CPU. Carry/Borrow IX. Programräknare

CPU. Carry/Borrow IX. Programräknare Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister

Läs mer

ALU:n ska anslutas hur då?

ALU:n ska anslutas hur då? Aktivera Kursens mål: LV3 Fo7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion

Läs mer

Förutsättningar för skrivaranslutningen. Första programexemplet. Inför specialtecken för strängslut

Förutsättningar för skrivaranslutningen. Första programexemplet. Inför specialtecken för strängslut Maskinorienterad Programmering 0/0 Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare Undantag: Hur hanteras

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #15 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Dataväg med pekarregister och stackpekare: I vår sjunde,

Läs mer

Printerport. I DAG Fö 3. Adressavkodning för skrivarporten. Printerport - forts

Printerport. I DAG Fö 3. Adressavkodning för skrivarporten. Printerport - forts I DAG Fö 3 Studera HDW/SW för en yttre enhet om anlut till ytemet (Syfte med avnitt ) Printerport S 3 Vi kontruerar en Printer-Port för att tudera: Synkronieringproblem och överföringmekanimer (HDW/SW)

Läs mer

TENTAMEN (Något redigerad)

TENTAMEN (Något redigerad) Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN (Något redigerad) KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Data-, elektro- och mekatronikingenjör Åk /

Läs mer

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 6 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 6 Vad händer vid uppstart SoC och Kringkretsar, PIO Programmering i Assembler Lab2 genomgång

Läs mer

LABORATIONSINSTRUKTION

LABORATIONSINSTRUKTION Högskolan Dalarna Elektroteknik LABORATION LABORATIONSINSTRUKTION PLC-styrning av ett minimalt parkeringsgarage KURS El- och styrteknik för tekniker ET 1015 INNEHÅLL LAB NR 4 Ver 1.0 1. Inledning 2. Laborationskortet

Läs mer

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1 igitalteknik F2 Några speciella automater: register räknare Synkronisering av insignaler igitalteknik F2 bild Register Ett register är en degenererad automat som i allt väsentligt används för att lagra

Läs mer

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Fö 5+6 TSEA81. Real-time kernel + Real-time OS Fö 5+6 TSEA81 Real-time kernel + Real-time OS Stackens användningsområde * JSR / RTS : returadress * Temporärdata (push / pop) void myfunc(void) { int i; // hamnar nog i register int test[10]; // hamnar

Läs mer