logo

Register av 8085 mikroprocessor

Introduktion:

A mikroprocessor är en multifunktionell, programmerbar, klockdriven, registerbaserad elektronisk enhet som läser binära instruktioner från en lagringsenhet som kallas minne, accepterar binär data som indata och bearbetar data enligt dessa instruktioner och ger resultat som utdata. En 8085 mikroprocessor, är en andra generationens 8-bitars mikroprocessor och är basen för att studera och använda alla mikroprocessorer som finns på marknaden.



Varför använda Register i 8085 mikroprocessor?

Här är några anledningar till varför register används i 8085-mikroprocessorn:

  1. Tillfällig lagring: Register används som tillfälliga lagringsplatser för data som behöver behandlas av mikroprocessorn. Till exempel, när man utför aritmetiska operationer, lagras operanderna vanligtvis i register.
  2. Adressering: Register används för att adressera minnesplatser i 8085-mikroprocessorn. Programräknaren (PC)-registret håller reda på minnesplatsen för den aktuella instruktionen, medan stackpekaren (SP)-registret håller reda på toppen av stacken.
  3. Ingång/utgång: Register används för att kommunicera med in-/utgångsenheter (I/O). Till exempel används ackumulatorregistret (A) för att kommunicera med databussen, som är ansluten till I/O-enheter.
  4. Statusinformation: Register används för att lagra statusinformation om mikroprocessorns tillstånd. Till exempel lagrar flaggregistret information om resultaten av aritmetiska och logiska operationer, inklusive om ett resultat är negativt, noll eller bär.
  5. Optimering: Register används för att optimera mikroprocessorns prestanda. Genom att använda register för att lagra ofta använda data och instruktioner kan mikroprocessorn komma åt denna information snabbare än om den behövt hämta den från minnet.

Registrerar i 8085:



(a) Register för allmänna ändamål – 8085 har sex allmänna register för att lagra 8-bitars data; dessa identifieras som B, C, D, E, H och L. Dessa kan kombineras som registerpar – BC, DE och HL, för att utföra någon 16-bitars operation. Dessa register används för att lagra eller kopiera temporär data, genom att använda instruktioner, under körningen av programmet.

java sträng till json

(b) Register för särskilda ändamål –

    Ackumulator: Ackumulatorn är ett 8-bitars register (kan lagra 8-bitars data) som är en del av den aritmetiska och logiska enheten (ALU). Efter att ha utfört aritmetiska eller logiska operationer lagras resultatet i ackumulatorn. Ackumulator definieras också som register A. Flagga register: Flaggregistret är ett specialregister och det skiljer sig helt från andra register i mikroprocessor. Den består av 8 bitar och endast 5 av dem är användbara. De andra tre lämnas tomma och används i framtida Intel-versioner. Dessa 5 flaggor ställs in eller återställs (när värdet på flaggan är 1 sägs den vara inställd och när värdet är 0 sägs den vara återställd ) efter en operation enligt datatillståndet för resultatet i ackumulatorn och andra register. De 5 flaggregistren är:
      Sign Flag: Den upptar den sjunde biten i flaggregistret, som också är känd som den mest signifikanta biten. Det hjälper programmeraren att veta om numret som lagras i ackumulatorn är positivt eller negativt. Om teckenflaggan är inställd betyder det att siffran som lagras i ackumulatorn är negativ, och om den återställs är siffran positivt. Nollflagga: : Den upptar den sjätte biten i flaggregistret. Den är inställd när operationen som utförs i ALU resulterar i noll (alla 8 bitar är noll), annars återställs den. Det hjälper till att avgöra om två tal är lika eller inte. Auxiliary Carry Flag: Den upptar den fjärde biten i flaggregistret. I en aritmetisk operation, när en bärflagga genereras av den tredje biten och skickas vidare till den fjärde biten, sätts Auxiliary Carry-flaggan. Om inte flaggan återställs. Denna flagga används internt för BCD (Binary-Coded decimal Number) operationer. Notera - Detta är det enda flaggregistret i 8085 som inte är tillgängligt för användaren. Paritetsflagga: Den upptar den andra biten i flaggregistret. Denna flagga testar för antal 1:or i ackumulatorn. Om ackumulatorn har ett jämnt antal 1:or, sätts denna flagga och den sägs vara jämn paritet. Å andra sidan om antalet 1:or är udda, återställs det och det sägs vara udda paritet. Bärflagga: Den upptar den nollte biten av flaggregistret. Om den aritmetiska operationen resulterar i en carry (om resultatet är mer än 8 bitar), så sätts Carry Flag; annars återställs den.

