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

- 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

Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 35x (116.37 kB)
Aplikace je včetně zdrojových kódů v jazyce TypeScript