IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Debugger a interpreter x86 assembly v prehliadači

V predchádzajúcej lekcii, Verzovací nástroj Git a VS Code , sme sa naučili založiť vzdialený GitHub repozitár a verzovať svoje projekty pomocou základných Git operácií, ktoré nám VS Code ponúka.

Aplikácia umožňuje napísať program v x86 NASM syntaxi a spustiť ho v prehliadači. Spustený program je možné potom krokovať a sledovať stav vizualizované pamäte a registrov.

funkcia:

  • preklad, spustenie, krokovanie
  • zvýraznenie NASM syntaxe x86 assembly, kontrola syntaktických a sémantických chýb, možnosť vkladať komentáre
  • ovplyvnenie rýchlosti vykonávania programu, vkladanie Breakpoint do kódu
  • dva jednoduché interrupt - vypísanie hodnoty registra a vypísanie reťazca (výpis je vykonávaný do konzoly, ktorá je zobrazená v rámci aplikácie)
  • výpis pamäti po 1, 2 alebo 4 bytoch, ASCII interpretácia pamäti

V súčasnej verzii programu ani zďaleka nepodporuje všetky funkcie NASM ani x86 assembly (ani sa o to nesnaží). Obsahuje ale podľa môjho dosť základných inštrukcií na to, aby v nej išli napísať krátke programy.

Pre vytvorenie aplikácie mňa inšpirovala má magisterské štúdium, v ktorej som robil niečo podobné (vizualizáciu stavu programu pri ladení) pre C / C ++. Hľadal som niečo podobné online, našiel som toto, ale nepáčilo sa mi, že to používalo zjednodušenú inštrukčnú sadu, chcel som používať niečo, čo by zvládalo čo najviac z x86 assembly, aby sa to dalo jednoducho previesť do spustiteľného súboru. Motiváciou pre túto aplikáciu je hlavne výučba a experimentovanie s assembler, čo by mala uľahčovať práve vizualizácie pamäte.

Aplikácia je napísaná v TypeScriptu a Angular. Niektoré časti enginu assembleri sú otestované, UI zatiaľ nie. Prípadné chyby môžete oznamovať tady.

Aplikáciu je možné vyskúšať tu.

Zdrojový kód je tu.

Hodnotenie porotcov

Aplikácia bola vytvorená do súťaže ITnetwork summer 2017

Programátorská súťaž ITnetwork summer 2017 - Kurzy programovania v JavaScripte - Najväčší slovenský tutorial
  • David Čapka (9 bodov) - ASM známy len ako tie podivné sekvencie znakov, čo som stretával vtedy v pascalovských jednotkách, takže bohužiaľ nemôžem plne vyskúšať možnosti debuggera. Čo sa týka vzhľadu, Bootstrap vyzerá dobre, očakával by som to responzívne, škoda. Čo sa týka zdrojového kódu, vyzerá to dobre a pomerne rozsiahlo. Priložená ukážka funguje parádne, určite je to veľmi zaujímavý nástroj, snáď tí dá spätnú väzbu niekto tu zo siete, kto v ASM píše :)
  • Lucie Hartingerová (9 bodov) - Veľa pokročilých. Bohužiaľ nie som úplne schopná doceniť kvality také aplikácie, však zdrojové kódy a dokumentácia vyzerá dosť prepracovane :-)
  • Tomáš Bitter (8 bodov) - Nepoznám žiadne iné podobné aplikácie, takže nemám s čím porovnávať. Nemám k tomu veľmi čo vytknúť či vyzdvihnúť. Aplikácia sa mi celkovo páči; nástroje na debugovania sa proste vždy hodia, zvlášť u Assemblera.

Galéria


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 34x (116.37 kB)
Aplikácia je vrátane zdrojových kódov v jazyku JavaScript

 

Predchádzajúci článok
Verzovací nástroj Git a VS Code
Všetky články v sekcii
Kurzy programovania v JavaScripte - Najväčší {C_A} tutorial
Program pre vás napísal berykubik
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity