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

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

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

Digital- och datorteknik

Digital- och datorteknik

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

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

LV6 LV7. Aktivera Kursens mål:

EDA Digital och Datorteknik

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

Reducerad INSTRUKTIONSLISTA för FLIS-processorn

FLEXIBLE INSTRUCTION SET PROCESSOR FLISP

FLEXIBLE INSTRUCTION SET PROCESSOR FLISP

ALU:n ska anslutas hur då?

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

Programexempel för FLEX

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:

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

Digital- och datorteknik

Assemblerprogrammering del 1

Lösningsförslag tenta

EDA Digital och Datorteknik

Digital- och datorteknik

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

Föreläsningsanteckningar 2. Mikroprogrammering I

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

Digital- och datorteknik

Laboration nr 3 behandlar

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

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

EDA215 Digital- och datorteknik för Z

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

FLEX Instruktionslista

Programmering i maskinspråk (Maskinassemblering)

Exempel 1 på Tentamen med lösningar

Exempel 3 på Tentamen

TENTAMEN(Nu anpassad till FLIS- processorn)

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

Programmering i maskinspråk (Maskinassemblering)

Digital- och datorteknik

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

Digital- och datorteknik

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

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

Extrauppgifter för CPU12

Styrenheten styrsignalsekvenser programflödeskontroll

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

INSTRUKTIONSLISTA för FLEX-processorn

Tentamen (Svar och lösningsförslag)

TENTAMEN (Något redigerad)

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

Tentamen. Datorteknik Y, TSEA28

Ö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

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

Assemblerprogrammering del 2

Digital- och datorteknik

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

Digital- och datorteknik

CHALMERS TEKNISKA HÖGSKOLA

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

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

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

Grundläggande datavetenskap, 4p

Mikroprogrammering I

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

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

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik

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

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

Tentamen. Datorteknik Y, TSEA28

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

Tentamen. Datorteknik Y, TSEA28

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

Tentamen. Datorteknik Y, TSEA28

Assemblerprogrammering

Tentamen. Datorteknik Y, TSEA28

Datorsystemteknik DVGA03 Föreläsning 8

Digital- och datorteknik

Centralenheten: ALU, dataväg och minne

3. Mikroprogrammering II

LABORATION. Datorteknik Y

Tentamen. Datorteknik Y, TSEA28

LABORATION. Datorkonstruktion D

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Digital- och datorteknik

Tentamen. Datorteknik Y, TSEA28

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål

Maskinorienterad programmering

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Digital- och datorteknik

I DAG fo 4. Printerport v3 med READY o DAV. Avbrott. Hur bra blev det egentligen????

Maskinorienterad programmering

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

Grundläggande datorteknik - exempelsamling. Grundläggande datorteknik - exempelsamling

Transkript:

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 Program och hur detta lagras i minne Fatta hur datorn startar och arbetar Räknare och mera vippor Veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner i styrenheten. Kunna använda instruktionslistan och skriva mycket enkla assemblerprogram Studera olika instruktionstyper och adresseringsmoder Använda utvecklingsmiljön för FLISP State Summaterm RTN Styrsignaler = 1 Kommentar 4 Q 4 *I 23 A+T R OE A, LD T, f 3 f 1 f 0 5 Q 5 *I 23 R A OE R, LD A, NF Mask. prog Tillhörande i minnet assemblerprog Adr. 0C F0 LDA #$23 0D 23 0E A6 ADDA $F3 0F F3 10 02 TFR A,X 11 4F CMPA #$03 12 03 13 61 BLO $29 14 13 Gr Datorteknik OHLV4 1 Gr Datorteknik OHLV4 2 Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke... LV4 Fo10 STAA BorrStyr Fortsätt LDAA BorrStat ANDA #B1Mask CMPA #BorrNere BNE Fortsätt --- Assemblerspråk Beskrivning av styrsignaler CP1: OE PC =1, LD Adr =1, Inc PC =1 CP2: MR=1, LD T =1 CP3: OE DR1 =1, LD R, f 3 =1 f 1 =1... Gr Datorteknik OHLV4 3 Gr Datorteknik OHLV4 4 1

