I DAG Fo 4. Programutveckling i assemblerspråk. Programutveckling i assembler. PROGRAMSTRUKTUR Modul Subrutiner USE-direktivet

Storlek: px
Starta visningen från sidan:

Download "I DAG Fo 4. Programutveckling i assemblerspråk. Programutveckling i assembler. PROGRAMSTRUKTUR Modul Subrutiner USE-direktivet"

Transkript

1 I DAG Fo 4 Programutveckling i aembler Programtrukturer (Foku på Lab 2/3) Dokumentation 2-paaemblatorn MOP fo 5 PRINTER EQU $0800 PSTATUS EQU $080 PCONTROL EQU $0802 EOT EQU 4 Vår Printerport PrintFil LDX #Text Loop LDAA,X+ CMPA #EOT BEQ Stop LoopForReady: BRCLR PSTATUS,#4,LoopForReady STAA PRINTER BSET PCONTROL,#2 Sätt DAV LoopNotReady: BRSET PSTATUS,#4,LoopNotReady Stop BCLR BRA RTS PCONTROL,#2 Loop Text: FCS "Hej Du Kalle!" FCB EOT (Vår drivrutin) Struct Printer { char Data; char Statu; char Control; } #define EOT 4 PrintFil (&Text){ char tecken; while () { tecken = *Text++; if tecken == EOT return; while (Printer.Statu & 4 == 0); } } Printer.Data = tecken; Printer.Control = 2; while (Printer.Statu & 4!=0); Printer.Control = 0; 2 Programutveckling i aemblerpråk Varför programmera i ett makinorienterat pråk? ingen kompilator alla uppgifter kan inte löa i högnivåpråk tidkritika uppgifter MOP fo 5 3 DOKUMENTATION Innre Yttre PROGRAMSTRUKTUR Modul Subrutiner USE-direktivet MOP fo 5 4

2 Programmeringprojekt Avn 3 Start Programmeringprojekt init. Räknare om håller reda på tiden 2. Huvudprogram 3. Rutin om viar tiden 4. Hur lagra tiden, format? 5. Rutin om ändrar (ökar) tiden 6. Rutin om läer av tangentbordet 7. Koda tangentnumren (Start, top, nolltäll klockan) 8. Rutin om tartar klockan 9. Rutin om tannar klockan 0. Rutin om nolltäller klockan. mm MOP fo 5 5 Diplay IncClock CheckKbd tangent? Ja? Nej 2? Nej 3? Nej Nej Ja Ja Ja Ingen tangent nedtryckt Starta klockan StartClock Stanna klockan StopClock Nolltäll klockan ReetClock Start Adre Data Kommentar Clock $02 Timmar $05 Tio minuter $0 Minuter $03 Tio ekunder $07 Sekunder $04 Tiondelar Stopp MOP fo 5 6 STRUKTUR: Programtruktur (Foku Main x). Inkludera definitionfil 2. Initiera ytemet 3. Huvudprogram 4. Subrutinen COMMAND 5. Inkludera fil (filer) med ytterligare ubrutiner. 6. Plat för variabler MOP fo 5 7 * Definitioner USE IODEFS.S2 ORG Start Initiera mikrodatorytem --- Initiera borrimulator ************************************ * Huvudprogram * Invänta vald operation Loop: JSR KEYB 3 NOP * Utför vald operation JSR COMMAND BRA Loop ************************************ 4 COMMAND--- Här följer rutinen COMMAND och hopptabell och Dummyubrutiner 5 USE KeyML5.S2 Lägg till KEYB * Placera alla variabler här 6 DCCopy RMB Kopia av tyrord START Init KEYB COMMAND MOP fo 5 8 2

3 Användning av USE-direktivet * Filen IODEFS.2 DSInput EQU $600 Dip Switch Input DCtrl EQU $000 Drill Control Output DStatu EQU $00 Drill Stau Input Ny_IO EQU xxxx Flera In o Ut-portar * Filen DTEST.2 USE IODEFS.2 ORG $2000 loop ldaa DSInput Lä trömbrytarna taa DCtrl Skriv till borrmakinen ldaa DStatu Lä taturegitretnop BRA Loop MOP fo 5 9 S 49 YTTRE Dokumentation ************************************************** *SUBRUTIN COMMAND *Bekrivning: Rutinen avgör vilken *kommandoubrutin om kall anropa och anropar *denna. *Anrop: JSR COMMAND *Indata: Kommandonummer [0,7] i reg A *Utdata: Inga *Reg-påverkan: Ingen *Anrop ubr: SUB0 - SUB7 ************************************************** MOP fo 5 0 MAX EQU 7 COMMAND PSHA PSHX COMEX para reg på tacken CMPA #MAX giltigt kommando / indata? BHI COMEX hoppa om högre LDX #JUMPTAB hopptabellen baadre ASLA offet är 2 byte per adre LDX A,X hämta ubrutinen tartadre JSR,X utför ubrutin PULX PULA RTS ********************************** * Tabell med ubrutinadreer JUMPTAB FDB SUB0,SUB,SUB2,SUB3,SUB4,SUB5,SUB6,SUB7 * INNRE Dokumentation S 57 DELAY PSHA PSHX TSTA Är fördröjningvärde noll? BEQ DExit ALOOP LDX #Kont cykler = 0,25μ * Snurra om tar 0 klockcykler XLOOP LEAX -,X 2 cykler NOP cykel CPX #0 2 cykler BNE XLOOP 3 cykler Max ant varv: X=FFFF DECA BNE ALOOP FFFF varv 0,082 Ytterligare fördröjning? DExit INNRE Dokumentation PULX PULA RTS S

