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

Storlek: px
Starta visningen från sidan:

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

Transkript

1 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) Villkorlig / ovillkorlig överföring Buy Wait och Polling Handkakningignaler Avbrott MC- ytem MOP fo 3 MOP fo 3 Adreavkodning för krivarporten Adr $0000 S 3 Printerport - fort 3 Vi måte ge via förutättningar för krivaren. $0800 $0803 I/O Vår krivare är från början en "dum" krivare: Den kan endat arbeta med ett tecken i taget. Block (i MC- ytemet) IOSEL Block $FFFF CHIP SELECT (till krivar-porten) (hämtar ett tecken - kriv ut - hämta näta) Det finn inledningvi inga handkakning-ignaler Max utkrifthatighet: 4 tecken per ekund. BAS-adreen MOP fo 3 4 MOP fo 3 5

2 CS_Printer Adre avkodning Printerport v.0 3 * Printer V. PRITER EQU $0800 EOT EQU 04 Printerport v. S 4 ORG $000 LDX #Text Pekare till textträng R/W Proceorn databu Anlutning mot MC- ytemet CS_Pri CP Regier (8) C Skrivarbu Anlutning mot krivaren Loop LDAA,X+ Lä tecken o peka på näta CMPA #EOT BEQ Stop STAA PRITER Skriv ut BRA Loop Stop OP BRA Stop Text: FCS "Hej Du Kalle!" FCB EOT Slutmarkering MOP fo 3 6 MOP fo 3 7 Printerport v. Villkorlig överföring S 5 MC- ytem Mottagaren Redo? Mottagaren Redo? Loop ldaa,x+ Lä tecken cmpa #EOT Sita? beq Stop taa Printer.. nej kriv ut jr Delay50m Vänta 50 m bra Loop MOP fo 3 8 Sänd Data till mottagaren Buy Wait Sänd Data till mottagaren Polling MOP fo 3 9

3 Printerport v - med regiter och -ignal Villkorlig överföring 6 Printerport v.0 6 Lä Statu MC-ytem Skrivarbu Är krivaren upptagen? ej Överför data a MC- ytem Skrivar bu Bit 7 Staturegiter = (Hög nivå): krivaren är REDO = 0 (Låg nivå): krivaren är UPPTAGE 0 MOP fo 3 0 MOP fo 3 Printerport v.0 6 Printerport v.0 CS Adre avkodning CS_Stat A 0 R/W Anlutning mot Proceorn buar Proceorn databu CS_Pri CP b Regiter (8) C Anlutning mot krivaren CS A 0 R/W & CS_Pri CS A 0 R/W & CS_Stat Skrivarbu Printer grännitt V Dataregiter = baadre Staturegiter = baadre+ MOP fo 3 MOP fo 3 3 3

4 * Printer V.0 Printer equ $800 PStatu equ $80 Printerport v.0 Printer Data Printer Statu PrinterV_0 Init 6 Printerport v S6 org $000 Lä näta tecken ldx #Text Pekare Loop ldaa,x+ Lä tecken cmpa #EOT Sita? beq Stop otrdy ldab PStatu Lä Statu bitb #Ready. och invänta beq otrdy.. redo krivare taa Printer Skriv ut bra Loop Tecken= EOT? Lä Statu =? Överför Data till n Stop bra Stop MOP fo 3 Stop 4 MOP fo 3 5 Printerport v. * Utnyttja definitionfilen ue PrinterDef. ldx #Text Pekare till textträng Loop ldaa,x+ Lä tecken cmpa #EOT Sita? beq Stop otrdy ldab PStatu Lä Statu bitb #Ready. och invänta beq otrdy.. redo krivare taa Printer Skriv ut RDY ldab PStatu Lä Statu bitb #Ready. och invänta bne RDY.. upptagen krivare MOP fo 3 6 Printerport v3 med o S 8 Datorytem Bit 7 Skrivarbu Styrregiter = (Hög nivå) indikerar för krivaren att giltigt tecken finn att hämta på krivarbuen. = 0 (Låg nivå) indikerar för krivaren att krivarbuen har ett ogiltigt värde. 0 MOP fo 3 7 4

5 Printerport v3 adreavkodning Printerport v3 9 CS A A 0 R/W & Dataregiter = baadre Staturegiter = baadre+ Styrregiter = baadre+ CS_Pri CS A A 0 R/W & CS_Stat CS A A 0 R/W & CS_Ctrl CS A A 0 R/W Anlutning mot MC Adre avkodning CS_Ctrl CP Proceorn databu b Regiter () C CS_Stat CS_Pri CP b Regiter (8) C Skrivarbu Anlutning mot krivaren Printer grännitt V3 MOP fo 3 8 MOP fo 3 9 Printerport v3 8 PrinterV3_0 Init Lä näta tecken Printerport v3 med o 8 Tecken= EOT? Lä Statu =? Datorytem Skrivar bu 3 Överför Data till n Sätt Lä Statu =0? olltäll Skrivar Bu 3 5 Giltig bu Buen innehåller ej giltigt värde t MOP fo 3 0 Stop 5

6 Printerport v4 9 Villkorlig överföring BUSY WAIT S 30 Lä Statu Är krivaren upptagen? a MC- ytem Skrivar bu ej MOP fo 3 Överför data POLLIG MOP fo 3 3 Polling * HUVUDPROGRAM... Olika initieringar Loop Annat arbete om... proceorn utför Avbrott Verkligt "arbete" 3 Pågår utkrift? ej tt PFlag Pågår utkriftrutin? beq oprint.. hoppa om E Är krivaren Redo? ej brclr PStatu,#Ready,oPrint Lä Statu Proceorn väntar på kall gå hög 50 m Skriv näta tecken jr Printchar Skriv ut ett tecken oprint... BRA Loop Pflag rmb Flagga:Pågår utkrift? MOP fo 3 4 Proceor Datorytem Avbrott (Redo) Här är data Yttre enhet MOP fo 3 5 6

7 Printchar Avbrott - fort HITILLS: Programmeraren (DU) betämmer när: SR Printchar Skriv ett tecken VID AVBROTT: n betämmer när: Skriv ett tecken 3 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 6 IRQ MC- ytem Avbrott - fort Skrivarbu Huvudprogram Avbrottrutin om kriver ut ett tecken 3 Adr: TextP A H Pekare till A L näta tecken Text H e j Avbrottignal D u ASCIIkoder K för texta träng l l e! EOT Slutmarkeing MOP fo 3 7 Avbrott - fort Printerport v3 med o S 8 Adr: TextP A H Pekare till A L näta tecken Text H * Avbrottrutin e j IRQ ldx ldaa TextP,x+ Lä pekare till näta Skriv näta tecken D u ASCIIkoder K för texta träng l l e! EOT Slutmarkeing ta Printer tx TextP Spara nya pekare rti MOP fo 3 8 Datorytem Bit 7 Skrivarbu Styrregiter = (Hög nivå) indikerar för krivaren att giltigt tecken finn att hämta på krivarbuen. = 0 (Låg nivå) indikerar för krivaren att krivarbuen har ett ogiltigt värde. 0 MOP fo 3 9 7

8 Avbrott Verkligt "arbete" Proceorn väntar på kall gå hög 50 m 30 Rep Kontruktion av en Printer-Port AVBROTT!!! Avbrottrutin Avbrottvektor I-flagga Avbrottvippa Avbrottdriven Printerport I dag eller äta gång Övriga avbrott I DAG fo 4 Proceor Datorytem Avbrott (Redo) Här är data Yttre enhet MOP fo 3 30 MOP fo 3 3 Printerport S 4 Villkorlig överföring (Ovillkorlig funkar ej) 5 MC- ytem Mottagaren Redo? Mottagaren Redo? Uppgift: Expandera ett befintligt MC-ytem med en anlutning för en krivare Sänd Data till mottagaren Sänd Data till mottagaren Vi ka bygga: Hårdvara och Mjukvara och tudera Överföringmekanimer Buy Wait Polling MOP fo 3 3 MOP fo