Arb s 95 Processorns arbetssätt RESET Processorns arbetssätt - RESET Arb s 101 PC: Programräknare (Pekar på nästa instruktion) Datadel Processor Dataväg Styrenhet Adressdel PC PC = 10 Q0) Bilda adressen FF Maskin Assembler program program Adr. 10 96 ADDA #$55 11 55 12 00 NOP 13 A6 ADDA $05 14 05 Q3) Läs (start adr) 10 från adr FF i minnet till PC FE FF 10 Reset Vektor Q2) Adressera Gr Datorteknik OHLV4 Minnet (Adr FF) 5 Tillstånd Summaterm RTN-beskrivning Styrsignaler (=1) Q 0 Q 0 FF 16 R f 1, f 0, LD R Q 1 Q 1 R TA OE R, LD TA Q 2 Q 2 M PC MR, g 14, LD PC Gr Datorteknik OHLV4 6 Processorns arbetssätt FETCH Processorns arbetssätt - FETCH Arb s 109 PC: Programräknare (Pekar på nästa instruktion) Datadel Processor Dataväg Adressdel PC = 10 Maskin Assembler program program Adr. 10 96 ADDA #$55 11 55 12 00 NOP 13 28 ADDA $05 14 05 I Reg Styrenhet FE FF 10 Reset Vektor Tillstånd Summaterm RTN-beskrivning Styrsignaler (=1) Q 3 Q 3 M(PC) I, PC+1 PC, 0 T, OE PC, LD I, INC PC, CLR T Gr Datorteknik OHLV4 7 Gr Datorteknik OHLV4 8 2

Processorns arbetssätt Execute Arb s 133 Flex konfigurationsfil: Test s 107 Arb s 107 ADDA #Data # ClearAllStates # ClearAllMemory # ClearAllRegisters Konfigurationsfiler Flisp ---------------------------------- - LÄS IN DINA MASKININSTRUKTIONER # load "flisp.hwflisp" ---------------------------------- - RESET-VEKTOR #setmemory FF=20 Flex konfigurationsfil: flisp.hwflisp Konfigurering av fast styrenhet i FLISP --- # load "basic.hwflisp" State Summa-term RTN Styrsignaler = 1 Kommentar 4 Q 4 *I 96 A+T R, ALU CC OE A, LD T, f 3 f 1 f 0, LD CC 5 Q 5 *I 96 R A OE R, LD A, NF ---------------------------------- - MASKINPROGRAM ---------------------------------- #setmemory 20=96 ADDA #$31 #setmemory 21=31 ---------------------------------- #setmemory 22=96 ADDA #$51 #setmemory 23=51 --- Gr Datorteknik OHLV4 9 Grundläggande Datorteknik fo10 10 Konfigurationsfiler Flisp - Konfigurationsfil:"BASIC.HWFLISP" - RESET/FETCH/EXCEPTION och NOP - RESET # MergeState F1= Q0 # MergeState F0= Q0 # MergeState LDR= Q0 # MergeState OER= Q1 # MergeState LDTA= Q1 # MergeState G14= Q2 # MergeState MR= Q2 # MergeState LDPC= Q2 - FETCH # MergeState MR= Q3 # MergeState CLRT= Q3 # MergeState LDI= Q3 # MergeState INCPC= Q3 - NOP - OP-kod:00 Antal klockcykler:1 - Flagpåverkan: Nej # MergeState NF= Q4*I00 - ADDA #Data - OP-kod:96 Antal klockcykler:4 - Flagpåverkan:NZVC # MergeState MR= Q4*I96 # MergeState LDT= Q4*I96 # MergeState INCPC= Q4*I96 # MergeState OEA= Q5*I96 # MergeState F3= Q5*I96 # MergeState F1= Q5*I96 # MergeState F0= Q5*I96 # MergeState LDR= Q5*I96 # MergeState LDCC= Q5*I96 # MergeState OER= Q6*I96 # MergeState LDA= Q6*I96 # MergeState NF= Q6*I96 -- LV4 Fo10 Gr Datorteknik OHLV4 12 3