4 YTTRE Dokumentation ********************************************* * *SUBRUTIN DELAY * Bekrivning: Skapar en fördröjning om * ANTAL x 500 m. * Anrop: LDA #6 Fördröj 6*500m = 3 * JSR DELAY * Indata: Antal intervall,om 500 m i A * * Utdata: Inga * Regiter-påverkan:Ingen * Anropad ubrutin: Ingen. Max 0, /82 6 ggr Indata * 6 ********************************************* * MOP fo 5 3 S 55 START RefPo Borra Vrid3S Borra VridS Larm STOP Kopia av tyrordet S 53 * Ge Styrord till borrmakinen LDAA #StyrOrd STAA DCtrl DCCopy RMB Drill Control Copy LDAA DCCopy Lä kopian av tyrordet ANDA #Bitmönter Nolla en tyrbit STAA DCtrl Ge nytt tyrord STAA DCCopy Spara nya kopian MOP fo0 4 2-pa aemblatorn Aemblatorn fyra uppgifter källprogram i aemblerpråk Aemblator objektprogram i makinpråk Punkt. överätta de mnemonika intruktionbeteckningarna till makinkod. Punkt 2. arbeta med ymbolika beteckningar för adreer och datavärden. överätta ymbolika beteckningar till ina rätta värden. Pa : Skapa Symboltabell Pa 2: Lägg ut kod Punkt 3. beräkna via matematika uttryck Punkt 4. Generera litfil och laddfil MOP fo 5 5 MOP fo 5 6 4

5 Punkt. Överätta de mnemonika intruktionbeteckningarna till makinkod. Punkt 2. Arbeta med ymbolika beteckningar (namn) LDAA $C080 ANDA #%0000 LDAB $C08 STD $C082 JSR $CA00 *ubrutin om ger m fördröjning JMP $C000 *programavnittet börjar på adre C000H...i tället för: 86 C0 80 (LDAA varar mot 86) 84 0F (ANDA # varar mot 84) F6 C0 8 (LDAB varar mot F6) 7C C0 82 (STD varar mot 7C) 6 CA 00 (JSR varar mot 6) LOC LDAA ALFA ANDA #CONST LDAB ALFA2 STD ACOMB JSR DELAYm ubrutin om ger m fördröjning JMP LOC...i tället för: LDAA $C080 ANDA #%0000 LDAB $C08 STD $C082 JSR $CA00 ubrutin om ger m fördröjning 06 C0 00 (JMP varar MOP mot fo 06) 5 7 MOP fo 5 8 JMP $C000 programavnittet börjar på adre C000H Punkt 3. Beräkna aritmetika uttryck LOC LDAA ALFA ANDA #CONST LDAB ALfA+ STD ALfA+2*CONST JSR DELAYm JMP LOC 2-pa aemblatorn arbetätt ORG $ B SNURRA LDAA ALFA SUBA # A STAA ALFA F6 5. BNE SNURRA A 86 FF 6. LDAA #ETTOR C 7A STAA BETA F 06 E JMP MSTART ALFA FCB BETA RMB 0 00FF. ETTOR EQU $FF E MSTART EQU $E200 2 Pa : Skapa ymboltabell Exempel MOP fo 5 9 MOP fo

6 Start info Ant byte Startadre för följande kod Kontrollumma Symboltabell: 2-pa aemblatorn arbetätt Namn Värde SNURRA $2000 ALFA $202 BETA $203 ETTOR $00FF MSTART $E200 Pa 2: Lägg ut kod MOP fo 5 2 Kod 2-pa aemblatorn arbetätt Adre Kod 2000 B6 SNURRA LDAA ALFA SUBA # A STAA ALFA BNE SNURRA 2009 F6 200A 86 LDAA #ETTOR 200B FF 200C 7A STAA BETA 200D E 3 200F 06 JMP MSTART 200 E ALFA FCB BETA RMB MOP fo 5 22 Generera litfil Punkt 4. Generera laddfil Punkt ORG $ B SNURRA LDAA ALFA SUBA # A STAA ALFA F6 5. BNE SNURRA 00200A 86 FF 6. LDAA #ETTOR 00200C 7A STAA BETA 00200F 06 E JMP MSTART ALFA FCB BETA RMB 00FF. ETTOR EQU $FF E MSTART EQU $E200 S72000B A20226F686FF7A20306E S903204C8 Makinkod och data Adre Kont Kod Rad Källkod MOP fo 5 23 MOP fo

7 Aemblerdirektiv Exempel Förklaring ORG $00 Put the next and following byte beginning in location $00. L RMB 0 Make the label L have the value of the current location; increment the location counter by 0 0. L2 EQU $0 Make the ymbol L2 have the value 0 6. L3 FCB $20,$34 Make the ymbol L3 have the value of the current location; initialize the current location to the value 20 6 and the next location to L4 FDB $234 Make the ymbol L4 have the value of the current location; initialize thi location to 2 6 and the next location to Rep Kontruktion av en Printer-Port AVBROTT!!! Avbrottrutin Avbrottvektor I-flagga Avbrottvippa Avbrottdriven Printerport I dag eller Näta gång Övriga avbrott I DAG fo 5 L5 FCS "ABC" Make the ymbol L5 have the value of the current location; initialize the word at thi location to the ASCII letter "A", the next location MOP to the fo 5ASCII letter "B", and the next to "C 25 MOP fo 3 26 PrinterV3_0 Init Lä näta tecken J Tecken= EOT? N Lä Statu N READY=? J Överför Data till Skrivaren Sätt DAV Printerport v3 med READY o DAV Datorytem READY READY DAV Skrivar bu Skrivare 28 Hur bra blev det egentligen???? * HUVUDPROGRAM... Olika initieringar... Loop... Annat arbete om... proceorn utför... jr Print Skriv ut en fil... bra Loop Verkligt "arbete" Skriv en fil 30 Lä Statu READY=0? J Nolltäll DAV Stop N DAV Skrivar Bu Giltig bu Buen innehåller ej giltigt värde MOP fo 3 27 t DAV Proceorn väntar på DAV kall gå hög m m 28 7

8 Pågår utkrift? Är krivaren Redo? Skriv näta tecken Nej Nej * HUVUDPROGRAM... Olika initieringar Loop Annat arbete om... proceorn utför tt PFlag Pågår utkriftrutin? beq NoPrint.. hoppa om NEJ brclr NoPrint... BRA PStatu,#Ready,NoPrint Lä Statu jr Printchar Skriv ut ett tecken Loop Pflag rmb Flagga:Pågår utkrift? MOP fo 3 29 Avbrottignal Poll MC2- ytem READY DAV Inför Avbrott Skrivarbu Huvudprogram Avbrott- Rutin om kriver ut ett tecken Skrivare Adr: TextP A H Pekare till A L näta tecken Text H e j MOP fo 2 30 D u ASCIIkoder K för texta träng l l e! EOT Slutmarkeing Avbrott fort. Hur jobbar proceorn? S3 Avbrott - fort Reetignal RESET FETCH EXECUTE HITILLS: Programmeraren (DU) betämmer när: JSR Printchar Skriv ett tecken Aktiv? Ja Avbrottignal Huvudprogram VID AVBROTT: Skrivaren betämmer när: Printchar Skriv ett tecken Nej Hämta Intruktion Utför Intruktion Utför Avbrottrutin Avbrottrutin VAD KRÄVS? para undan in PC tarta en rutin om kriver ut ett tecken till krivaren för att edan återtarta huvudprogrammet MOP fo 3 3 MOP fo

9 Avbrott fort. VAD KRÄVS?. para undan in PC 2. tarta en rutin om kriver ut ett tecken till krivaren för att 3. edan återtarta huvudprogrammet S Avbrott fort. VAD KRÄVS?. para undan in PC 2. tarta en rutin om kriver ut ett tecken till krivaren för att 3. edan återtarta huvudprogrammet S ) Spara undan itt PC (jfr JSR SubRut) 2) tarta upp en rutin om kriver ut ett tecken till krivaren (Startadre??) PC (high) PC (low) S i ubrutinen S före ubrutinanropet PC (high) PC (low) S i avbrottrutinen S före Avbrottignalen OP PC (high) PC (low) Adre $FFF2 $FFF3 Minnet Startadre för avbrottrutin MOP fo Avbrott fort. VAD KRÄVS?. para undan in PC 2. tarta en rutin om kriver ut ett tecken till krivaren för att 3. edan återtarta huvudprogrammet RTS PC (high) PC (low) S i ubrutinen S före ubrutinanropet 3) edan återtarta huvudprogrammet RTI PC (high) PC (low) S före avbrott S Avbrottrutin Avbrottignal Avbrott fort. Via problem. S i avbrottrutinen Huvudprogram CLRA RTI --- ldaa BankSaldo adda Löneinättning taa BankSaldo CMPB BHI --- Variabel Larger MOP fo 3 35 MOP fo

10 Avbrottrutin Avbrottignal Avbrott fort. Via problem. S 3 Huvudprogram RTI Adre 0 Adre Max CC B A X (high) X (low) Y (high) Y (low) PC (high) PC (low) S i avbrottrutinen S efter före avbrott MOP fo 3 37 Vi ummerar händeleförloppet vid ett avbrott. ) Huvudprogrammet kör 2) Hopp till avbrottrutin Save tatu Hämta avbrottvektor 3) Starta o kör avbrottrutin 4) Återhopp till huvudprogram 5) Retore tatu 6) Huvudprogrammet fortätter Avbrott fort. Avbrott Huvudprogram Avbrottrutin MOP fo S Betjäna avbrottet 4 RTI Avbrott Aktiv? Hämta Intruktion Utför Intruktion Huvudprogram Nej Ja Avbrottrutin 3 Utför Avbrottrutin Betjäna avbrottet 4 RTI Proceor Avbrott fort. Flera problem. Datorytem Avbrott (Redo) Här är data S32 Yttre enhet MOP fo 3 39 Avbrott fort.. FETCH EXECUTE Nej I-flagga = 0? Aktiv? Ja Nej Hämta Intruktion Utför Intruktion Ja MOP fo 3 40 S Utför Avbrottrutin 0

11 Avbrott fort.. Bild av tacken före, under o efter avbrott Adr 0 Adr max Proceorn Statu regiter TOS Före avbrottet Befintligt tackinnehåll Mak =Enable TOS Under avbrottet Efter avbrottet =Enable (CC) Statu och åter - hoppadre för avbrottrutin Befintligt tackinnehåll Mak =Off TOS Befintligt tackinnehåll Mak =Enable S Huvudprogram Avbrott Avbrottrutin 3 4 RTI Huvud Progr Initiera för avbrott Öka Var Via Var Via Var2 Avbrottrutin Öka Var2 RTI Avbrott Upg 42 S 32 GÖR UPG 42 och tudera: Händeleförloppet när ni Kör Run Slow och Step Stacken generellt Återhoppadre I-flaggan i CC-reg och på tack Statuindikatorer i imulatorn MOP fo 3 4 MOP fo 3 42 Avbrott inför Avbrottvippa S33 Huvud Prog Avbrott Upg S33 Tryckknapp Pul vid nedtryckning av tryckknapp Proceor Initiera för avbrott "" D Q Öka Var R C Q Via Var Via Var2 A 5 A 4 A 3 A 2 A A 0 R/W & Write addre Pul då proceorn kriver Kvittera avbrott vid STAA IrqVippa MOP fo 3 43 Avbrottrutin Öka Var2 RTI LDAA $DC0 Lä tatu STAA $DC2 Nolla vippa STAA $DC3 Nolla vippa 2 MOP fo 3 44

12 Avbrott - Sammanfattning Begrepp: Avbrottingång på proceorn (Interrupt) I-flagga i CC-regitret (Makera avbrott, brandvägg) Avbrottvektor Save Statu Avbrottrutin Återhopp från avbrottrutin Retore Statu Avbrottvippa Kvittera avbrott (Startadre för avbrottrutin) (Placera alla reg på tacken) ( ubrutin avlutad med RTI) (RTI) (Återhämta alla reg från tack) (Nolltälla avbrottvippa) MOP fo 3 45 Avbrott - Sammanfattning. OM I-flaggan=0: Proceorn känner att är aktiverad och lutför utförandet av pågående intruktion. 2. Proceorn parar huvudprogrammet återhoppadre och övriga regiterinnehåll på tacken, ave tatu. Därefter läer proceorn tartadreen för avbrottrutinen från -vektorn (från adre $FFF2 och $FFF3). Denna tartadre placera i PC. I-flaggan ETT-täll 2 3. Avbrottrutinen tarta (med I-flaggan=). Kvittera avbrott Avbrottrutinen avluta med intruktionen RTI om får proceorn att utföra retore tatu, 6 dv regiterinnehållen återtäll från tacken (med gamla I=0). 5. Återhopp till huvudprogram. 6. Därmed återtarta huvudprogrammet där det blev avbrutet MOP fo Huvudprogram Avbrott - PrinterPort S 34 Avbrottdriven Printerport Avbrottignal Avbrottrutin om kriver ut ett tecken Adr: TextP A H Pekare till A L näta tecken Text H e j Adre avkodning "" D C R Q Q READY MC2- ytem READY DAV Skrivarbu Skrivare D u ASCIIkoder K för texta träng l l e! EOT Slutmarkeing A A 0 R/W MC2- ytem READY DAV Skrivarbu Skrivare MOP fo 3 47 MOP fo

13 CS_Printer A A 0 R/W Proceorn databu Anlutning mot proceorn Avbrottdriven Printerport v5.0 Adre avkodning CS_Ctrl CP b 0 Regier () C "" D R C Q Q CS_Stat CS_Pri CP b Regier (8) C READY Skrivarbu DAV MOP fo 3 49 Printer Interface Anlutning mot krivaren Avbrottdriven Printerport * Initiering tart CLR count CLR TextP * Initiera avbrottvektor LDX #IrqRut STX $FFF2 CLI * Sätt om avbrottmaken * HUVUDPROGRAM - Simulera 'nyttigt arbete' Loop LDAB count ADDB # STAB count STAB OutPort NOP NOP BRA Loop S 35 MOP fo 3 50 Avbrottdriven Printerport * Avbrottrutin IrqRut LDX #Text Pekare LDAB TextP Räknare ABX (X+B->X) LDAA,X CMPA #EOT BEQ Stop Stop ADDB # Öka räknare STAB TextP STAA PRINTER LDAA #2 STAA PCONTROL ätt DAV CLR PCONTROL nolltäll DAV RTI Text FCS "Hej Du Kalle!" FCB EOT count RMB räknarvariabel MOP fo 3 5 S 35 CS_Printer A A 0 R/W Proceorn databu Anlutning mot proceorn Avbrottdriven Printerport v Adre avkodning CS_Ctrl CP b b 0 Regier () C "" D R C CS_Stat CS_Pri CP Q Q > b 2 Regier (8) C READY Skrivarbu DAV Anlutning mot krivaren MOP fo

14 I DAG fo 6 Mera avbrott Avbrott - En enhet Olika typer av avbrott Flera avbrottingångar Vektoravbrott Mjukvaruavbrott DMA Proceor adrebu I/O-interface Adre $Q $Q+ Minnet Startadre för avbrottrutin databu MOP fo 4 53 MOP fo 4 54 Avbrott - Fler enheter Avbrott - Fler enheter -Avbrotthanterare Adre $Q Minnet Startadre för Avbrottignal $Q+ avbrottrutin Källa Adre $Q Källa 2 Källa Minnet Startadre för & Proceor avbrottingång, aktiv låg CPU Grännitt A mot eriell anlutning Proceorn Grännitt B mot parallell anlutning buar Grännitt C mot A/D anlutning Minne Avbrott hanterare från A? Nej från B? Nej Betjäna enhet C Ja Ja Avbrott rutin C Avbrott rutin A Betjäna enhet A Avbrott rutin B Betjäna enhet B $Q+ avbrottrutin MOP fo 4 55 RTE MOP fo

15 INTA In S Out YE Vektor nr In Databu Vektor- Avbrott S Out YE2 Vektor nr In S Out YE3 Vektor nr Vektor nr 0 (Adre i) Vektor nr (Adre i+p) Vektor nr max (Adre i+max) Avbrott Startadre för avbrottrutin 0 Startadre för avbrottrutin Startadre för avbrottrutin max MOP fo 4 57 VektorAvbrott Proceor INTA 4 7 PC Yttre enhet Minne Adre 2 INTA Startadre för Vektor Reg avbrottrutin p Vektor q Startadre för (Vektor q) 6 avbrottrutin q Databu 3 Startadre för avbrottrutin r 5 Adrebu MOP fo 4 58 Avbrott Flera Avbrottingångar Olika prioriteter 3 2 CPU Avbrottignaler Proceorn Adre X Adre Y Adre Z buar Seriell Parallell Analog anlutning anlutning anlutning A B C Startadre för avbrottrutin Startadre för avbrottrutin 2 2 Startadre för avbrottrutin 3 3 Minne MOP fo CPU Huvudprogram 6 Avbrottignaler Avbrottrutin för Avbrottrutin för 2 Avbrottrutin för RT E Proceorn RT E buar Seriell Parallell Analog anlutning anlutning anlutning A B C 4 Minne Avbrott Adr 0 Statu och återhoppadre för avbrottrutin 2 Statu och återhoppadre för avbrottrutin Statu och återhoppadre för huvudprogrammet RT E Adr max MOP fo

16 Avbrott Interna ignaler för detekterig av olika feltilltånd Externa avbrottignaler Avbrott med HC2 STYRENHET Intruktion Regiter Statu Regiter Avbrottlogik Styrbu RESET 0 avbrotthantering för RESET Adre i i+ Minnet Startadre för avbrottrutin Datadel D0..D7 ALU DATAVÄG Adredel A0..A7 och PC Adrebu X 0 I avbrotthantering för X avbrotthantering för i+2 i+3 i+4 i+5 Startadre för avbrottrutin Startadre för avbrottrutin Databu 0 MOP Proceorn fo 4 externa buar 6 etc MOP fo 4 62 Avbrott med HC2 S Avbrott med 6809 Adre (hex) FFFE FFFC FFFA FFF8 FFF6 FFF4 FFF2 FF00-FFF0 Funktion RESET, Startvektor Clock Monitor Fail, (ej impl i imulator) COP Watchdog Timeout, (ej impl i imulator) Illegal Op Code (ej impl i imulator) SWI X Enhetpecifika vektorer, kiljer ig något beroende på de olika varianterna Se Appendix D MOP fo 4 63 RESET(Reet) (Interrupt Requet) F (Fat Interrupt Requet) NMI (Non Makable Interrupt Requet) HALT (Halt) VSS 40 HALT NMI 2 39 XTAL 3 38 EXTAL F 4 37 RESET BS 5 36 MRDY BA 6 35 Q VCC 7 34 E A DMA/BREQ A 9 32 R/W A2 0 3 D0 MOP fo

17 NMI 0 Avbrott med MC6809 Minnet avbrotthantering för NMI Adre i Startadre för i+ avbrottrutin Avbrott MC68000 Exception Interna Bu Error RESET Avbrott TRAP F F 0 I avbrotthantering för F avbrotthantering för i+2 i+3 i+4 i+5 Startadre för avbrottrutin Startadre för avbrottrutin Feltilltånd Vektor avbrott Autovektor avbrott 0 Programmerade / externa händeler MOP fo 4 65 MOP fo 4 66 Avbrott MC68000 Vektor nr Adre $0 High Word Stackpekare Low Word 2 $4 $8 High Word Low Word High Word Low Word Reetvektor Bu Error Avbrott MC68000 Externa avbrottingångar i ytemet yttre enheter 5 $4 High Word Low Word Diviion med noll NORMAL EXCEPT ION RESET HALTED 25 $64 High Word Low Word High Word Low Word 64 $00 High Word Low Word High Word Low Word Autovektor Avbrottnivå Autovektor Avbrottnivå 2 Vektoravbrott vektor 0 Vektoravbrott vektor IPL2 IPL IPL0 Avbrott nivå Ingen avbrottbegäran 255 $3fc High Word Vektoravbrott vektor 9 MOP fo 4 Low Word 67 MOP fo

18 VID AVBROTT: Skrivaren betämmer när: Printchar SWI - Software Interrupt Skriv ett tecken DMA Direct Memory Acce Proceorn är BUS MASTER Adr Bu Proceor Datorytem Avbrott (Redo) Här är data Yttre enhet CPU2 DMAenhet ExVi DISK Minne VID Software Interrupt: Programmeraren (DU) betämmer med intruktionen SWI när rutinen Printchar kall anropa MOP fo 4 69 R/W Data Bu MOP fo 4 70 DMA Direct Memory Acce DMA:n är BUS MASTER I DAG fo 7 Adr Bu CPU2 DMAenhet ExVi DISK R/W Minne Parameteröverföring I regiter Global Variabel Via Stack Aktiveringpot / Rampekare Procebyte Data Bu MOP fo 4 7 MOP fo

19 SubRutin SubRutin Huvud Prog Huvud Prog SubRutin Huvud Prog INDATA Parameteröverföring SUBRUTIN om utför någon uppgift UTDATA Parameteröverföring kan ke på tre olika ätt: i regiter i globala variabler via tacken Div2 Parameteröverföring via regiter LDD AdrP P H A och P L B JSR Div2 STD AdrP PSH ASRA RORB PUL RTS Skifta P H Rotera P L S före ubrut MOP fo 7 73 MOP fo 7 74 Parameteröverföring via global variabel LDX AdrQ Q P STX AdrP JSR Div2 LDX AdrP P Q STX AdrQ Parameteröverföring via tacken LDX AdrP P X PSHX JSR Div2 PULX STX AdrP X P Div2 PSHD Spara regiter LDD AdrP Hämta Inparamertar Div2 PSHD LDAA 4,SP Hämta Inparamertar High Byte LDAB 5,SP Hämta Inparamertar Low Byte ASRA RORB Skifta D H Rotera D L STD AdrP Lämna utparamertar PULD Hämta tillbaka RTS S före ubrut MOP fo 7 75 ASRA RORB Skifta D H Rotera D L STD 4,SP Lämna utparamertar PULD RTS S före ubrut MOP fo