9 Printerport v3 med o Skrivarbu 8 PrinterV3_0 Init Lä näta tecken Tecken= EOT? Lä Statu =? Printerport v3 med o Datorytem Datorytem Skrivar bu 8 Bit 7 Staturegiter = : REDO krivare = 0: UPPTAGE krivare 0 Bit 7 Styrregiter = Giltigt tecken = 0 Ogiltigt värde Överför Data till n Sätt Lä Statu =0? olltäll Skrivar Bu Giltig bu Buen innehåller ej giltigt värde t MOP fo 3 34 Stop 35 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 Pågår utkrift? Är krivaren Redo? Skriv näta tecken ej ej * HUVUDPROGRAM... Olika initieringar Loop Annat arbete om... proceorn utför tt PFlag Pågår utkriftrutin? beq oprint.. hoppa om E brclr PStatu,#Ready,oPrint Lä Statu jr Printchar Skriv ut ett tecken Proceorn väntar på kall gå hög m m 36 oprint... BRA Loop Pflag rmb Flagga:Pågår utkrift? MOP fo

10 Huvudprogram Inför Avbrott Avbrott fort. Hur jobbar proceorn? S3 Poll IRQ MC- ytem Avbrott- Rutin om kriver ut ett tecken Skrivarbu Adr: TextP A H Pekare till A L näta tecken Text H e j D u ASCIIkoder K för texta träng l l e! EOT Slutmarkeing Reetignal IRQ Aktiv? RESET ej Hämta Intruktion Utför Intruktion a Utför Avbrottrutin FETCH Avbrottrutin Avbrottignal EXECUTE Avbrottignal Huvudprogram MOP fo 38 MOP fo 3 39 Avbrott - fort HITILLS: Programmeraren (DU) betämmer när: SR Printchar Skriv ett tecken Avbrott fort. VAD KRÄVS?. para undan in PC. tarta en rutin om kriver ut ett tecken till krivaren för att 3. edan återtarta huvudprogrammet S VID AVBROTT: n betämmer när: Printchar Skriv ett tecken 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 40 PC (high) PC (low) ) Spara undan itt PC (jfr SR SubRut) S i ubrutinen S före ubrutinanropet PC (high) PC (low) S i avbrottrutinen S före Avbrottignalen MOP fo 3 4 0

11 Avbrott fort. VAD KRÄVS?. para undan in PC. tarta en rutin om kriver ut ett tecken till krivaren för att 3. edan återtarta huvudprogrammet OP PC (high) PC (low) ) tarta upp en rutin om kriver ut ett tecken till krivaren (Startadre??) Adre $FFF $FFF3 Minnet Startadre för avbrottrutin S Adr: TextP A H Pekare till A L näta tecken Text H e j D u ASCIIkoder K för texta träng l l e! EOT Slutmarkeing Avbrott - fort * Avbrottrutin IRQ ldx TextP Lä pekare till näta ldaa,x+ Skriv näta tecken ta Printer tx TextP Spara nya pekare rti 4 MOP fo 43 Avbrott fort. VAD KRÄVS?. para undan in PC. tarta en rutin om kriver ut ett tecken till krivaren för att 3. edan återtarta huvudprogrammet S Avbrott - fort 3) edan återtarta huvudprogrammet IRQ Avbrottrutinen utför och ett tecken kicka till krivaren IRQ RTS PC (high) PC (low) S i ubrutinen S före ubrutinanropet RTI PC (high) PC (low) S i avbrottrutinen S före avbrott Proceorn utför annat viktigt arbete 50 m MOP fo 3 44 MOP fo 45

12 Huvudprogram Kort ammanfattning Avbrott S 3 Avbrott fort. Via problem. Avbrottrutin 3 Avbrott Betjäna avbrottet RTI Minnet Adre $FFF Startadre för $FFF3 avbrottrutin ) Huvudprogram exekvera när ett avbrott aktivera ) Hopp till avbrottrutin 3) Avbrottrutin tartar 4) Avbrottrutin avluta med intruktionen RTI, return from interrupt 5) Återhopp till huvudprogram 6) Huvudprogrammet fortätter. Avbrottrutin Avbrottignal Huvudprogram CLRA RTI --- ldaa BankSaldo adda Löneinättning taa BankSaldo CMPB BHI --- Variabel Larger MOP fo 46 MOP fo 3 47 Avbrottrutin Avbrottignal Avbrott fort. Via problem. S 3 Huvudprogram RTI Adre 0 Adre Max Stacken 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 48 Vi ummerar händeleförloppet vid ett avbrott. ) Huvudprogrammet kör ) 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 6 5 Avbrottrutin MOP fo S Betjäna avbrottet 4 RTI

