Returvärden via register. Parameteröverföring via register
|
|
- Elin Gunnarsson
- för 8 år sedan
- Visningar:
Transkript
1 Maskinorienterad Programmering 21/211 CPU12 eference Guide Stencil: Assemblerprogrammering.pdf Ur innehållet: Parameteröverföring Positionsoberoende kod äknarkretsar ( IMES ) Pulsbreddsmodulering le ( PM ) Analog-/Digital- omvandling ( AD ) Seriekommunikation ( SCI ) Parameteröverföring till/från subrutiner Via register Via stacken In Line 1 2 Parameteröverföring via register eturvärden via register Antag att vi alltid använder register D,X,Y (i denna ordning) för parametrar som skickas till en subrutin. Då kan funktionsanropet (subrutinanropet) dummyfunc(la,lb,lc); översättas till: LDD la LDX lb LDY lc BS dummyfunc Då vi kodar subrutinen dummyfunc vet vi (på grund av våra regler) att den första parametern skickas i D, den andra i X och den tredje i Y (osv). väljs, beroende på returvärdets typ (storlek), HCS12-exempel Storlek Benämning C-typ 8 bitar byte char B 1 bitar word short int D 32 bitar long long int Y/D En regel (konvention) bestäms och följs därefter vid kodning av samtliga subrutiner Metoden är enkel och ger bra prestanda. Begränsat antal parametrar kan överföras. 3 4
2 Lokala variabler stacken för temporär lagring Parameteröverföring via stacken Adress Innehåll SP före SP efter ; dummyfunc(la,lb,lc); 3 2FFF D.lsb dummyfunc: 2FFE D.msb ; parametrar finns i register, 2FFD X.lsb ; spara på stacken 2FFC X.msb SD 2,-SP SX 2,-SP 2FFB ---- här används registren för andra syften ---- ; återställ täll ursprungliga parametrar från stacken LDD 2,SP LDX,SP LEAS 4,SP ; återställ stackpekare S Antag att listan av parametrar som skickas till en subrutin behandlas från höger till vänster. Då kan dummyfunc(la,lb,lc); lb l Översättas till: LDD lc PSHD ;(alternativt SD 2,-SP) LDD lb PSHD LDD la PSHD BS dummyfunc LEAS,SP Innehåll Kommentar Adressering via SP i subrutinen lc.lsb Parameter lc lc.msb,sp lb.lsblsb Parameter lb lb.msb 4,SP la.lsb Parameter la la.msb 2,SP PC.lsb Återhoppsadress, PC.msb placeras här vid BS,SP dummyfunc:.. LDD 2,SP ; parameter la till register D.. LDD 4,SP ; parameter lb till register D.. LDD,SP ;parameter lc till register D 5 Parameteröverföring In Line Positionsoberoende kod In line parameteröverföring, värdet 1 ska överföras till en subrutin: BS dummyfunc u FCB 1... main: OG $1 NOP JMP main Genererad kod: A7 1 Den absoluta adressen till symbolen main ärkodad i instruktionen. dummyfunc: LDAB [,SP] ; parameter->b LDX,SP ; återhoppsadress->x INX ; modifiera.. SX,SP ;.. tillbaks till stack S main: OG $1 Genererad kod: A7 2 FD NOP Adressen till main anges som en offset till BA main programräknaren (FD=-3, PC-relativ) POSIIONSOBEOENDE ( PIC, Position Independent Code) 7 8
3 elokering Antag att vi vill flytta maskinkod från en startadress till en annan (elokera kod). CG, Clock eset Generator HCS12 har programmerbar arbetstakt t. Kontrolleras från CG-modul. PIC: Bara kopiera från källadress till destination. EJ PIC: Absoluta adresser måste räknas om (kräver relokeringsinformation, dvs VILKA adresser innehåller referenser till absoluta adresser, etc.) BusClock (E) = PLLCLK/2 9 1 EXEMPEL: Bestäm busfrekvens Antag 8 MHz kristall. PLLCLK får aldrig vara mindre än OSCCLK eftersom detta äventyrar stabilitetsvillkoren i oscillatorn. PLLCLK/2 får aldrig vara större än nominella arbetsfrekvensen hos kretsen. För första generationens HCS12 innebär detta att PLLCLK/2 < 25 MHz. ( SYN 1) 5MHz 2 8MHz ( EFDV 1) Sätt: SYN = 5 och EFDV = 1 (5 1) 2 8MHz 2 8 3MHz 48MHz (1 1) Algoritm: 1. Skriv nya värden till SYN, EFDV. 2. Vänta tills kretsen låser (LOCK=1) 3. Växla till PLL (sätt PPLSEL=1) Basadress = $34 $34 $35 $3 $37 $38 $39 $3A $3B $3C $3D Clock eset Generator (CG) Offset Mnemonic Namn $ Synthesizer SYN5 SYN4 SYN3 SYN2 SYN1 SYN SYN $1 EFDV EFDV EFDV EFDV eference Divide EFDV $2 *)est Flags CFLG $3 IF POF LVF LOCKIF LOCK SCMIE SCMIF SCM Flags CGFLG $4 Interrupt Enable IE LOCKIE SCMIE CGIN $5 Clock Select PLLSEL PSP SYSAI OAAI PLLAI CAI IAI COPAI CLKSEL $ PLL Control CME PLLON AUO AOQ PE PCE SCME PLLCL $7 I Control ICL $8 COP Control COP SBCK C2 C1 C COPCL *)Force and Bypass $9 FOBYP est $3E $A CCL $3F $B Bit7 Bit Bit5 Bit4 Bit3 Bit2 Bit1 Bit AMCOP *)est Control COP Arm/imer eset 11 12
4 ..programmering.. äknarkrets k ( timer ), ) principiell i i funktion * Generisk kod för programmerad arbetstakt... MOVB #EFDVVal,EFDV MOVB #SYNVal,SYN wait: BCL CGFLG,#LOCK,wait ; vänta tills PLL låst... BSE CLKSEL,#PLLSEL ; växla systemklocka till PLL. Pulser/ intervall eload äknar värde IQ IQ IQ t * Adressdefinitioner för register EFDV EQU $35 SYN EQU $34 CGFLG EQU $37 CLKSEL EQU $39 * Bitdefinitioner PLLSEL EQU $8 LOCK EQU 8 * värden EFDVVal: EQU 1 SYNVal: EQU 5 Clk Prescaler Används för att dela ned klockfrekvensenkf k Nedräknare Läsbart register = IQ Enable IQ Periodiska avbrott Kan användas för att skapa en EALIDSKLOCKA ealtidsklocka k i HCS12 ealtidsklocka k i HCS12, initieringiti i re olika register används för realtidsklockan Algoritm, initiering 2. Aktivera avbrott från kretsen 1. Skriv tidbas för avbrottsintervall till ICL $34 $35 $3 $37 $38 $39 $3A $3B $3C $3D Clock eset Generator (CG) Offset Mnemonic Namn $ Synthesizer SYN5 SYN4 SYN3 SYN2 SYN1 SYN SYN $1 EFDV EFDV EFDV EFDV eference Divide EFDV $2 *)est Flags CFLG $3 IF POF LVF LOCKIF LOCK SCMIE SCMIF SCM Flags CGFLG $4 Interrupt Enable IE LOCKIE SCMIE CGIN $5 Clock Select PLLSEL PSP SYSAI OAAI PLLAI CAI IAI COPAI CLKSEL $ PLL Control CME PLLON AUO AOQ PE PCE SCME PLLCL $7 I Control ICL $8 COP Control COP SBCK C2 C1 C COPCL *)Force and Bypass $9 FOBYP est $3E $3F $A CCL $B Bit7 Bit Bit5 Bit4 Bit3 Bit2 Bit1 Bit AMCOP *)est Control COP Arm/imer eset 15 1
5 Prescaler för räknarkretsen k [3:] (OFF) [:4] OSCCLK Ifreq Beräkning av tidbas OSCCLK y 4 Ifreq x OFF OFF 2x2 1 2x2 11 2x2 12 2x2 13 2x2 14 2x2 15 2x2 1 1 OFF 3x2 1 3x2 11 3x2 12 3x2 13 3x2 14 3x2 15 3x OFF 42 4x x x x x x x2 1 1 OFF 5x2 1 5x2 11 5x2 12 5x2 13 5x2 14 5x2 15 5x OFF x2 1 x2 11 x2 12 x2 13 x2 14 x2 15 x OFF 7x2 1 7x2 11 7x2 12 7x2 13 7x2 14 7x2 15 7x OFF 8x2 1 8x2 11 8x2 12 8x2 13 8x2 14 8x2 15 8x2 1 1 OFF 9x2 1 9x2 11 9x2 12 9x2 13 9x2 14 9x2 15 9x OFF 1x2 1 1x2 11 1x2 12 1x2 13 1x2 14 1x2 15 1x OFF 11x2 1 11x x x x x x OFF 12x2 1 12x x x x x x OFF 13x2 1 13x x x x x x OFF 14x2 1 14x x x x x x OFF 15x2 1 15x x x x x x OFF 1x2 1 1x2 11 1x2 12 1x2 13 1x2 14 1x2 15 1x2 1 (Se även exempel i Stencil 2 ) Den bästa approximationen har vi för = 1 11 = $49, som medför: 1x2 13 = 8192 Eftersom detta värde är något större än det exakta, kommer vi att få en något längre periodtid, nämligen: avbrottsfrekvens = 8 1 / 8192 = 97.5 Hz vilket ger periodtiden:.124 s = 1,24 ms. Klockan kommer alltså att "gå för sakta" som en följd av detta systematiska fel Program för initiering.. iti i ealtidsklocka k i HCS12, vid avbrott ; Adressdefinitioner CGIN EQU $38 ICL EQU $3B timer_init: ; Initiera C avbrottsfrekvens ; Skriv tidbas för avbrottsintervall till ICL MOVB #$49,ICL ; Aktivera avbrott från CG-modul MOVB #$8,CGIN S Anmärkning: Det är olämpligt att använda detta värde då programmet testas i simulator, använd då i stället det kortast tänkbara avbrottsintervallet enligt; ; Skriv tidbas för avbrottsintervall till ICL MOVB #$1,ICL ; För simulator Algoritm, kvittera avbrott 1. IF = 1 $34 $35 $3 $37 $38 $39 $3A $3B $3C $3D Clock eset Generator (CG) Offset Mnemonic Namn $ Synthesizer SYN5 SYN4 SYN3 SYN2 SYN1 SYN SYN $1 EFDV EFDV EFDV EFDV eference Divide EFDV $2 *)est Flags CFLG $3 IF POF LVF LOCKIF LOCK SCMIE SCMIF SCM Flags CGFLG $4 Interrupt Enable IE LOCKIE SCMIE CGIN $5 Clock Select PLLSEL PSP SYSAI OAAI PLLAI CAI IAI COPAI CLKSEL $ PLL Control CME PLLON AUO AOQ PE PCE SCME PLLCL $7 I Control ICL $8 COP Control COP SBCK C2 C1 C COPCL *)Force and Bypass $9 FOBYP est $3E $3F $A CCL $B Bit7 Bit Bit5 Bit4 Bit3 Bit2 Bit1 Bit AMCOP *)est Control COP Arm/imer eset 19 2
6 ealtidsklocka k i HCS12, avbrottshantering t ealtidsklocka k med hög upplösning ; Adressdefinition CGFLG EQU $37 timer_interrupt: ; Kvittera avbrott från C BSE CGFLG,#$8 I ; Avbrottsvektor på plats OG $FFF FDB timer_interrupt Adress (hex) Funktion FFF eal ime Interrupt FFEE Enhanced Capture imer channel FFEC Enhanced Capture imer channel 1 FFEA Enhanced Capture imer channel FF8E Port P Interrupt FF8C PM Emergency Shutdown FF8A- eserverade FF8 Enhanced Capture imer (EC) En maskincykels noggrannhet EXEMPEL: Arbetstakt= 24 MHz PEIOD = 24 Intervall = 1 ms Noggrannhet = 1/24 sek. 41,7 1-9 sec Programexempel Pulsbreddsmodulering d l (PM) IOS EQU $4 CN EQU $44 IE EQU $4C FLG1 EQU $4E OC_ EQU $5 PEIOD EQU 24 Init: MOVB #1,IOS ; ch är OC MOVB #1,IE ; tillåt IQ LDD CN ; aktuell cykel ADDD #PEIOD ; addera period SD OC_ ; nästa avbrott S OG FDB $FFEE OCirq OCirq : MOVB #1,FLG1 ; kvittera LDD CN ; ny period ADDD #PEIOD SD OC_ I Adress (hex) Funktion FFF eal ime Interrupt FFEE Enhanced Capture imer channel FFEC Enhanced Capture imer channel 1 FFEA Enhanced Capture imer channel FF8E Port P Interrupt FF8C PM Emergency Shutdown FF8A- eserverade FF8 U U U period dutycycle 1 U out U 2 3 U out U 4 1 U out U 4 dutycycle U out U period Period och duty- cycle är programmerbart 23 24
7 PM-styrning Control bus Data bus period dutycycle Högtalare, glödlampa element, etc... 8 * 8 bitars eller 4 * 1 bitars räknare period duty cycle PM Continous signal out Power Amplifier 25 2 Programexempel ; PM initiering PME EQU $A PPOL EQU $A1 PMPCLK EQU $A3 PMPE EQU $B4 PMDY EQU $BC ; låg nivå startar period CL PMPOL ; c:a 4 ms periodtid MOVB #$77,PMPCLK ; pwm kanal MOVB #$FF,PMPE ; börja med 8% duty cycle.. MOVB #$D,PMDY ; aktivera kanal MOVB #1,PME Analog-/Digital- it l omvandling 27 28
8 Programexempel ; AD initiering ; Högerjustera resultat, unipolärt ; kontinuerlig mode (scan), AD kanal MOVB ; upplösning MOVB #$A,ADCL5 #$E5,ADCL4 ; en konverteringssekvens MOVB #$4,ADCL3 Multiplex 8 kanaler. ; normal mode MOVB #$C,ADCL2 ; Vänta tills omvandling klar wad: BCL ADSA,#$8,wAD ; När resultat färdigt, läs LDAB ADDL Seriekommunikation, ik SCI Central Processing Unit Serial to parallel conversion eceive Data: xd Sändare Data buss Mottagare Data buss Parallel to serial conversion ransmit Data: xd Central Serial to parallel ransceiver ransceiver Processing Unit conversion eceive ransmit eceive ransmit Parallel to serial conversion Clock Control CS Data OE Shift Serial data out xd Serial data in xd Clock Control OE Data E Shift Serial transmission i Sändare och mottagares klockor går i samma takt 31 32
9 S232 överföring av tecknet t z tecknet z representeras av bitmönstret (ASCII-tecken). +1 volt volt - 1 volt S A B I idle idle z minst signifikanta bit först P A I Y B I S O P B I Initiering, i busy-wait Basadress = $C8 Serial Communication Interface (SCI) Algoritm: Offset Mnemonic Namn Baud ate 1. Initiera $ SB12 SB11 SB1 SB9 SB8 SCIBDH High BAUDAE Baud ate $1 SB7 SB SB5 SB4 SB3 SB2 SB1 SB SCIBDL Low $2 LOOPS SCISAI SC M AKE IL PE P SCIC1 Control 1 2. Aktivera $3 IE CIE IE ILIE E E U SBK SCIC2 ransmitter Control 2 eceiver DE C DF IDLE O NF FE PF $4 SCIS1 Status 1 AF $5 BK13 XDI SCIS2 Status 2 8 Data $ 8 SCIDH High $7 SCIDL Data Low SCIBD: EQU $C8 ; SCI baudrate-register t (1 bit). SCIC2: EQU $CB ; SCI styr-register 2. ; Bitdefinitioner, styrregister E: EQU $8 ; ransmitter enable. E: EQU $4 ; eceiver enable Skriv tecken via SCI Läs tecken från SCI Serial Communication Interface (SCI) Offset Mnemonic Namn Baud ate $ SB12 SB11 SB1 SB9 SB8 SCIBDH High Baud ate $1 SB7 SB SB5 SB4 SB3 SB2 SB1 SB SCIBDL Algoritm: Low DE = $2 LOOPS SCISAI SC M AKE IL PE P SCIC1 Control 1 (ransmit Data $3 IE CIE IE ILIE E E U SBK SCIC2 Control 2 DE C DF IDLE O NF FE PF Empty) $4 SCIS1 Status 1 AF $5 BK13 XDI SCIS2 Status 2 1. Om DE=1 8 SCIDL=tecken Data $ 8 SCIDH High $7 SCIDL Data Low Algoritm: DF = (eceive Data Full) 1. Om DF =1 tecken=scidl Serial Communication Interface (SCI) Offset Mnemonic Namn $ Baud ate SB12 SB11 SB1 SB9 SB8 SCIBDH High $1 Baud ate SB7 SB SB5 SB4 SB3 SB2 SB1 SB SCIBDL Low $2 LOOPS SCISAI SC M AKE IL PE P SCIC1 Control 1 $3 IE CIE IE ILIE E E U SBK SCIC2 Control 2 $4 DE C DF IDLE O NF FE PF SCIS1 Status 1 $5 AF BK13 XDI SCIS2 Status 2 $ 8 Data 8 SCIDH High $ SCIDL Data Low SCIS1: EQU $CC ; SCI status-register t t 1. SCIDL: EQU $CF ; SCI data-register låg byte. ; Bitdefinitioner, statusregister DE: EQU $8 ; ransmit data register empty status bit. SCIS1: EQU $CC ; SCI status-register t t 1. SCIDL: EQU $CF ; SCI data-register låg byte. ; Bitdefinitioner, statusregister DF: equ $2 ; eceive data register full status bit. 35 3
10 Bestämma Baudrate-värde äd PLLCLK B 1 baudrate , , PLLCLK baudrate 1 B , Eclock: EQU 8 ; 8 MHz ; Baudate register värden, baserad på PLL-klocka Baud9: EQU (Eclock/(1*9)), Programmet... ; enkelt testprogram OG $1 JS serial_init Loop: JS in ; "eka" tecken JS out BA loop ; OU tecken rutin ; Skriv tecken till SCI ; Inparameter, register B: tecken. out: BCL SCIS1,#DE,out ; vänta till DF=1 SAB SCIDL ; skicka k tecken... S ; IN tecken rutin ; Läs tecken från SCI ; eturnera i register B in: BCL SCIS1,#DF,in ; vänta till DF=1 LDAB SCIDL ; läs tecken S 37 38
Maskinorienterad Programmering 2011/2012. CPU12 Reference Guide Stencil: Assemblerprogrammering.pdf
Maskinorienterad Programmering 211/212 CPU12 eference Guide Stencil: Assemblerprogrammering.pdf Ur innehållet: äknarkretsar ( TMES ) Pulsbreddsmodulering ( PM ) Analog-/Digital- omvandling ( AD ) Seriekommunikation
Programmering av inbyggda system 2013/2014
Programmering av inbyggda system 2013/2014 CPU12 Reference Guide Stencil: Assemblerprogrammering.pdf Ur innehållet: Räknarkretsar ( TIMERS ) Pulsbreddsmodulering ( PM ) Analog-/Digital- omvandling ( AD
Programmering av inbyggda system. Seriekommunikation. Viktor Kämpe
Seriekommunikation Viktor Kämpe Sändare Data buss Mottagare Data buss CS OE Data egister OE Data egister E Clock Shift egister xd Serial data out Serial data in xd Clock Shift egister Sändare och mottagares
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
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
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
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
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
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
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
Adressrum, programmerarens bild
EDA 480 2009/2010 MC68HC12, Uppbyggnad.pdf Ur innehållet: Datorns byggblock Busskommunikation Synkron buss Asynkron buss Multiplex-buss avkodning för minne och I/O Minnesavbildad I/O Direktadresserad I/O
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
Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!)
Avbrottshantering Övningsuppgifter 2013 Lösningsförslag Uppgift 1-19 (eservation för diverse fel!) 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
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
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
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:
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
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
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
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
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
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
F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen
68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder
Ö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
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
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
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
Realtidsprogrammering. En introduktion Implementering (med exempel från PIC)
Realtidsprogrammering En introduktion Implementering (med exempel från PIC) Utan timing Periodtid varierar beroende på funktionernas exekveringstid. Specificera endast maxtid ( Worst case) och eventuellt
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
DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf
DAT 015 Maskinorienterad programmering 2010/2011 Uppbyggnad_och_funktion.pdf Ur innehållet: Bussystem, intern kommunikation i datorsystemet Adressavkodning, hur primärminne och I/O-enheter kan anslutas
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
GPIO - General Purpose Input Output
GPIO - General Purpose Input Output Ur innehållet: Digital IO Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Programmering av enkelt
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
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ö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,
Seriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets
Seriekommunikation Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets Läsanvisningar: Arbetsbok kapitel 7 Seriekommunikation 1 Parallell
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ösningsförslag till Tenta i Mikrodator
Lösningsförslag till Tenta i Mikrodator 050113 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
PNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation
PNSPO! 14 mars 2012 OMRON Corporation 2/19 Läs detta innan du bläddrar vidare PNSPO! Denna bok är avsedd som ett tillägg till de ursprungliga manualerna för OMRONs produkter. Använd den som en hjälp att
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
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
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
Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte
CT3760 Mikrodatorteknik Föreläsning 4 Tisdag 2005-09-06 Stacken I datasammmanhang är en stack ett minnesområde. Det är processorn som använder stacken. För att skapa en stack anger man en adress i stackpekarregistret.
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,
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)
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/
Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.
F5 Föreläsning i Mikrodatorteknink 2006-09-05 Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. Programräknaren
Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation
Microprocessor / Microcontroller Varför? Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887 In- och utgångar Pinnar på PIC16F887 Exempel: pinne
Tentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-08-18 Lokal TERE, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive
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
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
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
GPIO - General Purpose Input Output
GPIO - General Purpose Input Output Ur innehållet: Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Läsanvisningar: Arbetsbok avsnitt
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
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ö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
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
Övning2 Datorteknik, HH vt12 - Programmering
Övning2 Datorteknik, HH vt12 - Programmering För denna övning behöver man adresskarta och beskrivning av laborationsplattform. Finns bland föreläsningsanteckning samt i bilaga l till Lab l. Använd även
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)
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ö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
Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C
Namn: Laborationen godkänd: Tekniska gränssnitt 7,5 p Vt 2014 Laboration 5 LTH Ingenjörshögskolan vid Campus Helsingborg Temperaturmätning med analog givare. Syftet med laborationen är att studera analog
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
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).
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",
Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf
EDA 451 Digital och datorteknik 2010/2011 Uppbyggnad_och_funktion.pdf Ur innehållet: Bussystem, intern kommunikation i datorsystemet Adressavkodning, hur primärminne och I/O-enheter kan anslutas Olika
LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS)
LABORATION DATORKONSTRUKTION TSEA83 UART Version: 1.0 2013 (OS) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................
Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:
F: Minneselement Innehåll: - Latchar - Flip-Flops - egister - Läs- och skrivminne (andom-access Memory AM) - Läsminne (ead Only Memory OM) Ett minneselements egenskaper Generellt sett så kan följande operationer
Projektlaboration 4, synkronisering av klockan
Namn: Laborationen godkänd: Digitala system 15 p L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Datorprojekt, del 4 Projektlaboration 4, synkronisering av klockan Asynkron
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
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
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
Datorteknik. Föreläsning 3. Assembler, stack och subrutiner, programmeringskonventionen. Institutionen för elektro- och informationsteknologi, LTH
Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva
Institutionen för elektro- och informationsteknologi, LTH
Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva
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
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/
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
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/
Ö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
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.
Maskinorienterad programmering
Undantagshantering och interna avbrott ARM Cortex-M4 exceptions, programmering av undantagshantering Ur innehållet: Faults Software traps Avbrott från interna enheter, Systick Läsanvisningar: Arbetsbok
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
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
Digitalt eller Analogt
Digitalt eller Analogt digitalt: q 0 255 q 7 q 6 q 5 q 4 q 3 q 2 q 1 q 0 1 ½ ¼ 1/8 1/16 1/32 1/64 1/128 eller analogt? q Digital style Old school Digital Analogomvandlare? b 7 b 6 b 5 b 4 b 3 b 2 b 1 b
- Digitala ingångar och framförallt utgångar o elektrisk modell
Elektroteknik för MF1016. Föreläsning 8 Mikrokontrollern ansluts till omvärden. - Analoga ingångar, A/D-omvandlare o upplösningen och dess betydelse. o Potentiometer som gasreglage eller volymratt. o Förstärkning
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
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
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
Microprocessor / Microcontroller
Microprocessor / Microcontroller Varför? Industrial Electrical Engineering and Automation Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887
Digitalteknik EIT020. Lecture 15: Design av digitala kretsar
Digitalteknik EIT020 Lecture 15: Design av digitala kretsar November 3, 2014 Digitalteknikens kopplingar mot andra områden Mjukvara Hårdvara Datorteknik Kretskonstruktion Digitalteknik Elektronik Figure:,
Effektpedal för elgitarr
EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...
Tentamen PC-teknik 5 p
Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C
Systemkonstruktion SERIEKOMMUNIKATION
Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,
Grundläggande datavetenskap, 4p
Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register
Tentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-06-01 Lokal Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen
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
Adressavkodning - busskommunikation
Adressavkodning - busskommunikation Kompendie kapitel 10 Bussystem adressbuss databuss styrbuss Ur innehållet: Bussystem, intern kommunikation i datorsystemet Adressavkodning, hur primär och I/O-enheter
Digital Termometer J10 B4 A4 GND GND GND B1 GND GND GND GND B3 A3 +5V +5V A3 +5V A2 +5V +5V A2. +5v B16 A16 UREG UREG B1 6 AC AC A1 6 A6 6
Digital Termometer I den här uppgiften skall vi mäta temperaturen på ditt kaffe. Vi använder en termistor som temperaturkänslig givare och timerkretsen 555 som A/D omvandlare. Temperaturen presenterar