Simulatorul este un element important dar nu indispensabil utilizatorului de microcontrolere. Mai greu este pana acesta "isi face mana". Avand la dispozitie microcontrolere flash, dupa ce principalele rutine au fost scrise si testate, inlantuirea lor pentru a obtine un program functional este realizabila prin inscrieri si testari succesive a programului. Nu este simplu fara simulator deoarece trebuie avansat in pasi mici prin metoda "de la simplu la complex", uneori o singura linie de program ( mai ales daca lucram cu intreruperi ) ne poate da peste cap intreaga existenta.
Compilatorul JAL dispune de propriul simulator apelabil prin instructiunea pragma test assert. In acest moment se poate testa valoarea unor registrii sau a unor flaguri a caror valoare trebuie sa fie cea specificata de utilizator daca programul este corect. Daca in urma simularii rezulta un report de eroare, utilizatorul poate sa inceapa sa-si faca probleme asupra corectitudinii programului scris si sa caute ceea ce a gresit. De multe ori programul pare perfect si nu face ceea ce trebuie, in acest moment ne putem confrunta cu o eroare de compilator sau de utilizator ( modul de abordare al structurii programului este eronat ). O simulare detaliata a rutinei in cauza poate fi facuta importand fila utilizator.asm generata de compilatorul JAL in MPLAB si simuland corectitudinea functionarii acesteia. Aceasta simulare este obositoare deoarece nu poate fi facuta in timp real, orice intarziere din program trebuie in prealabil transformata in comentariu in codul sursa JAL. Altfel vor dura ore intregi pentru simularea unor intarzieri de ordinul secundelor. Aceasta observatie este valabila pentru orice compilator utilizat, nu numai pentru JAL. MPLAB poate fi downloadat de pe site-ul http://www.microchip.com are dimensiuni de ordinul 10...13MB si trebuie aleasa varianta pentru PIC midrange.