13 Avbrott IRQ Aktiv? Hämta Intruktion Utför Intruktion Huvudprogram 6 5 ej a Avbrottrutin 3 Utför Avbrottrutin Betjäna avbrottet 4 RTI Proceor Avbrott fort. Flera problem. Datorytem Avbrott (Redo) Här är data S3 Yttre enhet MOP fo 3 50 Avbrott fort.. FETCH EXECUTE ej I-flagga = 0? IRQ Aktiv? a ej Hämta Intruktion Utför Intruktion a MOP fo 3 5 S Utför Avbrottrutin Avbrott fort.. Bild av tacken före, under o efter avbrott Adr 0 TOS Adr max Proceorn Statu regiter Före avbrottet Befintligt tackinnehåll Mak IRQ=Enable TOS Under avbrottet IRQ=Enable (CC) Statu och återhoppadre för avbrottrutin Befintligt tackinnehåll Mak IRQ=Off TOS Efter avbrottet Befintligt tackinnehåll Mak IRQ=Enable S Huvudprogram Avbrott 6 5 Avbrottrutin 3 4 RTI Huvud Progr Initiera för avbrott Öka Var Via Var Via Var Avbrottrutin Öka Var RTI Avbrott Upg 4 S 3 GÖR UPG 4 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 5 MOP fo

14 Tryckknapp Avbrott Huvudprogram 6 Pul vid nedtryckning av tryckknapp 5 Avbrottrutin 3 Betjäna avbrottet 4 RTI Avbrott lite mera problem Proceor (MC) IRQ E R/W D 7 -D 0 ej I-flagga = 0? a IRQ Aktiv? ej Hämta Intruktion Utför Intruktion S33 MOP fo 3 54 a Utför Avbrottruti n Tryckknapp A 5 A 4 A 3 A A A 0 R/W Avbrott inför Avbrottvippa & Pul vid nedtryckning av tryckknapp "" D R Write addre C Q Q IRQ Proceor Pul då proceorn kriver S33 Kvittera avbrott vid STAA IrqVippa MOP fo 3 55 Avbrott Upg S Avbrott - Sammanfattning Gör Upg 43 och underök Avbrottignal Avbrottvippa olltällning av vippa Gör Upg 44 o 45 och teta med avbrottignaler avbrottvippor olltällning av vipporna Begrepp: Avbrottingång på proceorn IRQ (Interrupt) I-flagga i CC-regitret (Makera avbrott, brandvägg) Avbrottvektor (Startadre för avbrottrutin) Save Statu (Placera alla reg på tacken) Avbrottrutin ( ubrutin avlutad med RTI) Återhopp från avbrottrutin (RTI) Retore Statu (Återhämta alla reg från tack) Avbrottvippa Kvittera avbrott (olltälla avbrottvippa) MOP fo 3 56 MOP fo

15 Avbrott - Sammanfattning. OM I-flaggan=0: Proceorn känner att IRQ är aktiverad och lutför utförandet av pågående intruktion.. Proceorn parar huvudprogrammet återhoppadre och övriga regiterinnehåll på tacken, ave tatu. Därefter läer proceorn tartadreen för avbrottrutinen från IRQ-vektorn (från adre $FFF och $FFF3). Denna tartadre placera i PC. I-flaggan ETT-täll 3. Avbrottrutinen tarta (med I-flaggan=). Kvittera avbrott. 4. 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 Bit 7 Printerport v3 med o Datorytem Staturegiter = : REDO krivare = 0: UPPTAGE krivare 0 Skrivarbu Bit 7 Styrregiter = Giltigt tecken = 0 Ogiltigt värde. MOP fo CS_Printer A A 0 R/W IRQ 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 Skrivarbu MOP fo 3 60 Printer Interface Anlutning mot krivaren Avbrottdriven Printerport * Initiering tart CLR count CLR TextP * Initiera avbrottvektor IRQ LDX #IrqRut STX $FFF CLI * Sätt om avbrottmaken * HUVUDPROGRAM - Simulera 'nyttigt arbete' Loop LDAB count ADDB # STAB count STAB OutPort OP OP BRA Loop S 35 MOP fo 3 6 5

16 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 PRITER LDAA # STAA PCOTROL ätt CLR PCOTROL nolltäll RTI Text FCS "Hej Du Kalle!" FCB EOT Count RMB räknarvariabel MOP fo 3 6 S 35 Stop Exit Avbrottdriven Printerport CMPA #EOT Inget mer att kriva? BEQ Stop ADDB # STAB TextP STAA PRITER (Kvitterar avbrott) LDAA # STAA PCOTROL ätt CLR PCOTROL reet BRA Exit LDAA 0,SP "CCR" -> A ORAA #$0 I-flagga = STAA 0,SP tillbak till ToS RTI MOP fo 3 63 IRQ 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 Regier (8) C Skrivarbu Anlutning mot krivaren MOP fo 3 64 I DAG fo 5 Lab + demo Rep / Städa efter veckan Intro laboration Demo MOP fo

17 MC Utvecklingmiljö Borrmakinlabbet Lab,, 3 och 6- En Robot - I/O och avbrott och två proceer Aembler och C Eterm Emulera terminal Målytem Tangentbord för borrkommando Operatör Mikrodator COMport Anpaningelektronik Borrmakin Klocka MC o dbg MOP fo0 66 MOP fo0 67 Simulatorn för borrmakinen S 48 START Borrmakinen S 57 Init ew dic: Här väljer du olika arbettycken Indikator för Motor On KEYB Control-fönter: Styrord till borrmakinen Statu-fönter: Statuignaler från borrmakinen Indikator för Alarm Arbettycke Borrade hål märk ut SUB0 (START) COMMAD A=0 A= SUB (STOP) A= SUB (DOW) SUB3 (UP) COMMAD Spara regiterinnehåll på tacken A=3 Avkoda (A) SUB4 (STEP) A=4 A=5 A=6 A=7 SUB5 (DRILL) Inparameter: Kommandonummer i regiter A SUB6 (REFPO) SUB7 (AUTO) A>7 Återtäll regiterinnehåll från tacken MOP fo0 68 MOP RTS fo0 69 7

18 Styrord till borrmakinen S 50 Statuord från borrmakinen S 50 Utport: Drill Control Etta : Aktiv tyrignal olla : Paiv tyrignal tegpul fram/back borrmotor olenoid larmummer Inport: Drill Statu olla: Paiv tatuignal Etta: Aktiv tatuignal referenpoition borr uppe borr nere Bit 4 = : Larm på Bit 3 = : Borret änk Bit = : Bor rmotorn roterar Bit = : Medur vridning Bit 0: Po flank Stegpul Bit = : Borr i bottenläge Bit = : Borr i topp läge Bit 0 = : Referenpoition MOP fo0 70 MOP fo0 7 Användning av USE-direktivet * Filen DRILLDEFS. Inport EQU $600 Dip Switch Input DCtrl EQU $F00 Drill Control Output DStatu EQU $F0 Drill Stau Input Outport EQU $400 Lydioderna * Filen DTEST. USE DRILLDEFS. ORG $000 Loop ldaa Inport Lä trömbrytarna taa DCtrl Skriv till borrmakinen ldab DStatu tab Outport bra Loop Lä taturegitret MOP fo0 7 S 49 START Init RefPo Borra Vrid3S Borra VridS Larm STOP Övergripande pecifikation av inledande borrmakinuppgift: a) Arbettycket vrid till referenpoition b) Ett hål borra c) Arbettycket vrid medur tre teg d) Ett hål borra e) Arbettycket vrid medur ett teg f) En larmignal ge om indikation på att uppgiften är klar. S 5 MOP fo0 73 8

