Hirdetés

Új hozzászólás Aktív témák

  • Szirty

    őstag

    válasz drgab #2920 üzenetére

    Helló drgab!

    Igen, SHL_W word-öt (16 bitet) shiftel. De ez nem baj, mert az a 3 ami neked kell benne van ebben a 16 ban :)
    Persze megvan az a hátránya, hogy ha csak az alsó 3 bit kell neked, akkor a többi kvázi fölösleges (elvész).
    De ha nagyon fontos hogy őgí működjön mint az FC92, az is megoldható.
    Három változatot csináltam. Az első egy teljes byte-ot használ fel a léptetésre:

    Igaz, hogy az SHL_W 16 bitet shiftel, de csak 8-at (byte) töltöttem bele.
    Igaz ezt alapból el sem fogadja a fordító, sajnos ki kell kapcsolni hozzá a típus ellenőrzést (Type check of addresses).
    Ez a módszer az egész MB222 merker byte-ot használja, tehát az MB222.3-MB222.7-ig terjedő 5 bitet nem használhatjuk fel a programban, ám ezek a bitek tartalmazzák a 4. az 5. a 6. stb lépéssel azelőtti állapotot (ha netán szükség lenne rá).

    Ha azt akarod, hogy csak az alsó 3 bitet léptesse az MB222-ben, akkor maszkolni kell és átmeneti változókra is szükség lesz. Létrában ez:

    STL-ben egyszerűbb megcsinálni, nem kell hozzá csak egy átmeneti változó. Bár azt is ki lehetne talán küszöbölni egy kis trükkel:

Új hozzászólás Aktív témák