Registeruppsättning Instruktionslistan s4 Adresseringssätt s4 Inherent [ih] Operanden eller operanderna ges direkt av instruktionen. Ingen extra operandinformation (utöver operationskod) krävs. Det finns ingen generell RTN-beskrivning för inherent adressering. Omedelbar (Immediate) [im] Operanden är kodad tillsammans med operationen. RTN: M(PC+1) Assemblersyntax: #<DATA> Gr Datorteknik OHLV4 13 Gr Datorteknik OHLV4 14 Adresseringssätt s5 Instruktionsgrupper s10 Absolut (Absolute) [ab] Operanden finns i minnet. Minnesadressen är kodad tillsammans med operationen. RTN: [M(PC+1)] Assemblersyntax: <ADRESS> Load/Store LDA, LDX, LDY, LDSP, LEAX / STA, STX, STY, STSP Data movement TFR, EXG Program (Flow) control JMP, JSR, BRA, BSR, B(condition), RTS, RTI Integer arithmetic ADDA, ADCA, SUBA, CLR, NEGA, DEC, INC Integer test CMPA, CMPX, CMPY, CMPSP, BITA, TSTA, TST Logical operations ANDA, ORA, ANDCC, ORCC, EORA, COMA, COM Shift/rotate ASRA, ASR, LSLA, LSL, LSRA, LSR, ROLA, ROL, RORA, ROR Stack operations PSHA, PSHCC, PSHX, PSHY, PULA, PULCC, PULX, PULY Misc. NOP Gr Datorteknik OHLV4 15 Gr Datorteknik OHLV4 16 4

Karta över operationskoder s11 Förklaring av innehållet i instruktionslistan s12 00 2 NOP ih 1 10 3 PSHA ih 1 20 5 BSR pc 2 30 3 STX ab 2 40 3 STX ns 2 50 3 STX nx 2 60 3 STX ax 1 70 3 STX ny 2 80 3 STX ay 1 90 2 LDX im 2 A0 3 LDX ab 2 B0 3 LDX ns 2 C0 3 LDX nx 2 D0 3 LDX ny 2 E0 F0 2 LDA im 2 01 4 11 3 21 4 31 3 41 3 51 3 61 3 71 3 81 3 91 2 A1 3 B1 3 C1 3 D1 3 E1 3 ANDC PSHX BRA STY STY STY STY STY STY LDY LDY LDY LDY LDY STA C ih 1 pc 2 ab 2 ns 2 nx 2 ax 1 ny 2 ay 1 im 2 ab 2 ns 2 nx 2 ny 2 ab 2 im 2 02 4 12 3 22 4 32 3 42 3 52 3 62 3 72 3 82 3 92 2 A2 3 B2 3 C2 3 D2 3 E2 3 ORCC PSHY BMI STSP STSP STSP STSP STSP STSP LDSP LDSP LDSP LDSP LDSP STA im 2 ih 1 pc 2 ab 2 ns 2 nx 2 ax 1 ny 2 ay 1 im 2 ab 2 ns 2 nx 2 ny 2 ns 2 F1 3 LDA ab 2 F2 3 LDA ns 2 Gr Datorteknik OHLV4 17 Instruktion/Variant Här anges instruktionens mnemonics med assemblersyntax för de tillgängliga adresseringssätten. Adressering OP Operationskod för instruktion, hexadecimal form # Antal bytes i instruktionen ~ Antal klockcykler som krävs för att utföra en instruktion Operationsbeskrivningar (RTN, register transfer notation) n Konstant uttryckt i talbas 10 N r Konstanten N uttryckt i talbasen r. Etc Etc etc etc etc Gr Datorteknik OHLV4 18 Instruktionen LSR Logical shift right RTN A >>1 A eller M >>1 M Flaggor N: Nollställs. Z: Ettställs om samtliga åtta bitar i resultatet blir noll. V: Ettställs om overflow vid 2-komplements-representation inträffar. C: bit 0 före skiftet blir ny carrybit efter skiftet. Beskrivning Skiftar operanden ett steg till höger, dvs. dividerar ett tal utan inbyggt tecken med 2 Instruktion Adressering Operation Flaggor LSR Variant metod OP # ~ N Z V C LSRA Inherent 0C 1 3 A>>1 A 0 Δ Δ Δ LSR Adr Absolute 3C 2 4 M(Adr)>>1 M(Adr) LSR n,sp Indexed 4C 1 4 M(n+SP)>>1 M(n+SP) LSR n,x Indexed 5C 2 4 M(n+X)>>1 M(n+X) LSR A,X Indexed 6C 1 4 M(A+X)>>1 M(A+X) LSR n,y Indexed 7C 2 4 M(n+Y)>>1 M(n+Y) LSR A,Y Indexed 8C 1 4 M(A+Y)>>1 M(A+Y) Gr Datorteknik OHLV4 19 s13 Handassemblering Assemblerprogram Maskinprogram LDA #$3C ADDA $43 STA 4,X JMP $2E? Adr 18 F0 19 3C 1A 96 1B 43 1C 3E 1D 4 1E 33 1F 2E 20 Gr Datorteknik OHLV4 20 5

Disassemblering Maskinprogram Assemblerprogram Adr 18 F0 19 3C 1A 96 1B 43 1C 3E 1D 4 1E 33 1F 2E 20? LDA #$3C ADDA $43 STA 4,X JMP $2E LV4 Fo10 Gr Datorteknik OHLV4 21 Gr Datorteknik OHLV4 22 Adresseringsmoder Hur hitta datat som instruktionen skall jobba på/med Inherent Immediate Absolut Operanden (data) är inbyggd i Op-koden OPkod Operandfältet innehåller data OPkod data Operandfältet innehåller adresseen till data OPkod adressen till data INCA LDA #$12 LDA $12 Adresseringssätt Inherent [ih] Operanden eller operanderna ges direkt av instruktionen. Ingen extra operandinformation (utöver operationskod) krävs. Det finns ingen generell RTN-beskrivning för inherent adressering. Omedelbar (Immediate) [im] Operanden är kodad tillsammans med operationen. RTN: M(PC+1) Assemblersyntax: #<DATA> s4 Gr Datorteknik OHLV4 23 Gr Datorteknik OHLV4 24 6

Adresseringssätt s5 Programexempel för FLISP Addera 4 till talet som finns på minnesadress 1C 16 Absolut (Absolute) [ab] Operanden finns i minnet. Minnesadressen är kodad tillsammans med operationen. RTN: [M(PC+1)] Assemblersyntax: <ADRESS> Programmet skall placeras med start på adress 26 16 Gr Datorteknik OHLV4 25 Gr Datorteknik OHLV4 26 LV4 Fo10 Execute State Summa-term RTN Styrsignaler = 1 Kommentar Gr Datorteknik OHLV4 27 Gr Datorteknik OHLV4 28 7

Arbetsgång: Knappa in en rad. Studera aktiverade signaler Studera bussens värden. Ge en klockpuls. Kontrollera nya registerinnehåll.. Var det detta jag ville??? Knappa in nästa rad, osv. LV4 Fo11 Veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner i styrenheten. Kunna använda instruktionslistan och skriva mycket enkla assemblerprogram Studera olika instruktionstyper och adresseringsmoder Studera utvecklingsmiljön för FLEX Dagens mål: Skriva mycket enkla assemblerprogram Implementera flera instruktioner i styrenheten Öva på användning av instruktionslistan Utvecklingsmiljön för FLEX Gr Datorteknik OHLV4 29 Gr Datorteknik OHLV4 30 Execute LV4 Fo11 State Summa-term RTN Styrsignaler = 1 Kommentar Gr Datorteknik OHLV4 31 Gr Datorteknik OHLV4 32 8

Adressering med register X Adressering med register X - forts Minnet Program Data LDA Adr OP-kod Adr LDA,X OP-kod Alt 1 Alt 2 LDA $23 M(23 16 ) A LDX #$23 23 X LDA,X M(X) A Gr Datorteknik OHLV4 33 Gr Datorteknik OHLV4 34 Adressering med register X - forts Indirekt register med konstant offset (Indexed) [nr] Instrux s 7 Minnet X Start på data-area Indirekt register med ackumulator offset (Indexed)[aR] Program n Här är data Data LDA n,x OP-kod n Indirekt register med pre/post decrement/increment (Indexed) M(X+n) A Gr Datorteknik OHLV4 35 Gr Datorteknik OHLV4 36 9

Uppgift Execute Skriv en instruktionssekvens för FLEX-processorn som nollställer bit 3-0 i alla minnesord i adressintervallet 35 16, 39 16. Använd X-registret för adressering. State Summa-term RTN Styrsignaler = 1 Kommentar Gr Datorteknik OHLV4 37 Gr Datorteknik OHLV4 38 LV4 Fo11 Hoppinstruktioner RESET FETCH EXECUTE Maskinprogram Tillhörande i minnet assemblerprogram Adr. 0C 10 LDB #$23 0D 23 0E 29 ADDB $F3 0F F3 10 02 TFR B,A 11 4F CMPB #$03 12 03 13 61 BLO $29 14 13 Villkorligao Ovillkorligahopp Gr Datorteknik OHLV4 39 Gr Datorteknik OHLV4 40 10