(c) Minnesregister – Det finns två 16-bitars register som används för att hålla minnesadresser. Storleken på dessa register är 16 bitar eftersom minnesadresserna är 16 bitar. Dom är :-



    Programräknare: Detta register används för att sekvensera utförandet av instruktionerna. Programräknarens funktion är att peka på minnesadressen från vilken nästa byte ska hämtas. När en byte (maskinkod) hämtas, ökas programräknaren med en för att peka på nästa minnesplats. Stackpekare: Den används som en minnespekare. Den pekar på en minnesplats i läs-/skrivminnet, kallad stacken. Den ökas/minskas alltid med 2 under push- och pop-drift.
      Teckenflagga (7:e biten): Den är återställd(0), vilket betyder att nummer som lagras i ackumulatorn är positivt. Nollflagga (6:e biten): Den återställs (0), så resultatet av de operationer som utförs i ALU:n är inte noll. Auxiliary Carry Flag (4:e biten): Vi kan se att b3 genererar en överföring som tas av b4, så aux-bärflaggan sätts (1). Paritetsflagga (2:a biten): Den är återställd(0), det betyder att pariteten är udda. Ackumulatorn har udda antal 1:or. Bärflagga (0:e bit): Den är inställd (1), utdata resulterar i mer än 8 bitar.

Användning av register för 8085 mikroprocessor:

Här är några vanliga användningsområden för de olika registren i 8085-mikroprocessorn:

  1. Ackumulatorregister (A): Ackumulatorregistret är det vanligaste registret i 8085-mikroprocessorn. Den används för aritmetiska och logiska operationer, såväl som för input/output (I/O) operationer. Ackumulatorn används också som en tillfällig lagringsplats för data.
  2. Program Counter (PC) register: PC-registret används för att hålla reda på minnesplatsen för den aktuella instruktionen. När en instruktion exekveras, inkrementeras PC-registret automatiskt för att peka på nästa instruktion i minnet.
  3. Stack Pointer (SP) register: SP-registret används för att hålla reda på toppen av stapeln. Stacken används för tillfällig lagring av data och returadresser under subrutinsamtal.
  4. Flaggregister: Flaggregistret används för att lagra statusinformation om resultaten av aritmetiska och logiska operationer, inklusive om ett resultat är negativt, noll eller bär.
  5. Register för allmänna ändamål (B, C, D, E, H och L): Dessa register används för allmän lagring av data, såväl som för adressering av minnesplatser. De kan användas i par som 16-bitars register, såsom BC, DE och HL, för mer effektiv adressering av minnesplatser.
  6. Instruktionsregister (IR) och maskincykelregister (MCR): Dessa register används internt av mikroprocessorn för att avkoda instruktioner och styra tidpunkten för maskincyklerna.

Funktioner i dessa register är:

  1. Alla register i 8085-mikroprocessorn är direkt åtkomliga av den aritmetiska och logiska enheten (ALU), vilket möjliggör effektiv databehandling.
  2. Ackumulatorregistret används som standarddestination för de flesta aritmetiska och logiska instruktioner, vilket förenklar programmeringen.
  3. De allmänna registren kan användas för att lagra data under beräkningar, men de kan också användas för att hålla minnesadresser, vilket gör dem användbara för att komma åt minnesplatser.
  4. Programräknaren och stackpekarregistren är avgörande för att hantera flödet av instruktioner och data inom ett program.
  5. Flaggregistret ger värdefull information om resultaten av aritmetiska och logiska operationer, vilket möjliggör effektivt beslutsfattande i program.
  6. Instruktionsregistret lagrar den aktuella instruktionen som exekveras, vilket möjliggör effektiv avkodning och styrsignalgenerering av styrenheten.

Fördelar:

    Snabb åtkomst: Register ger ett snabbt och effektivt sätt att komma åt data och utföra operationer. Eftersom registren är placerade inuti processorn kan de nås snabbt utan att behöva vänta på att data ska hämtas från minnet. Minskad minnesåtkomst: Användningen av register kan bidra till att minska antalet minnesåtkomster som krävs, vilket kan förbättra systemets övergripande prestanda. Specialiserad funktionalitet: Varje register i mikroprocessorn 8085 har en specifik funktion, såsom ackumulatorn för aritmetiska operationer och programräknaren för att lagra adressen till nästa instruktion. Denna specialiserade funktionalitet kan göra programmering och felsökning enklare. Minskad komplexitet: Genom att tillhandahålla dedikerade register för specifika ändamål, minskar 8085-mikroprocessorn komplexiteten i programmerings- och exekveringsprocessen.

Nackdelar:

    Begränsad lagringskapacitet: Mikroprocessorn 8085 har ett begränsat antal register, vilket kan begränsa mängden data som kan lagras och manipuleras vid varje given tidpunkt. Komplexa adresseringslägen: Vissa av adresseringslägena som används i 8085-mikroprocessorn kan vara komplexa, vilket kan göra programmering svårare. Kontextväxling: I vissa fall kan växling mellan olika uppsättningar register lägga till overhead och komplexitet till programmeringsprocessen. Brist på flexibilitet: Det fasta antalet och funktionen hos register i mikroprocessorn 8085 kan begränsa systemets flexibilitet och göra det svårare att anpassa sig till förändrade krav.