EDA Digital och Datorteknik

Relevanta dokument
Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

Assemblerprogrammering del 2

Assemblerprogrammering del 1

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

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

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

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

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

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

EDA215 Digital- och datorteknik för Z

Digital- och datorteknik

Extrauppgifter för CPU12

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

FLEX Instruktionslista

INSTRUKTIONSLISTA för FLEX-processorn

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

Assemblerprogrammets struktur; exempel

Digital- och datorteknik

Maskinorienterad Programmering 2010/11

Digital- och datorteknik

Programmering i maskinspråk (Maskinassemblering)

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

Digital- och datorteknik

Digital- och datorteknik

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

Digital- och datorteknik

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

Assemblerprogrammering

Assemblerprogrammering del 3

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

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

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

Programmering i maskinspråk (Maskinassemblering)

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

LV6 LV7. Aktivera Kursens mål:

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

Reducerad INSTRUKTIONSLISTA för FLIS-processorn

Exempel 3 på Tentamen

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

TENTAMEN (Något redigerad)

Tentamen (Svar och lösningsförslag)

Exempel 1 på Tentamen med lösningar

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

Assemblerprogrammets. struktur; exempel

TENTAMEN(Nu anpassad till FLIS- processorn)

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:

Tentamen med lösningar

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

Assemblerprogrammering för HCS12

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

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

Programexempel för FLEX

Maskinorienterad programmering

Maskinorienterad programmering

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

Maskinorienterad programmering

TENTAMEN. Digital- och datorteknik. Institutionen för data- och informationsteknik Avdelningen för datorteknik LEU431. Lars-Eric Arebrink

Föreläsningsanteckningar 2. Mikroprogrammering I

MC68HCS12 - översikt

ALU:n ska anslutas hur då?

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

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

Lösningsförslag tenta

DAT 015 Maskinorienterad Programmering 2010/11. Ur innehållet: Historik Översikt, single-chip-computer DG256 Programmerarens bild (Exempel)

LEU240 Mikrodatorsystem

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

Exempel 2 på Tentamen med lösningar

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

FLEXIBLE INSTRUCTION SET PROCESSOR FLISP

CHALMERS TEKNISKA HÖGSKOLA

Centralenheten: ALU, dataväg och minne

EDA Digital och Datorteknik

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

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

FLEXIBLE INSTRUCTION SET PROCESSOR FLISP

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Kontrollskrivning Mikrodatorteknik CDT S2-704

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

Digital- och datorteknik

TENTAMEN (med svar och vissa lösningar)

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf

Digital- och datorteknik. Lars-Eric Arebrink. Av institutionen utgiven instruktionlista FLEXIBLE INSTRUKTION SET PROCESSOR FLISP

CE_O3. Nios II. Inför lab nios2time

Assemblerprogrammeringsuppgifter för FLIS-processorn

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

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

4.1. Assemblerspråket

Övningsuppgifter i Mikrodatorteknik 4p/5p

9 Assemblerprogrammering. Innehåll GRUNDLÄGGANDE DATORTEKNIK FÖR HÖGSKOLANS INGENJÖRSUTBILDNINGAR KOMPENDIUM

Exempel på tentamen 1

Tentamen. Datorteknik Y, TSEA28

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

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

Tentamen. Datorteknik Y, TSEA28

Avbrottshantering. Övningsuppgifter

Transkript:

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 programmeraren Datatyper Adresseringssätt Användning av adressrum Minne för program och data In- och ut- matning Digital och Datorteknik EDA45 200/20 Programmerarens bild av FLEX Instruktioner Load/Store LDAA, LDAB, LDX, LDS, LEAX, LEAS STAA, STAB, STX, STS Data movement TFR regs,regd Program (Flow) control JMP, JSR, BRA, BSR, B(condition) Integer arithmetic/test ADDA, ADDB, ADCA, ADCB, SUBA, SUBB, SBCA, SBCB, CLRA, CLRB, CLR, NEGA, NEGB, NEG, DECA, DECB, DEX, DEC, INCA, INCB, INX, INC, CMPA, CMPB, X, S, BITA, BITB Logical operations ANDA, ANDB, ORAA, ORAB, ANDCC, ORCC, EORA, EORB, COMA, COMB, COM Shift/rotate ASLA, ASLB, ASL, ROLA, ROLB, ROL Stack operations PSHA, PSHB, PSHC, PSHX, PULA, PULB, PULC, PULX Register 7 0 A 7 0 B 7 0 X 7 0 PC 7 0 SP 3 0 N Z V C ACCUMULATOR A ACCUMULATOR B INDEX REGISTER PROGRAM COUNTER STACK POINTER CONDITION CODES REGISTER Adresseringssätt Inherent Omedelbar Absolut Register relativ Auto pre- increment/decrement Auto post- increment/decrement PC-relativ 2

Operationer - FLEX Digital och Datorteknik EDA45 200/20 Load/Store LDAA, LDAB, LDX, LDS, LEAX, LEAS STAA, STAB, STX, STS Data movement TFR regs,regd regd Program (Flow) control JMP, JSR, BRA, BSR, B(condition) Integer arithmetic/test ADDA, ADDB, ADCA, ADCB, SUBA, SUBB, SBCA, SBCB, CLRA, CLRB, CLR, NEGA, NEGB, NEG, DECA, DECB, DEX, DEC, INCA, INCB, INX, INC, CMPA, CMPB, X, S, BITA, BITB Logical operations ANDA, ANDB, ORAA, ORAB, ANDCC, ORCC, EORA, EORB, COMA, COMB, COM Shift/rotate ASLA, ASLB, ASL, ROLA, ROLB, ROL Stack operations PSHA, PSHB, PSHC, PSHX, PULA, PULB, PULC, PULX 3 Adresseringssätt - FLEX Inherent Omedelbar Absolut Register relativ Digital och Datorteknik EDA45 200/20 Auto pre- increment/decrement Auto post- increment/decrement PC-relativ 4

Digital och Datorteknik EDA45 200/20 FLEXsimulator Minne för program och data 5 FLEX och omvärlden Digital och Datorteknik EDA45 200/20 Dataväg Reg MA Adressbuss LD MA LD A OE A Reg A LD B OE B Reg B 0 0 C M U 2 X C 3 2 g g 0 Funkt C in D LD R OE R LD T ALU U Reg R Reg T E Flaggor g 2 LD CC OE CC 0 MUX Reg CC LD X OE X Reg X IncS DecS LD S S IncPC LD PC PC OE S OE PC Databuss Pe eriferie enhete er LD I Reg I 30 st styrsignaler från styrenhet Flaggor Reset Styrbuss Styrenhet Processor MW MR 6

Digital och Datorteknik EDA45 200/20 Periferienheter i Enhet som ansluts till centralenhetens buss-system kallas periferienhet. För varje periferienhet finns ett gränssnitt för in- och ut-matning (IO-interface) Adressbuss Databuss Styrbuss Gräns-snitt Gränssnitt Minnes- system Periferienheter 7 Digital och Datorteknik EDA45 200/20 Parallell utmatning Styrbuss Logik Databuss LD Data Register OE 0 IO Interface (Ut-port) Typisk tillämpning PÅ/AV LED (Light Emitting Diode) AV PÅ 8

Digital och Datorteknik EDA45 200/20 Parallell inmatning Typisk tillämpning: Avläs PÅ/AV Styrbuss Databuss 0 5V Logik OE Data Register LD IO Interface (In-port) AV PÅ 9 FLEX - Minnesdisposition iti Digital och Datorteknik EDA45 200/20 00 0 FD A 7 A 6 A 5 A 4 A 3 A 2 A A 0 0 Port Minne för program och data FE 0 Port2 PortEnable = A 7 A 6 A 5 A 4 A 3 A 2 A A 0 Port2Enable = A 7 A 6 A 5 A 4 A 3 A 2 A A 0 FC FD FE FF IO IO RESET Portar Startadress MemoryEnable = PortEnable & Port2Enable 0

Digital och Datorteknik EDA45 200/20 Port - Avkodningslogik ik MW A 0 A A 2 A 3 A 4 A 5 & & & FD UT FD IN A 6 A 7 MR Digital och Datorteknik EDA45 200/20 Port 2 - Avkodningslogik ik MW A 0 A A 2 A 3 A 4 A 5 & & & FE UT FE IN A 6 A 7 MR 2

FLEX - Realisering i Digital och Datorteknik EDA45 200/20 D0 D D2 D3 D4 D5 D6 D7 U A0 A A2 A3 A4 A5 A6 A7 MW MR Logik D0 A0 D A D2 A2 D3 A3 D4 A4 D5 A5 D6 A6 D7 A7 MW MR CE MINNE D0 LD D OE D2 D3 D4 D5 D6 D7 D0 LD D OE D2 D3 D4 D5 D6 D7 D0 LD D OE D2 D3 D4 D5 D6 D7 D0 LD D OE D2 D3 D4 D5 D6 D7 Adressbuss Databuss Styrbuss Port Port 2 3 Periferikretsar ik Digital och Datorteknik EDA45 200/20 STAA $FD LDAA $FD 4

Digital och Datorteknik EDA45 200/20 7-segment NBCD 2 7-segment b 7 b 6 b 5 b 4 b 3 b 2 b b 0 b 7 b 6 b 5 b 4 b 3 b 2 b b 0 5 Digital och Datorteknik EDA45 200/20 EXEMPEL Rinnande ljus Raden är en kommentar Assemblerdirektiv ORG (Origin) label symbol för adress Referens till symbolisk adress Listfilen skapas vid assembleringen 6

Digital och Datorteknik EDA45 200/20 Ytterligare Assemblerdirektiv Assemblerdirektiv EQU (equate) Assemblerdirektiv FCB (form constant byte) 7 Digital och Datorteknik EDA45 200/20 Assemblerspråk Assemblerspråket består dels av mnemoniska beteckningar för FLEX s instruktioner och adresseringssätt dels av en uppsättning pseudoinstruktioner, även kallade assemblerdirektiv. Mnemoniska beteckningar för instruktioner Se Instruktionslista. Adresseringssätt Syntax för att ange specifikt adresseringssätt har beskrivits. Prefix för talbaser Tal givna på decimal form saknar prefix För att ange tal på binär form används prefixet % För att ange tal på hexadecimal form används prefixet $ $ Assemblerdirektiv ( pseudoinstruktioner ) Direktiv till assemblator (EJ maskininstruktioner). 8

Digital och Datorteknik EDA45 200/20 ORG <Val> ORIGIN : Om en symbol används för att ange adressen måste denna vara definierad, dvs inga framåtreferenser är tillåtna här. Sym EQU <Val> EQUATE : Symbolen Sym representerar värdet <Val>. [Sym] FCB <Val>,<Val>... FORM CONSTANT BYTE : Skapar en sträng med initierade data i minnet [Sym] FCS <ASCII tecken> FORM CONSTANT STRING: Skapar en sträng med ASCII-tecken i minnet. [Sym] RMB <Val> RESERVE MEMORY BYTES : Reservera <Val> bytes i minnet. Innehållet i dessa är odefinierat. <Val> Sym [Sym] Värde (adress eller data), kan anges som en konstant med godtycklig g talbas (godtyckligt g prefix). Kan också anges i form av symbol. Sym står här för ett godtyckligt (tillåtet) symbolnamn. Sym kan, men behöver inte anges. Då Sym anges kommer symbolen att tilldelas värdet hos adressen till den första byten av det reserverade minnet. 9 Assemblering Digital och Datorteknik EDA45 200/20 Källtext assembleras, symboliska adresser bestäms, mnemonics översätts till maskinkod. Resultatet är en bild av program/minne färdig att överföras till måldatorn (.S9) och en listfil (.LST).S9.SFLEX fil absolutassemblator ato.lst 20

Digital och Datorteknik EDA45 200/20 Assemblerprogrammets struktur; exempel Start Läs Inport Skriv till Utport ; Programmet läser från en inport och kopierar till en utport InPort EQU $FD OutPort EQU $FE ORG $20 Start: LDAA InPort ; Läs från inporten STAA OutPort t ; Skriv till utporten t BRA Start ; Börja om... Symbolfält, Instruktion Operand(er) Eventuell kommentarstext blankt eller kommentar (mnemonic) eller assemblerdirektiv till instruktion eller argument till direktiv Fälten separeras med blanktecken, dvs tabulatur eller mellanslag. 2 Digital och Datorteknik EDA45 200/20 Exempelsamlingens uppgift 8.7 Skriv en subrutin MASKBIT för FLEX-processorn som maskerar (nollställer) bit 7 i varje byte inom adressområdet (40) 6 -(60) 6. Vi löser på tavlan... 22

Digital och Datorteknik EDA45 200/20 Exempelsamlingens uppgift 8.2 Översätt följande assemblerprogram för FLEX till maskinkod (assemblera programmet). Rita en figur av minnet där det klart framgår hur maskinkod och assemblerkod hör ihop och vilka minnesadresser maskinkoden är placerad på. ORG $30 Start LDX #$0C LOOP LDAA,X+ STAA $FE DECB BPL LOOP LDAA 2 NOP Vi löser på tavlan... 23