Získej svůj iPhone v nové soutěži! Získej svůj iPhone v nové soutěži!
Nová překladatelská soutěž ITnetwork.cz o telefon iPhone, sluchátka Beats a další věcné ceny za 4 hodiny práce.
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Debugger a interpreter x86 assembly v prohlížeči

JavaScript Debugger a interpreter x86 assembly v prohlížeči

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoř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
  • 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ženo 3x (116.37 kB)
Aplikace je včetně zdrojových kódů v jazyce JavaScript

 

 

Program pro vás napsal berykubik
Avatar
Jak se ti líbí článek?
4 hlasů
Miniatura
Všechny články v sekci
JavaScript
Aktivity (7)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!