19 START RefPo Borra Vrid3S Borra VridS Larm Kopia av tyrordet S 53 * Ge Styrord till borrmakinen LDAA #StyrOrd STAA DCtrl DCCopy RMB Drill Control Copy LDAA DCCopy Lä kopian av tyrordet ADA #Bitmönter olla en tyrbit STAA DCtrl Ge nytt tyrord STAA DCCopy Spara nya kopian Realtid Fördröjningar fort S 55 ********************************************** *SUBRUTI DELAY * Bekrivning: Skapar en fördröjning om * ATAL x 500 m. * Anrop: LDAA #6 Fördröj 6*500m = 3 * SR DELAY * Indata: Antal intervall,om 500 m i A * * Utdata: Inga * Regiter-påverkan:Ingen * Anropad ubrutin: Ingen. ********************************************** STOP MOP fo0 74 MOP fo0 75 Realtid Fördröjningar ********************************************* * *SUBRUTI DELAY * Bekrivning: Skapar en fördröjning om * ATAL x 500 m. * Anrop: LDAA #6 Fördröj 6*500m = 3 * SR DELAY * Indata: Antal intervall,om 500 m i A * * Utdata: Inga * Regiter-påverkan:Ingen * Anropad ubrutin: Ingen. Max 0,08 500/8 6 ggr Indata * 6 ********************************************* * MOP fo 5 76 S 55 DELAY PSHA PSHX TSTA Är fördröjningvärde noll? BEQ DExit ALOOP LDX #Kont ala < 6ggr < 3 ala * Snurra om tar 0 klockcykler XLOOP LEAX -,X cykler OP cykel CPX #0 cykler BE XLOOP 3 cykler DExit DECA BE ALOOP Ytterligare fördröjning? PULX PULA RTS Realtid Fördröjningar MOP fo

20 Villkorlig aemblering S 55 Tangentbord o Borrmakin S 57 KEYB #ifdef RUFAST START Lä tangentbord * Kontant vid Run Fat Kont EQU???? #ele * Kontant vid Run Kont EQU???? #endif Init KEYB Tangent nere Lä tangentbord Tangent uppe COMMAD SE SID 4 MOP fo0 78 RTS MOP fo0 79 Borrmakinrobot START Rutinen COMMAD S 57 Init Tangent nr Operation ubrutin 0 tarta borrmotorn START KEYB toppa borrmotorn STOP änk borret DOW 3 höj borret UP 4 rotera arbettycket medur ett teg STEP 5 borra ett hål DRILL 6 tega arbettycket till referenpoition REFPO 7 borra hål läng cirkeln enligt mönter AUTO SUB0 (START) COMMAD A=0 A= SUB (STOP) A= SUB (DOW) SUB3 (UP) COMMAD Spara regiterinnehåll på tacken A=3 Avkoda (A) SUB4 (STEP) A=4 A=5 A=6 A=7 SUB5 (DRILL) Inparameter: Kommandonummer i regiter A SUB6 (REFPO) SUB7 (AUTO) A>7 Återtäll regiterinnehåll från tacken MOP fo0 80 MOP RTS fo0 8 0

