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



Relevanta dokument
Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

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

Digital- och datorteknik

Exempel 3 på Tentamen

Styrenheten styrsignalsekvenser programflödeskontroll

Exempel 1 på Tentamen med lösningar

Digital- och datorteknik

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

Programmering i maskinspråk (Maskinassemblering)

Digital- och datorteknik

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

Tentamen med lösningar

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

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

EDA215 Digital- och datorteknik för Z

Föreläsningsanteckningar 2. Mikroprogrammering I

Extrauppgifter för CPU12

Programmering i maskinspråk (Maskinassemblering)

CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io.

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:

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

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

Programexempel för FLEX

Tentamen. EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU. Måndag 23 oktober 2006, kl i V-salar

Stack och subrutiner Programmeringskonventionen

Assemblerprogrammeringsuppgifter för FLIS-processorn

Tentamen. Datorteknik Y, TSEA28

Kontrollskrivning Mikrodatorteknik CDT S2-704

CHALMERS TEKNISKA HÖGSKOLA

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

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

CE_O3. Nios II. Inför lab nios2time

Avbrottshantering. Övningsuppgifter

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

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

TSEA28 Datorteknik Y (och U)

Digital- och datorteknik

Exempel 2 på Tentamen med lösningar

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Lösningsförslag tenta

Assemblerprogrammering del 2

Datorsystem Laboration 2: Minnesmappade bussar

Laboration nr 3 behandlar

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

TENTAMEN (Något redigerad)

Assemblerprogrammering

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

EDA Digital och Datorteknik

exempel på Tentamen 2

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

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

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

Digitala Projekt (EITF11)

Så här fungerar datorer Baserad på T-J Hallbergs minimalmaskin Högskolan i Jönköping/JTH Ragnar Nohre

Lösningar till tentamen i EIT070 Datorteknik

CE_O1. Nios II. Enkla assembler-instruktioner.

Digital- och datorteknik

Tentamen. Datorteknik Y, TSEA28

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

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

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:

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

LEU240 Mikrodatorsystem

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

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

Problem: BOW Bowling. Regler för Bowling. swedish. BOI 2015, dag 1. Tillgängligt minne: 256 MB

Laboration Kombinatoriska kretsar

Att använda pekare i. C-kod

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

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

Assemblerprogrammering del 3

Digital elektronik CL0090

Tentamen Datorteknik Y, TSEA28 Datum

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A

F4: Assemblerprogrammering

Datorsystemteknik D. Lösningar till tentamen i kursen EDA330 14/1 2000

Sta. Sta. Sta. ulricaelisson.se. Scratch STARTA PROVA KODEN KÖR! TIPS. Rita en ny sprite. Eller välj en från mappen

Digital- och datorteknik

Assemblerprogrammets struktur; exempel

Digital- och datorteknik

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

Grunderna i stegkodsprogrammering

Maskinorienterad Programmering 2010/11

Assemblerprogrammering del 1

LABORATION. Datorteknik Y

Vad bör göras? Steg 1. RISC => pipelining. Parallellism. Pipelining. Nya LDA 13. RISC(reduced instruction set computer) Öka klockfrekvensen

Anfallslarm EPI-2000(-P) Bruksanvisning

Inledning. Att bli medlem

F5: Högnivåprogrammering

F5: Högnivåprogrammering

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Måndag 19 oktober 2009, kl

Transkript:

Övningsuppgifter Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP. F.2 Ett antal på varandra följande minnesord har följande hexadecimala innehåll: a) F1, 20, E1, 21, 96, 0F, A9, 25, 06, 97, 10. Den första byten (F1 16 ) är en operationskod för FLIS-processorn. Översätt sekvensen till assemblerspråk, dvs disassemblera sekvensen. F.3 Ge en sekvens av LDA- och STA-instruktioner (dvs ett programavsnitt) som flyttar innehållet på adresserna 1A 16-1C 16 till adresserna 2A 16-2C 16. F.5 Manuell översättning från assemblerspråk till maskinkod kallas ofta "handassemblering". a) Handassemblera följande instruktionssekvens. Första instruktionen skall placeras på adress 80 16. Hur många minnespositioner upptar instruktionssekvensen? LDA $10 ANDA #$F ORA $11 EORA #$44 ANDA #$EE COMA STA $10 b) Antag att talet 101101102 finns på adress 10 16. Ange i hexadecimal form det tal som kommer att finnas i denna minnesposition efter exekvering av instruktionssekvensen ovan, om adress 11 16 innehåller 01 16 före exekveringen.

