Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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 prohlížeči

Aplikace umožňuje napsat program v x86 NASM syntaxi a spustit ho v prohlížeči. Spuštěný program lze poté krokovat a sledovat stav vizualizované paměti a registrů.

Funkce:

  • překlad, spuštění, krokování
  • zvýraznění NASM syntaxe x86 assembly, kontrola syntaktických a sémantických chyb, možnost vkládat komentáře
  • ovlivnění rychlosti provádění programu, vkládání breakpointů do kódu
  • dva jednoduché interrupty - vypsání hodnoty registru a vypsání řetězce (výpis je prováděn do konzole, která je zobrazena v rámci aplikace)
  • výpis paměti po 1, 2 nebo 4 bytech, ASCII interpretace paměti

V současné verzi aplikace ani zdaleka nepodporuje všechny funkce NASM ani x86 assembly (ani se o to nesnaží). Obsahuje ale dle mého dost základních instrukcí na to, aby v ní šly napsat krátké programy.

Pro vytvoření aplikace mě inspirovala má bakalářka, ve které jsem dělal něco podobného (vizualizaci stavu programu při ladění) pro C/C++. Hledal jsem něco podobného online, našel jsem toto, ale nelíbilo se mi, že to používalo zjednodušenou instrukční sadu, chtěl jsem používat něco, co by zvládalo co nejvíce z x86 assembly, aby se to dalo jednoduše převést do spustitelného souboru. Motivací pro tuto aplikaci je hlavně výuka a experimentování s assemblerem, což by měla usnadňovat právě vizualizace paměti.

Aplikace je napsána v TypeScriptu a Angularu. Některé části enginu assembleru jsou otestované, UI zatím ne. Případné chyby můžete oznamovat tady.

Aplikaci lze vyzkoušet zde.

Zdrojový kód je zde.

Hodnocení porotců

Aplikace byla vytvořena do soutěže ITnetwork summer 2017

Programátorská soutěž ITnetwork summer 2017 - Zdrojákoviště TypeScript
  • David Čápka (9 bodů) - ASM znám jen jako ty podivné sekvence znaků, co jsem potkával tenkrát v pascalovských jednotkách, takže bohužel nemohu plně vyzkoušet možnosti debuggeru. Co se týká vzhledu, Bootstrap vypadá dobře, očekával bych to responzivní, škoda. Co se týká zdrojového kódu, vypadá to dobře a poměrně rozsáhle. Přiložená ukázka funguje parádně, určitě je to velmi zajímavý nástroj, snad ti dá zpětnou vazbu někdo tady ze sítě, kdo v ASM píše :)
  • Lucie Hartingerová (9 bodů) - Hodně pokročilé. Bohužel nejsem úplně schopná docenit kvality takové aplikace, nicméně zdrojové kódy a dokumentace vypadá dost propracovaně :-)
  • Tomáš Bitter (8 bodů) - Neznám žádné jiné podobné aplikace, takže nemám s čím srovnávat. Nemám k tomu moc co vytknout či vyzdvihnout. Aplikace se mi celkově líbí; nástroje na debugování se prostě vždy hodí, zvlášť u Assembleru.

Galerie

Program byl vytvořen v roce 2016.

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 34x (116.37 kB)
Aplikace je včetně zdrojových kódů v jazyce TypeScript

 

Všechny články v sekci
Zdrojákoviště TypeScript
Program pro vás napsal berykubik
Avatar
Uživatelské hodnocení:
4 hlasů
Aktivity