Ovillkorliga Hopp -Instruktioner JMP-Instruktion Arb s 123 Execute Ex: JMP $A6 Hoppa till Adr A6 16 och fortsätt (=gör FETCH) där OP-kod: $33 Ant. Byte: 2 RTN: EA PC Adr Minne 30 16 $07 OP 31 16 $06 OP 32 16 $33 OP 33 16 $A6 Adr.. A6 16 $A6 OP $23 Adr A7 16 INCA NEGA JMP $A6 ADDA $23 State Summa-term RTN Styrsignaler = 1 Kommentar EA: Effektiva Adressen Gr Datorteknik OHLV4 41 Gr Datorteknik OHLV4 42 Villkorliga hopp Relativa hopp 1) Om vi inte bearbetat alla dataord - bearbeta nästa dataord - börja om från 1) 2 ) Annars fortsätt med annat arbete Om PIN-koden är korrekt given - öppna telefonen Annars - stäng telefonen någon addition Om C=1 - så hoppa till felrutin Annars - fortsätt beräkningen Instruktionsformat OP-kod JMP Adr Adr RTN-beskrivning: Adr PC Instruktionsformat BRA Adr Minnes Adress k k+1 k+2 k+3 k+4 k+5 k+6 k+7 k+8 k+9 k+a Instruktioner i minnet Maskininstruktion i Maskininstruktion i+1 Maskininstruktion i+2 Maskininstruktion i+2 Maskininstruktion i+3 Maskininstruktion i+3 Maskininstruktion i+4 Maskininstruktion i+4 Maskininstruktion i+5 Maskininstruktion i+6 Maskininstruktion i+6 Vid villkorliga hopp används relativa hoppinstruktioner OP-kod Offset RTN-beskrivning (Processorn utför): PC+Offset PC Gr Datorteknik OHLV4 43 Gr Datorteknik OHLV4 44 11

Relativa hopp - forts Implementera EXECUTE-fasen för BRA Adr. Arb s 124 Instruktionsformat BRA Adr OP-kod Offset RTN-beskrivning: PC+Offset PC TillAdress - FrånAdress = Offset Minnes Adress k k+1 k+2 k+3 k+4 k+5 k+6 k+7 k+8 k+9 k+a Instruktioner i minnet Maskininstruktion i Maskininstruktion i+1 Maskininstruktion i+2 Maskininstruktion i+2 Maskininstruktion i+3 Maskininstruktion i+3 Maskininstruktion i+4 Maskininstruktion i+4 Maskininstruktion i+5 Maskininstruktion i+6 Maskininstruktion i+6 State Summa-term RTN Styrsignaler = 1 Kommentar Gr Datorteknik OHLV4 45 Gr Datorteknik OHLV4 46 LV4 Fo11 Vi höjer abstraktionsnivån Borrprogram STAA EjNere LDAA ANDA CMPA BNE --- BorrStyrRegister BorrStatusRegister #Bottensensor #BorrNere EjNere Borrprogram STAA $FE LDAA $FD ANDA #$20 CMPA #$20 BNE $B2 --- Gr Datorteknik OHLV4 47 Gr Datorteknik OHLV4 48 12

Utvecklingsmiljö för FLEX En utvecklingsmiljö innehåller: Editor otextredigering Assemblator (Översätter till maskinkod) oassemblerdirektiv (Styrinformation till assemblatorn) Laddare oflytta maskinkod från utvecklingssystemet till målsystemet Simulatorer oprocessorn ominnet oi/o Hjälpsystem oinstruktionslistor etc. etc. Gr Datorteknik OHLV4 49 Adress (Hex) 1F NY SIMULATOR ETERM för FLISP Maskin kod Assembler kod 20 F0 LDA #$72 21 72 22 07 INCA 23 E1 STA $05 24 05 25 06 NEGA 26 21 BRA $22 27 FA Arb s 146 Gr Datorteknik OHLV4 50 En källfil En listfil Sid 162 Gr Datorteknik OHLV4 51 Radnumrering Maskinprogram Minnesadress Gr Datorteknik OHLV4 Ditt assemblerprogram 52 13

Assemblatordirektiv Instrux s9 I/O-simulator ORIGIN : Anger startadress för påföljande kod/data. Om en ORG <Val> symbol används för att ange startadressen måste symbolen 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 ASCIItecken i minnet. [Sym] RMB <Val> RESERVE MEMORY BYTES : Reservera <Val> bytes i minnet. Minnesinnehållet på dessa adresser är odefinierat. Gr Datorteknik OHLV4 53 Gr Datorteknik OHLV4 54 14