20 SubRutin SubRutin Huvud Prog Huvud Prog SubRutin SubRutin Huvud Prog Huvud Prog Parameteröverföring via tacken LDX AdrP P X PSHX JSR Div2 PULX STX AdrP X P Parameteröverföring med pekare (här överförd i regiter) LDX #AdrP Adreen till P JSR Div2 InPar EQU 4 UtPar EQU 4 Div2 PSHD LDD InPar,SP Hämta Inparamertar ASRA RORB Skifta D H Rotera D L STD UtPar,SP Lämna utparamertar PULD RTS S före ubrut MOP fo 7 77 Div2 PSHD LDD,X Hämta Inparamertar ASRA RORB Skifta D H Rotera D L STD,X Lämna utparamertar PULD RTS S före ubrut MOP fo 7 78 Div2 Parameteröverföring med pekare (här överförd via tack) LDD #AdrP Adreen till P PSHD JSR Div2 LEAS 2,SP Städa Stack PSHD LDD [4,SP] Hämta Inparamertar ASRA RORB Skifta D H Rotera D L STD [4,SP] Lämna utparamertar PULD RTS S före ubrut MOP fo 7 79 Parameteröverföring med pekare (här överförd i regiter) LDX #AdrP Adreen till P JSR Div2 Div2 ASR,X Skifta P H ROR,X Skifta P L RTS Adr P P H P L MOP fo 7 80 Variabel om kall dividera med 2 20

21 Funktioner parametrar och returvärden. Funktioner parametrar och returvärden. MOP fo 7 8 MOP fo 7 82 Variabler i en ubrutin Åtkomt av variabler Minnereitenta variabler (var rmb?? Def variabel i minnet) Dynamika variabler - på tacken ( lea -n,p Skapa plat på tacken) Aktiveringpot Rampekare Par equ??? Def of på tack Par2 equ??? Def of på tack LokV equ??? Def of på tack LokV2 equ??? Def of på tack Kont equ??? Def kont En typik ubrutin SubRut lea n,p Skapa plat för lokala variabler pha/b/x Spara undan nödvändiga regiter ldx Par,p Hämta inparametrar ldaa Par2,p clr LokV,p Initiera Lokala Variabler movw #Kont,LokV2,p --- LÖS UPPGIFTEN --- MOP fo 7 83 td Par,p Lämna utparametrar pula/b/x Återhämta regiter lea n,p Återtäll tacken rt MOP fo

22 Par equ??? Def of på tack Par2 equ??? etc En typik ubrutin med Rampekare SubRut phy Spara förra rampekare tfr p,y Sätt ny rampekare lea n,p Skapa plat för lokala variabler pha/b/x Spara undan nödvändiga regiter ldaa Par2,y ldx Par,y Hämta inparametrar clr LokV,y Initiera Lokala Variabler movw #Kont,LokV2,y LÖS UPPGIFTEN td Par,y Lämna utparametrar pula/b/x Återhämta regiter tfr y,p Återtäll tacken puly Hämta gamla rampekaren rt MOP fo 7 85 Stack för ubrutin med Rampekare Par equ 4 Def of In/Utparameter 6-bit Par2 equ 6 Def of Inparameter 8-bit LokV equ -3 Def of Lokal Var 8-bit LokV2 equ -2 Def of Lok Var 6-bit Rampekare för SubRut Aktiveringpot för SubRut Aktiveringpot för den rutin om anropade SubRut Reg S Reg Y -3,Y -2,Y -,Y,Y 2,Y 3,Y 4,Y 5,Y 6,Y A B X H X L LokV LokV2 H LokV2 L Y H Y L PC H PC L Par H Par L Par2 Sparade reg (PSH) Lokala Variabler (LEAS) Förra Rampekare (TFR S,Y) PC In/Utparametrar Till/från SubRut Y H MOP fo 7 Y L 86 Procebyte PROC 4 PROC 3 PROC 2 PROC INIT SWITCH T=0 En proceor flera program kör i turordning (peudoparallellt) En avbrottrutin (SWITCH) om växlar proce 2,5 m 2,5m 2,5m μ μ μ RUNNING RUNNING READY READY READY RUNNING RTI RTI RTI t MOP fo 7 87 Procebyte En proceor flera program kör i turordning (peudoparallellt) HDW krav: En avbrottkälla om ger regelbundna avbrott (Ex Timer) SW krav: Pulgenerator 400 Hz En avbrottrutin (SWITCH) om växlar proce CS vid krivning D C R Q' Adre $2000 $200 $2200 $2300 $2400 $2500 Init Variabler Kod P Data o tack P Kod P2 Data o Stack P2 Kod P3 Data o Stack P3 Kod P4 Data o Stack P4 Proce Proce 2 Proce 3 Proce 4 Ledigt Till proceorn $FFFF MOP fo