21 Rutinen COMMAD S 57 ************************************************** *SUBRUTI COMMAD *Bekrivning: Rutinen avgör vilken *kommandoubrutin om kall anropa och anropar *denna. *Anrop: SR COMMAD *Indata: Kommandonummer i reg A *Utdata: Inga *Reg-påverkan: Ingen *Anrop ubr: SUB0 - SUB7 ************************************************** MOP fo0 8 MAX EQU 7 COMMAD PSHA PSHX COMMAD CMPA #MAX giltigt värde? BHI COMEX LDX #UMPTAB hopptabellen baadre ASLA offet är byte per adre LDX A,X hämta ubrutinen tartadre SR,X utför ubrutin COMEX PULX återvänd från kommandorutin PULA RTS ********************************** * Tabell med ubrutinadreer UMPTAB FDB SUB0,SUB,SUB,SUB3,SUB4,SUB5,SUB6,SUB7 ********************************** * ubrutiner för tet, byt enare ut mot START, STOP, DOW etc SUB0 MOVB #0,ParOut RTS SUB MOVB #,ParOut RTS SUB MOVB #,ParOut RTS Dummy-ubrutiner SUB3 MOVB #3,ParOut RTS SUB4 MOVB etc MOP fo0 83 S 57 STRUKTUR: Programtruktur (Foku Main x). Inkludera definitionfil. Initiera ytemet 3. Huvudprogram 4. Subrutinen COMMAD 5. Inkludera fil (filer) med ytterligare ubrutiner. 6. Plat för variabler S 58 MOP fo 5 84 * Definitioner USE IODEFS.S S 58 ORG Start START Initiera mikrodatorytem --- Initiera borrimulator --- ************************************ Init * Huvudprogram * Invänta vald operation Loop: SR KEYB KEYB 3 OP * Utför vald operation COMMAD SR COMMAD BRA Loop ************************************ 4 COMMAD--- Här följer rutinen COMMAD och hopptabell och Dummyubrutiner 5 USE KeyML5.S Lägg till KEYB * Placera alla variabler här 6 DCCopy RMB Kopia av tyrord MOP fo 5 85

22 S 59 *Subrutin STOP. Subrutinen toppar borrmotorn. *Borrmotorn toppa genom att ubrutinen OUTZERO *fört matar ut värdet 0" på bit av utporten *DCTRL och edan uppdaterar kopian av tyrordet, *DCCOPY. Endat bit på utporten och DCCOPY *påverka. * *Anrop: SR STOP *Indata: Inga *Utdata: Inga *Regiterpåverkan: Ingen *Anropade ubrut: OUTZERO MOP fo0 86 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 ADA #Bitmönter olla en tyrbit STAA DCtrl Ge nytt tyrord STAA DCCopy Spara nya kopian MOP fo0 87 * Subrutin OUTZERO. Läer kopian av * borrmakinen tyrord på adre DCCopy. * olltäller en av bitarna och kriver det * nya tyrordet till utporten DCTRL amt * tillbaka till kopian DCCopy. * Biten om nolltäll ge av innehållet i * B-regitret (0-7) vid anrop. * Om (B) 7 utför ingenting. * * Anrop: LDAB #bitnummer * SR OUTZERO * * Bitnumrering framgår av följande figur. OUTZERO. S * Utdata: Inga * Regiterpåverkan: Ingen * Anropade ubrutiner: Inga MOP fo0 88

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

I DAG Fo 4. Programutveckling i assemblerspråk. Programutveckling i assembler. PROGRAMSTRUKTUR Modul Subrutiner USE-direktivet 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

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

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

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

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

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

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

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

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

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

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

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

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

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 #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Tallriksmodellen Stackoperationer Element kan endast

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

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

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

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

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

Läs mer

Digital och Datorteknik 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

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

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

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

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

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

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

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

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

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

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

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

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

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

Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Mekatronik-, data- och elektroingenjör Åk / lp o2 LEU43 EXAMINATOR

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola F-36 FLEX- och FLIS-datorn Ext-8 Tallriksmodellen Stackoperationer

Läs mer

Tentamen 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 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 #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

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

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

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

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

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

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

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

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. Arbetshäfte för laboration nr 1-3. Laborant: Godkännande - laboration: Data- och informationsteknik, datorteknik

Maskinorienterad programmering. Arbetshäfte för laboration nr 1-3. Laborant: Godkännande - laboration: Data- och informationsteknik, datorteknik Data- och informationsteknik, datorteknik 1 2 3 4 5 6 7 8 9 10 11 12 U Maskinorienterad programmering Arbetshäfte för laboration nr 1-3 Utvecklingsverktyget Eterm Programmering i assemblerspråk Borrmaskinsstyrning

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

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

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

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

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

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

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

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

Läs mer

Digital- och datorteknik. 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

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

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

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

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

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

Exempel på tentamen 1

