Everest processzor - az eszköz kezdete óta eltelt idő mérése

Az előző cikkben beszéltünk az Everest csapatrendszer új kiterjesztéséről. Most beszéljünk arról, hogyan hajtottuk végre ezt a kiterjesztést a hardverleírás nyelvén. Az alábbiakban a hatodik menüpont eredménye látható - az intézkedések számának kinyomtatása a készülék indításakor:

Everest processzor - az eszköz kezdete óta eltelt idő mérése

A művelet algoritmusa meglehetősen egyszerű - ha megnyomja a "hatszámú" gombot, akkor a terminál az időszámlálóból származó adatok konvertálásával kapott időt jeleníti meg. A probléma megoldásához a parancsrendszer legfrissebb kiterjesztéseit használták.

Ezután egy intézkedésszámot használunk, hogy megjelenítse az állapotáról szóló információkat két 32 bites szóban:

Annak érdekében, hogy ne bonyolítsuk a kódot, újra elolvassuk a számlálót. Közvetlenül fordítsa le a mérőadatokat másodpercek alatt, és mentse a másodperc_count_lo helyi változóba.

Ezen a helyen pihenhet és kihozhatja az üzenetet, anélkül, hogy aggodalmai lennének a regiszterek további mentése miatt:

A következő a másodpercek másodpercek fordításának varázsa napokban, órákban, percekben és másodpercekben. Valójában nincs itt mágia - egy egyszerű, "szegfű" maradvány a részlegből:

Ezen a ponton a fenti kódrészlet végrehajtása után az R0 regiszter tartalmazza a firmware kezdete óta eltelt napok számát. Az órák, percek és másodpercek a memóriában helyi változók a veremben.

Következő lesz az eredmények kimenete. Vegye figyelembe, hogy a memória olvasási utasítás zászló ellenőrzésével kizárja az üres perceket és órákat a kimeneten. Valójában ez a parancsrendszer tesztelt kiterjesztése:

Igen, ez a kód nem nevezhető példamutatónak, és sok időt tölthet javítani, de kétszer teljesítette feladatát - segített az új funkciók hibaelhárításában, és anyagként szolgáltatta ezt a cikket. A generált bináris fájl mérete 660 bájt volt, amelyből 272 bájt volt a fenti kód és 388 bájtos könyvtári funkció - osztva és a terminállal dolgozott.

Ha e cikk olvasása előtt írtál néhány assembly nyelven, akkor a legvalószínűbb, ha már tudjuk, a másik szerelő. Ha szükséges, függetlenül ellenőrizze vagy javítsa a példa, akkor az új firmware-t a mi eszközök fedélzetén Marsohod2 - következő archív talál varrás, makro szerelő, néhány könyvtári funkciót és mintaprogramok.

Kapcsolódó hozzászólások