Digital- och datorteknik

Relevanta dokument
Digital- och datorteknik

Reducerad INSTRUKTIONSLISTA för FLIS-processorn

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

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

Digital- och datorteknik

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

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

FLEXIBLE INSTRUCTION SET PROCESSOR FLISP

FLEXIBLE INSTRUCTION SET PROCESSOR FLISP

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

Programexempel för FLEX

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

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

Digital- och datorteknik

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

Exempel 1 på Tentamen med lösningar

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

Tentamen med lösningar

Exempel 3 på Tentamen

EDA Digital och Datorteknik

Lösningsförslag tenta

Digital- och datorteknik

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

Digital- och datorteknik

LV6 LV7. Aktivera Kursens mål:

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

CHALMERS TEKNISKA HÖGSKOLA

Styrenheten styrsignalsekvenser programflödeskontroll

FLEX Instruktionslista

Exempel 2 på Tentamen med lösningar

Föreläsningsanteckningar 2. Mikroprogrammering I

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

Digital- och datorteknik

LABORATION. Datorteknik Y

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

Laboration nr 3 behandlar

Assemblerprogrammering del 3

EDA215 Digital- och datorteknik för Z

ALU:n ska anslutas hur då?

INSTRUKTIONSLISTA för FLEX-processorn

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

Tentamen. Datorteknik Y, TSEA28

Digital- och datorteknik

Assemblerprogrammering del 2

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

Tentamen (Svar och lösningsförslag)

Tentamen. Datorteknik Y, TSEA28

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. Datorteknik Y, TSEA28

TENTAMEN(Nu anpassad till FLIS- processorn)

LABORATION. Datorkonstruktion D

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

LABORATION. Datorteknik Y Datorkonstruktion D

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

EDA Digital och Datorteknik

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

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

Digital- och datorteknik

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

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Digital- och datorteknik

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

Extrauppgifter för CPU12

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

Tentamen. Datorteknik Y, TSEA28

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

Tentamen (Exempel) Datorteknik Y, TSEA28

F4: Assemblerprogrammering

Digital- och datorteknik

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

Centralenheten: ALU, dataväg och minne

Tentamen. Datorteknik Y, TSEA28

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

Assemblerprogrammering för ARM del 2

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen (Exempel) Datorteknik Y, TSEA28

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

Datorsystemteknik DVGA03 Föreläsning 8

Tentamen. Datorteknik Y, TSEA28

Digital- och datorteknik

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

Tentamen (Exempel) Datorteknik Y, TSEA28

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

TENTAMEN (Något redigerad)

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

Mikroprogrammering I

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

3. Mikroprogrammering II

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

TSEA28 Datorteknik Y (och U)

Övningsuppgifter i Mikrodatorteknik 4p/5p

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

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

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Assemblerprogrammets struktur; exempel

Transkript:

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, och slutliga, version av datavägen har vi fått ytterligare tre pekarregister: X, Y och SP. Register X och Y används generellt till att referera till datastrukturer i primärminnet, t ex listor, tabeller eller köer. Stackpekaren, SP, används som referens till en datastruktur, kallad stacken, där temporära variabler och programflödesadresser lagras. OE X, OE Y och OE SP väljer om innehållet i respektive register skall läggas ut på bussen. LD X, LD Y och LD SP väljer om respektive register skall uppdateras eller ej. Operationer på stacken sker så ofta att man har speciella styrsignaler för att ändra värdet på SP. INC SP och DEC SP anger om värdet i SP skall ökas resp. minskas med 1. 1

g 13 och g 12 anger vilket av pekarregistren X, Y, SP, eller PC som adresserar minnet när g 14 = 0. g 14 anger om minnet skall adresseras via TA (g 14 =1) eller via något av de andra pekarregistren (g 14 = 0). Värdet 0 behövs så ofta i register T att man har en speciell styrsignal CLR T för att nollställa registret. Värdet i T adderas alltid till värdet i det pekarregister (X, Y, SP eller PC) som valts med g 13 och g 12. Programmerarens modell av datorn: Operationer på datavägen ges med hjälp av ett maskinspråk, vilket är en uppsättning maskininstruktioner (binära kodord) som är avsedda att avkodas av datorn. Den, för människan, läsbara representationen av ett maskinspråk kallas assemblerspråk. För att reducera mängden detaljer, och därmed också reducera risken för att införa fel, kan den som programmerar datorn med hjälp av maskinspråk bara direkt referera till en delmängd av datavägens register. Var lagrar vi instruktionerna? Sett från programmerarens perspektiv: Ett datorprogram består av sekvenser av maskininstruktioner. Maskininstruktionerna lagras i primärminnet, i enlighet med Turings/von Neumanns det lagrade programmets princip. Sett från datavägens perspektiv: Till varje operationskod i en maskininstruktion hör en sekvens av RTN-operationer (styrsignaler). RTN-operationerna lagras i den automatiska styrenheten, och utgör för programmeraren en icke-synlig och icke-modifierbar del av datorns hårdvara. 2

Den automatiska styrenhetens tre faser: Återställningsfas (RESET): Adressen till programmets första maskininstruktion hämtas från datorns resetvektor (minnescellen på adress FF 16 ) och lagras i PC. Hämtfas (FETCH): En operationskod hämtas (från den minnescell vars adress ligger i PC) och lagras i register I. Utförandefas (EXECUTE): Innehållet i register I (en operationskod) avkodas och den till operationskoden tillhörande sekvensen av RTNoperationer genomlöps. Om styrenheten skall fungera som tänkt måste minnet alltså innehålla 1. adressen till första maskininstruktion i minnescellen på adress FF 16 2. en maskininstruktion i varje minnescell vars adress kan komma att lagras i PC Den automatiska styrenhetens tre faser: Sekvensnätet som realiserar styrenhetens tre faser har följande tillståndsgraf: RESET Q0 Q1 Q2 Q3 Q4 Tillstånd Q 0, Q 1 och Q 2 motsvarar RESET-fasen Tillstånd Q 3 motsvarar FETCH-fasen Tillstånd Q 4 Q 15 reserveras för de sekvenser av RTN-operationer som utförs i EXECUTE-fasen för aktuell maskininstruktion Q5 Q15 LÄRARUTGÅVA - Arbetsbok för DigiFlisp 13.6 Konstruktion av sekvensierare för FLISP I detta avsnitt ska en räknare med två styrsignaler konstrueras. Maskinen konstrueras med D-vippor och enkla grindar. Vi kommer att använda maskinen som sekvensierare i styrenheten i nästa kapitel. Uppgift 13.7 I denna uppgift ska du konstruera en något mer komplex tillståndsmaskin. Maskinen har 16 olika tillstånd. Den automatiska styrenhetens tre faser: Räknesekvensen är 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0... Signalen RESET =1 tvingar maskinen till tillstånd 0. Sekvensnätet som realiserar styrenhetens tre faser har följande Signalen =1 tvingar maskinen till tillstånd 3. tillståndsgraf: Insignal RESET återställer styrenheten. Följande tillståndsgraf beskriver alltså maskinen: RESET Q0 Q1 Q2 Q3 Q4 Tillstånd Vi Qutgår 0, Qfrån 1 och en autonom Q 2 motsvarar räknare med RESET-fasen den angivna räknesekvensen. Börja med att bestämma d-funktionerna följande tabell. Tillstånd Q 3 motsvarar FETCH-fasen Tillstånd Q 4 Q 15 reserveras för de sekvenser av RTN-operationer Nuvarande tillstånd Nästa tillstånd som utförs i EXECUTE-fasen för aktuell maskininstruktion q3 q2 q1 q0 d3 d2 d1 d0 q3 + q2 + q1 + q0 + 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 0 1 Q5 Q15 Det sista tillståndet i en sekvens måste aktivera insignal för att ny instruktion skall hämtas. Varje operationskod motsvarar en sekvens med en viss längd. 3 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 Hur genereras styrsignalerna (RTN-operationerna)? Styrsignalerna till datavägen genereras av ett kombinatoriskt Fyll därefter i Karnaughdiagrammen nät som på har nästa sida. följande insignaler: Tillståndssignalerna i sekvensnätet Innehållet i register I (= nuvarande maskininstruktionens operationskod) Datavägens flaggbitar 91

b0 b1 b2 b3 b4 b5 b6 b7 I251 CP LDI Hur genereras styrsignalerna (RTN-operationerna)? Insignalerna till styrenhetens kombinatoriskt nät genererar i sin tur, via olika avkodare, ett antal interna generatorsignaler. F 8.13 A I I0 I1 I2 I255 I254 I253 I252 I3 I4 Generatorsignalerna kombineras via AND/OR-nät så att en viss styrsignal aktiveras för en viss instruktion I x vid ett visst tillstånd Q y. Styrsignaler kan även aktiveras enbart för en viss kombination av flaggbitar (vid villkorliga hoppinstruktioner). Adresseringsmetoder En maskininstruktions adresseringmetod ges av instruktionens operationskod, och uttrycker läge ( source & destination ) eller värde för instruktionens operander. Adresseringmetoden påverkar därför # bytes som behövs för att lagra maskininstruktionen i minnet längden (# klockcykler) på den sekvens av tillstånd som maskininstruktionen utnyttjar i styrenhetens EXECUTE-fas Qm Ik & B Qn Il & Styrsignal p AND 00 2 10 3 20 5 30 3 40 3 50 3 60 3 70 3 80 3 90 2 A0 3 B0 3 C0 3 D0 3 E0 F0 2 NOP PSHA BSR STX STX STX STX STX STX LDX LDX LDX LDX LDX LDA ih 1 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 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 F1 3 ANDCC PSHX BRA STY STY STY STY STY STY LDY LDY LDY LDY LDY STA LDA 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 ab 2 ab 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 F2 3 ORCC PSHY BMI STSP STSP STSP STSP STSP STSP LDSP LDSP LDSP LDSP LDSP STA LDA 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 ns 2 03 13 3 23 4 33 2 43 2 53 4 63 4 73 4 83 4 93 4 A3 5 B3 5 C3 5 D3 5 E3 3 F3 3 PSHCC BPL JMP RTS JMP JMP JMP JMP SBCA SBCA SBCA SBCA SBCA STA LDA ih 1 pc 2 ab 2 ih 1 nx 2 ax 1 ny 2 ay 1 im 2 ab 2 ns 2 nx 2 ny 2 nx 2 nx 2 04 14 3 24 4 34 4 44 6 54 5 64 5 74 5 84 5 94 4 A4 5 B4 5 C4 5 D4 5 E4 3 F4 3 PULA BEQ JSR RTI JSR JSR JSR JSR SUBA SUBA SUBA SUBA SUBA STA LDA ih 1 pc 2 ab 2 ih 1 nx 2 ax 1 ny 2 ay 1 im 2 ab 2 ns 2 nx 2 ny 2 ax 1 ax 1 05 3 15 3 25 4 35 3 45 3 55 3 65 3 75 3 85 3 95 4 A5 5 B5 5 C5 x D5 5 E5 4 F5 4 CLRA PULX BNE CLR CLR CLR CLR CLR CLR ADCA ADCA ADCA ADCA ADCA STA LDA ih 1 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 x+ 1 x+ 1 06 3 16 3 26 4 36 4 46 4 56 4 66 4 76 4 86 4 96 4 A6 5 B6 5 C6 5 D6 5 E6 4 F6 4 NEGA PULY BVS NEG NEG NEG NEG NEG NEG ADDA ADDA ADDA ADDA ADDA STA LDA ih 1 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 x- 1 x- 1 07 3 17 3 27 4 37 4 47 4 57 4 67 4 77 4 87 4 97 3 A7 4 B7 4 C7 4 D7 4 E7 4 F7 4 INCA PULCC BVC INC INC INC INC INC INC CMPA CMPA CMPA CMPA CMPA STA LDA ih 1 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 +x 1 +x 1 08 3 18 2 28 4 38 4 48 4 58 4 68 4 78 4 88 4 98 3 A8 4 B8 4 C8 4 D8 4 E8 4 F8 4 DECA TFR A,C BCS DEC DEC DEC DEC DEC DEC BITA BITA BITA BITA BITA STA LDA ih 1 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 -x 1 -x 1 09 2 19 2 29 4 39 3 49 3 59 3 69 3 79 3 89 3 99 4 A9 5 B9 5 C9 5 D9 5 E9 3 F9 3 TSTA TFR C,A BCC TST TST TST TST TST TST ANDA ANDA ANDA ANDA ANDA STA LDA ih 1 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 ny 2 ny 2 0A 3 1A 2 2A 4 3A 4 4A 4 5A 4 6A 4 7A 4 8A 4 9A 4 AA 5 BA 5 CA 5 DA 5 EA 3 FA 3 COMA TFR X,Y BHI COM COM COM COM COM COM ORA ORA ORA ORA ORA STA LDA ih 1 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 ay 1 ay 1 0B 3 1B 2 2B 4 3B 4 4B 4 5B 4 6B 4 7B 4 8B 4 9B 4 AB 5 BB 5 CB 5 DB 5 EB 4 FB 4 LSLA TFR Y,X BLS LSL LSL LSL LSL LSL LSL EORA EORA EORA EORA EORA STA LDA ih 1 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 y+ 1 y+ 1 0C 3 1C 2 2C 4 3C 4 4C 4 5C 4 6C 4 7C 4 8C 4 9C 3 AC 4 BC 4 CC 4 DC 4 EC 4 FC 4 LSRA TFR X,S BGT LSR LSR LSR LSR LSR LSR CMPX CMPX CMPX LEAX LEAX STA LDA ih 1 ih 1 pc 2 ab 2 ns 2 nx 2 ax 1 ny 2 ay 1 im 2 ab 2 ns 2 nx 2 ns 2 y- 1 y- 1 0D 3 1D 2 2D 4 3D 4 4D 4 5D 4 6D 4 7D 4 8D 4 9D 3 AD 4 BD 4 CD 4 DD 4 ED 4 FD 4 ROLA TFR S,X BGE ROL ROL ROL ROL ROL ROL CMPY CMPY CMPY LEAY LEAY STA LDA ih 1 ih 1 pc 2 ab 2 ns 2 nx 2 ax 1 ny 2 ay 1 im 2 ab 2 ns 2 ny 2 ns 2 +y 1 +y 1 0E 3 1E 2 2E 4 3E 4 4E 4 5E 4 6E 4 7E 4 8E 4 9E 3 AE 4 BE 4 CE 4 DE 4 EE 4 FE 4 RORA TFR Y,S BLE ROR ROR ROR ROR ROR ROR CMPSP CMPSP LEASP LEASP LEASP STA LDA ih 1 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 -y 1 -y 1 0F 3 1F 2 2F 4 3F 4 4F 4 5F 4 6F 4 7F 4 8F 4 9F 4 AF 4 BF 4 CF 4 DF EF FF ASRA TFR S,Y BLT ASR ASR ASR ASR ASR ASR EXG A,C EXG X,Y EXG X,S EXG Y,S ih 1 ih 1 pc 2 ab 2 ns 2 nx 2 ax 1 ny 2 ay 1 ih 1 ih 1 ih 1 ih 1 Se sidan 11 i Instruktionslista för FLISP Inherent Information om operandens nya värde anges av själva operationskoden. T ex: CLA 0 A INCA Immediate A + 1 A Operandens värde anges av instruktionens operandinfo. T ex: LDA #$FF FF 16 A 4

Absolute (kallas ibland direct ) Operandens, eller hoppdestinationens, läge i primärminnet (den s k effektivadressen, EA) anges av instruktionens operandinfo. T ex: LDA $FF M(FF 16 ) A Indirect JMP $58 58 16 PC I denna adresseringmod (som dock ej finns på FLISP) anger operandinfo en adress i primärminnet där effektivadressen kan hämtas. PC relative EA utgörs av PC-registrets nuvarande värde plus en offset (i 2-komplementform). Värdet på offset anges av operandinfo. T ex: BRA L1 Egentligen lyder instruktionen: BRA offset där offset = { EA för L1 } { värde i register PC } Genom att ange hoppdestinationen relativt PC-registret kan programkoden placeras på godtycklig plats i minnet, s k positionsoberoende kod. Register indirect EA utgörs av en basadress plus en eventuell offset (i 2- komplementform). Varifrån basadress och offset hämtas anges av instruktionens operationskod och operandinfo. Ett av registren X, Y och SP måste ingå i beräkningen av EA. Dessutom kan en konstant (för X, Y och SP) eller innehållet i register A (för X och Y) ingå. Register indirect (forts.) Ett av registren X, Y och SP måste ingå i beräkningen av EA. Dessutom kan en konstant (för X, Y och SP) eller innehållet i register A (för X och Y) ingå. Exempel: STA 2,X LDSP A,Y EA = { värde i register X } + 2 ; A M(EA) EA = { värde i register Y } + { värde i register A } ; M(EA) SP LEASP -8,SP EA = { värde i register SP } 8 ; EA SP JMP 0,X EA = { värde i register X } + 0 ; EA PC 5

Register indirect (forts.) Observera att såväl ett register som en konstant kan utgöra basadress. Exempel: LDA $80,X basadress = { konstanten 80 16 } ; offset = { värde i register X } LEAX A,Y basadress = { värde i register A } ; offset = { värde i register Y } LEASP -8,SP basadress = { värde i register SP } ; offset = { konstanten -8 } 6