23 Adre $2000 $200 $2200 $2300 $2400 $2500 Init Variabler Kod P Data o tack P Kod P2 Data o Stack P2 Kod P3 Data o Stack P3 Kod P4 Data o Stack P4 Procebyte Proce Proce 2 Proce 3 Proce 4 Adre Proctab ProcNR P AH P AL P2 AH P2 AL P3 AH P3 AL P4 AH P4 AL [0,3] Stackpekare Proce Stackpekare Proce 2 Stackpekare Proce 3 Stackpekare Proce 4 Procenummer om kör NU Adre $2000 $200 $2200 $2300 $2400 $2500 Init Variabler Kod P Data o tack P Kod P2 Data o Stack P2 Kod P3 Data o Stack P3 Kod P4 Data o Stack P4 Procebyte Proce Proce 2 Proce 3 Proce 4 Adre SPProc SPProc2 SPProc3 SPProc4 ProcNR P AH P AL P2 AH P2 AL P3 AH P3 AL P4 AH P4 AL [0,3] Stackpekare Proce Stackpekare Proce 2 Stackpekare Proce 3 Stackpekare Proce 4 Procenummer om kör NU Ledigt Ledigt $FFFF MOP fo 7 89 $FFFF MOP fo 7 90 Adre $2000 Init Stack Proce Adre $2000 Init Stack Proce 3 $200 $2200 $2300 $2400 $2500 Variabler Kod P Data o tack P Kod P2 Data o Stack P2 Kod P3 Data o Stack P3 Kod P4 Data o Stack P4 Ledigt $2F7 $2200 C B A X H X L Y H Y L PC H PC L 0,X,X 2,X 3,X 5,X 7,X REG X $200 $2200 $2300 $2400 $2500 Variabler Main Data o tack P Main2 Data o Stack P2 Main3 Data o Stack P3 Main4 Data o Stack P4 Ledigt $23F7 $2400 C B A X H X L Y H Y L PC H PC L %000000???????????? Adr Main3 $FFFF MOP fo 7 9 $FFFF MOP fo

24 Lab 3 2 proceer Borr o Diplay Adr FFFF HC2 Reg IO-Portar INIT SWITCH BORR Dataarea B DISPLAY Dataarea D Ledigt RWM ROM (DBG2 Monitor) Avbrott -ignal BORR BORR SWITCH SWITCH DISPLAY DISPLA Y MOP fo 7 93 Avbrott -ignal Lab 3 2 proceer avbrottkälla BORR DISPLAY SWITCH Huvudprogram Avbrottrutin Avbrottignal Pulgenerator 400 Hz CS vid krivning D 2,5 m 2,5m 2,5m RTI C R MOP fo 7 94 Q' Till proceorn Adr Lab proceer 2 Stackar Stackpekare INIT CC B A X H X L Y H Y L PC H PC L FFFF HC2 Reg IO-Portar SWITCH BORR Dataarea B DISPLAY Dataarea D Ledigt RWM ROM (DBG2 Monitor) Reg S CC B A X H X L Y H Y L PC H PC L Lab 3 RTI- förta gången INIT BORR DISPLAY SWITCH t=0 2,5 m CC om DISPLAY läer in måte ha in I-flagga nolltälld för att kunna bli avbrutet av ett interrupt Återhoppadreen måte vara DISPLAY tartadre $???? BOS CC B A X H X L Y H Y L PC H PC L (Den ena tackpekaren) StackPek rmb 2 (Den andra tackpekaren) MOP fo 7 95 MOP fo

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

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

Avbrott - En enhet. I DAG fo 6 Mera avbrott. Avbrott - Fler enheter. Olika typer av avbrott DMA. Avbrott - Fler enheter -Avbrottshanterare

Avbrott - En enhet. I DAG fo 6 Mera avbrott. Avbrott - Fler enheter. Olika typer av avbrott DMA. Avbrott - Fler enheter -Avbrottshanterare I DAG fo 6 Mera avbrott Olika typer av avbrott Flera avbrottsingångar Vektoravbrott Mjukvaruavbrott DMA Avbrott - En enhet adressbuss Processor I/O-interface Adress $Q $Q+ Minnet avbrottsrutin databuss

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

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

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

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

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

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

Programmering av inbyggda system

Programmering av inbyggda system Programmering av inbyggda system Genomgång inför laborationer 1-3: Programutveckling i assembler Genomgång inför laborationer 1-3/RoJ 1 Laborationsmoment 2 - En Borrautomat Tangentbord för borrkommando

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

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

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

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

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

Genomgång av laborationer. New disc: Här väljer du olika arbetsstycken. Control -sektion: Styrord till borrmaskinen

Genomgång av laborationer. New disc: Här väljer du olika arbetsstycken. Control -sektion: Styrord till borrmaskinen Maskinorienterad Programmering 212/213 Laborationsmoment 2 - En Borrautomat : Programutveckling i assembler Tangentbord för borrkommando Operatör Mikrodator Anpassningselektronik Borrmaskin Arbetsbok för

Läs mer

VELKOMMEN!!!! SYFTE o MÅL. till EDA485/DIT151. Maskinorienterad Programmering. Kurslitteratur. önskar Jan o Rolf

VELKOMMEN!!!! SYFTE o MÅL. till EDA485/DIT151. Maskinorienterad Programmering. Kurslitteratur. önskar Jan o Rolf VELKOMMEN!!!! till EDA485/DIT151 Maskinorienterad Programmering önskar Jan o Rolf MOP OH LV1A 1 YFTE o MÅL Programmera i språk som ligger nära processorn (maskinen) Ge en helhetsbild av hur vi har nytta

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

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

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

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

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. 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

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

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

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

EDA215 Digital- och datorteknik för Z

EDA215 Digital- och datorteknik för Z EDA25 Digital- och datorteknik för Z Tentamen Måndag 7 december 2007, kl. 08.30-2.30 i M-salar Examinatorer Rolf Snedsböl, tel. 772 665 Kontaktpersoner under tentamen Som ovan. Tillåtna hjälpmedel Häftet

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

VELKOMMEN!!!! SYFTE o MÅL. till EDA485/DIT151. Maskinorienterad Programmering. Kursupplägg. Kurslitteratur. önskar Jan o Rolf

VELKOMMEN!!!! SYFTE o MÅL. till EDA485/DIT151. Maskinorienterad Programmering. Kursupplägg. Kurslitteratur. önskar Jan o Rolf VELKOMMEN!!!! till EDA485/DIT5 Maskinorienterad Programmering önskar n o Rolf M fo0 YFTE o MÅL Programmera i språk som ligger nära processorn (maskinen) Ge en helhetsbild av hur vi har nytta av kunskaper

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

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

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

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

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

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

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

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

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

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

Programmering i maskinspråk (Maskinassemblering)

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

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

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

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

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

VELKOMMEN!!!! SYFTE o MÅL. till DAT015 / DIT151 Maskinorienterad Programmering. Kurslitteratur. önskar Jan o Rolf. Lektioner LP2 Vanlig vecka

VELKOMMEN!!!! SYFTE o MÅL. till DAT015 / DIT151 Maskinorienterad Programmering. Kurslitteratur. önskar Jan o Rolf. Lektioner LP2 Vanlig vecka VELKOMMEN!!!! till DAT05 / DIT5 Maskinorienterad Programmering önskar Jan o Rolf M fo0 YFTE o MÅL Programmera i språk som ligger nära processorn (maskinen) Ge en helhetsbild av hur vi har nytta av kunskaper

Läs mer

CHALMERS TEKNISKA HÖGSKOLA

CHALMERS TEKNISKA HÖGSKOLA Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA217 Grundläggande Datortekik, Z EDA433 Grundläggande Datortekik, IT EDA452 Grundläggande Datortekik, D DIT790 Digital-

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

Reducerad INSTRUKTIONSLISTA för FLIS-processorn

Reducerad INSTRUKTIONSLISTA för FLIS-processorn Reducerad INSTRUKTIONSLI för FLIS-processorn 2013-11-08 2(10) Innehåll Sidan 3 Programmerarens bild av FLIS-processorn 4 Förklaring av beteckningar i instruktionslistan 5 Enkel dataflyttning 5 Logik 5

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

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

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

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

Tentamen. EDA432 Digital- och datorteknik, IT DIT790 Digital- och datorteknik, GU. Måndag 18 Oktober 2010, kl

Tentamen. EDA432 Digital- och datorteknik, IT DIT790 Digital- och datorteknik, GU. Måndag 18 Oktober 2010, kl Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA432 Digital- och datorteknik, IT DIT790 Digital- och datorteknik, GU Måndag 18 Oktober 2010, kl. 8.30-12.30 Examinatorer

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

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

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

Exempel 1 på Tentamen med lösningar

Exempel 1 på Tentamen med lösningar Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Exempel 1 på Tentamen med lösningar Grundläggande datorteknik Examinator Kontaktperson under tentamen Tillåtna hjälpmedel Häfte

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

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl

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

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

9/22/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...

9/22/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke... LV4 Fo10 Aktivera Kursens mål: 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

Tentamen med lösningar

Tentamen med lösningar Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningar EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU Måndag xx Oktober 20xx, kl. 8.30-12.30

Läs mer

Assemblerprogrammets. struktur; exempel

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

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

F4: Assemblerprogrammering

F4: Assemblerprogrammering F4: Assemblerprogrammering Hoppinstruktioner Branch Jump Med vilkor IF satser Loopar while-loopar do-while- loopar for-loopar Stackhantering Underprogram 1 BRA rel_adr Branch Always Relativadressering

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

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

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

Läs mer

Assemblerprogrammering för HCS12

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

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

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

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

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

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #16 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Behovet av ändring av programflödet För att kunna skriva

Läs mer

Programmering i maskinspråk (Maskinassemblering)

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

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. 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

Ö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

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #16 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Behovet av ändring av programflödet För att kunna skriva

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

Bilda styrsignalerna till datavägen RESET FETCH EXECUTE NF NF NF. Digital och Datorteknik EDA /2011. Digital och Datorteknik EDA /2011

Bilda styrsignalerna till datavägen RESET FETCH EXECUTE NF NF NF. Digital och Datorteknik EDA /2011. Digital och Datorteknik EDA /2011 EDA 45 - Digital och Datorteknik Dagens föreläsning:, exemplifierad med FLEX Arbetsboken kapitel 9-22 Ur innehållet: En automatisk styrenhet Grundläggande d instruktioner Adresseringssätt Konstruktion

Läs mer

Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik E (Något redigerad) PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26/DIT790 EXAMINATOR

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

Tentamen 3. EDAxxx Grundläggande Datorteknik DIT791 Grundläggande Datorteknik, GU. Måndag xx Oktober 20xx, kl

Tentamen 3. EDAxxx Grundläggande Datorteknik DIT791 Grundläggande Datorteknik, GU. Måndag xx Oktober 20xx, kl Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen 3 EDAxxx Grundläggande Datorteknik DIT791 Grundläggande Datorteknik, GU Måndag xx Oktober 20xx, kl. 8.30-12.30 Examinator

Läs mer

Lösningsförslag till Tenta i Mikrodator

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

Läs mer

11/16/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...

11/16/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke... LV4 Fo10 Aktivera Kursens mål: 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

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

Stack och subrutiner Programmeringskonventionen

Stack och subrutiner Programmeringskonventionen Stack och subrutiner Programmeringskonventionen Du ska förstå hur en instruktion behandlas i processorn Du ska känna till några fler instruktioner Du ska veta hur maskinkoden för ett program byggs upp

Läs mer

Tentamen. Datorteknik Y, TSEA28

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

Läs mer

Digital- och datorteknik

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

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

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

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

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

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 EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering

Läs mer

Maskinorienterad programmering

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

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

Laboration 2 i Datorteknik- Assemblerprogrammering II

Laboration 2 i Datorteknik- Assemblerprogrammering II Högskolan i Halmstad 1 (8) - Assemblerprogrammering II Målet med laborationen är att få begrepp om Subrutiner. in/utparametrar. Lokala variabler Maska in bitar till ett register Konstruktion av subrutiner

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-10-18 Lokal TER1 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive

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