Exempel på tentamen 1 Maskinorienterad programmering - har du uppnått kursmålen Exempel på tentamen Tisdag xx januari 2005, kl. 08.30-2.30 i M-salar Examinatorer Stig-Göran Larsson, tel. 772 693 Jan Skansholm, tel. 772 02 Kontaktpersoner

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

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. DIT150 Maskinorienterad programmering GU DAT015 Maskinorienterad programmering IT. Söndag 17 december 2006, kl

Tentamen. DIT150 Maskinorienterad programmering GU DAT015 Maskinorienterad programmering IT. Söndag 17 december 2006, kl DIT150 Maskinorienterad programmering GU DAT015 Maskinorienterad programmering IT Tentamen Söndag 17 december 2006, kl. 14.00-18.00 i V-salar Examinatorer Rolf Snedsböl, tel. 772 1665 Jan Skansholm, tel.

Läs mer

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

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

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

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

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

Läs mer

Föreläsningsanteckningar 3. Mikroprogrammering II

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

Läs mer

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

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

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

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

Laboration nr 4 behandlar Assemblerprogrammering

Laboration nr 4 behandlar Assemblerprogrammering Laboration nr 4 behandlar Assemblerprogrammering Följande upp gifter ur Arbetsbok för DigiFlisp ska vara utförda som förberedelse för laborationen. Du ska på begäran av laborationshandledare redogöra för

Läs mer

Exempel 2 på Tentamen med lösningar

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

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

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

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 7 mars 2012, klockan 14:00 19:00 i Vic 2, 3. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

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

Nya instruktioner. b 7

Nya instruktioner. b 7 LV6 Fo6 Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna tudera en kommersiell processor - U2/H2/M2 Aktivera Förra veckans mål: IN- och Utmatning (I/O); kriva program (för FLEX)

Läs mer

Nya instruktioner. b 7

Nya instruktioner. b 7 LV6 Fo6 Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna tudera en kommersiell processor - PU2/H2/M2 Aktivera Förra veckans mål: IN- och Utmatning (I/O); kriva program (för FLEX)

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

IS1500 Lösningar övning CE_O7 2014. CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io.

IS1500 Lösningar övning CE_O7 2014. CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io. IS1500 ösningar övning CE_O7 2014 CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io. 6.1. Vad är seriell kommunikation? a) Vad är skillnaden mellan seriell och parallell kommunikation?

Läs mer

Tentamen. EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU. Måndag 17 December 2012, kl

Tentamen. EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU. Måndag 17 December 2012, kl Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU Måndag 17 December 2012, kl. 8.30-12.30 Examinatorer

Läs mer

INSTRUKTIONSLISTA för FLEX-processorn

INSTRUKTIONSLISTA för FLEX-processorn INSTRUKTIONSLISTA för FLEX-processorn Detta häfte får användas vid tentamen i Digital- och datorteknik. Anteckna ej i häftet, under/ överstrykning är tillåtet. 2008-10-10 Innehåll Sidan Programmerarens

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

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

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer Program: Elektroteknik Datum: 04-01-09 Tid: 08:00-13:00 Lokal: E103 Hjälpmedel: Linjal, miniräknare, Datablad: MC60705 och PIC16F84 (Utdelas

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2018-01-16 3 TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY Praktiska kommentarer Mail kommer skickas ut när labanmälan är möjlig

Läs mer

Assemblerprogrammeringsuppgifter för FLIS-processorn

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

Läs mer

F6: I/O hantering. Typer av I/O i ett datorsystem. Protokoll för synkronisering. Drivrutiner. Memory mapped Port mapped. Polling Timed Interrupt DMA

F6: I/O hantering. Typer av I/O i ett datorsystem. Protokoll för synkronisering. Drivrutiner. Memory mapped Port mapped. Polling Timed Interrupt DMA F6: I/O hantering Typer av I/O i ett datorsystem Memory mapped Port mapped Protokoll för synkronisering Polling Timed Interrupt DMA Drivrutiner 1 Memory mapped I/O enheter avkodas precis som ett minne

Läs mer

Datorsystemteknik Föreläsning 7DAVA14

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

Läs mer