F.6 a) Skriv en instruktionssekvens som inverterar bitarna b0 och b7 i A-registret och ettställer bitarna b2 och b5 samt nollställer bit b4. b) Handassemblera instruktionssekvensen. Första instruktionen skall placeras på adress 20 16. F.7 I minnet finns data enligt figuren till höger. Skriv en instruktionssekvens som ökar innehållet på adressen 80 16 med 5 och minskar innehållet på adressen 81 16 med 7. Vidare skall instruktionssekvensen addera innehållen på minnesadresserna 82 16 och 83 16 samt placera summan på adressen 84 16. Översätt instruktionssekvensen till maskinkod (hexadecimal form) och placera den i minnet med början på adressen 20 16. Adr 80 16 56 16 81 16 23 16 82 16 05 16 83 16 16 16 84 16 B7 16 F.11 a) "Jump"-instruktionen JMP $50 är placerad med början på adress 37 16. b) "Branch"-instruktionen BRA $50 är placerad med början på adress 37 16. F.12 a) "Jump"-instruktionen JMP $05 är placerad med början på adress 20 16. b) "Branch"-instruktionen BRA $05 är placerad med början på adress 20 16.

F.14 I följande instruktionssekvens genereras en puls i position 0 på utport FB 16. Läge Operation Operand Kommentar START CLR $FB LDA #25 SCOUNT DECA BNE SCOUNT LDA #%00000001 STA $FB LDA #100 PCOUNT DECA BNE CLR PCOUNT $FB a) Rita en maskinberoende flödesplan för sekvensen. b) Antag att FLIS-processorn har klockfrekvensen 1 MHz och att sekvensen startas vid tidpunkten t = 0. När i tiden genereras pulsen? Hur lång är den? c) Kommentera instruktionerna på lämpligt sätt. Kommentarerna skall helst vara maskinoberoende. d) Översätt instruktionssekvensen till maskinkod. Antag att START skall läggas på adressen 20 16. Måste den maskinkod du nu producerat alltid ligga på dessa adresser?

F.15 Vad blir den effektiva adressen i följande instruktioner om innehållet i X-registret = 20 16. För instruktioner som arbetar med data är effektiva adressen adressen till data. Översätt instruktionerna till maskinkod. a) LDA 0,X b) LDA 16,X c) LDA -16,X d) LDA,X+ e) LDA,-X F.16 Skriv en instruktionssekvens som omvandlar ett 4-bitars binärt tal till Graykod. Det binära talet skall kontinuerligt läsas från bit b0-b3 på inport FB 16. Bit b4-b7:s värden är ej kända och kan variera mellan läsningarna. Graykoden skall matas ut på bit b0-b3 på utport FB 16 med bit b4-b7 nollställda. Graykoden för siffrorna 0 16 -F 16 finns lagrade i bit b0-b3 i adress 30 16-3F 16, med bit b4-b7 nollställda. F.19 En tabell med 5 olika 8-bitars tal utan tecken lagras med början på adress 18 16 i minnet. Skriv en instruktionssekvens som letar upp det största talet. Talets värde och läge skall anges i minnespositionerna VALUE resp PLACE, vilka anses fördefinierade. F.20 Ge en sekvens av instruktioner som definierar en stack med början på adress F0 16 och placerar operanderna 06 16, 35 16 och 28 16 på stacken. Vad är stackpekarens innehåll när sekvensen genomlöpts av processorn? F.23 Skriv ett programavsnitt som läser ett tal från inport FB 16. Om talet är 00 16 skall en subrutin FALL1 anropas. Talet skall då ligga i A- registret för att subrutinen skall kunna använda det för bearbetning. Om talet är 18 16 skall på motsvarande sätt en subrutin FALL2 anropas. Om talet inte är lika med något dessa värden skall en subrutin FALL3 anropas. Rita också en flödesplan.

F.25 En enkel datorstyrd tvättmaskin har tre olika tvättprogram - 40 C Fintvätt / 60 C Kulörtvätt / 90 C Vittvätt. När tvättmaskinen startats agerar den enligt flödesplanen nedan. TVÄTT CASE 40 övrigt 60 90 FIN KULÖR VIT STOPP a) Rita om flödesplanen så att fyrvalssituationen realiseras som en följd av tvåval (if-then-else)! b) Användaren kan trycka på tre olika knappar som svarar mot de olika tvättprogrammen. Den valda tvättemperaturen är åtkomlig för processorn via inporten FB 16 enligt figuren nedan. Observera att vissa värden på x2x1x0 representerar ogiltiga val (t.ex. om både x1 och x0 är ett). Dessa fall motsvaras av alternativet "övrigt" i flödesplanen. De olika tvättprogrammen är subrutiner med början på de symboliska adresserna "Fin", "Kulör" respektive "Vit". Omsätt den nya flödesplanen i ett program skrivet med FLISP instruktioner. Ledning: Varje tvättemperatur motsvaras av ett unikt bitmönster i de tre minst signifikanta positionerna i data från inport FB 16, 60 C Kulörtvätt motsvaras t.ex. av: x2x1x0 = 010. FB 16 x 7 x 6 x 5 x 4 x 3 x 2 x 1 x 0 "1" om 40 "1" om 90 "1" om 60