Hirdetés

Aktív témák

  • t3m1nat0r

    csendes tag

    A maradék regiszterek

    Stack Pointer
    Accumulator
    Index Register X
    Index Register Y
    Processor Status

    A Stack Pointer-ről már volt szó a szubrutin hívásnál. Ez egy ideiglenes tárolásra kijelölt memória területre
    mutat. Ide lehet olyan adatokat "lenyomni", amiket csak kevés ideig kell megőrízni.
    A magasszintű nyelvek lokális változói is ide kerülnek.
    Ehhez tartoznak a POP és PUSH műveletek, amikke a veremre rakhatunk adatot, vagy leszedhetjük onnan.

    PHA Push accumulator on stack
    PHP Push processor status on stack
    PLA Pull accumulator from stack N,Z
    PLP Pull processor status from stack

    Az Accumulator az a regiszter, ahol műveleteket végez a processzor az adatokon. A modernebb cpu-kon már több ilyen funkciójú regiszter is található, és így jobban optimalizálható a kód, kevesebbszer kell a memóriához fordulnia.
    Az index regiszterek a címzést segítik.

    A Processor Status vagy flag register bitjei különböző állapotait mutatják a processzornak. Ezeket bitműveleteket lehet végezni, és a Branches utasításokhoz is ezek adják meg a feltételeket. Ezek általában valamilyen művelet elvégzése után állnak be az adott állapotba. Mondjuk a "CMP Compare accumulator", ami összehasonlít két számot kivonás segítségével, két egyenlő értéket hasonlított össze. Ez a "Zero Flag" bitet fogja beállítani, ami majd a következő "BEQ Branch if zero flag set" vagy "BNE Branch if zero flag clear" utasítást fogja vezérelni.

Aktív témák