The last few days I’ve been improving the small pseudo-assembler interpreter/IDE that I had created. I am quite happy with the result.

The new version of QPasm has the following new features:
- Code editor with intelligent syntax highlighting, line numbering, visual breakpoints and undo/redo functionality
- Debugging features: breakpoints, manual step, timed step, pausing
- On-the-fly editing of data in the register or the memory
- On-the-fly symbol resolving: labels can be used in assembler apps, and when modifying memory when the program is running the labels are resolved automatically
- Integrates well with light and dark system themes. Highlighter chooses its color theme based on the darkness of the theme automatically, but colors and fonts can be configured manually as well
- Layout, font and color settings are stored locally in a portable config.ini file
- Input format is very flexible: white space may occur before, after and between instructions, instructions are case insensitive, comments are supported anywhere
- Pseudo-assembler apps which are run using the run-function run in a separate thread which has a system preventing the GUI from freezing by limiting the amount of simultaneous signals to the GUI. Assembler apps which cause an endless loop cannot freeze the GUI
More information, binaries and source code are available at http://code.google.com/p/qpasm/
VN:F [1.6.3_896]
Rating: +3 (from 3 votes)
I had to develop a pseudo-assembler interpreter for the course Microprocessing.
Since it was just lying around on my hard drive I figured I could just as well put it on-line. It contains a few things that might be interesting to developers:
- Using a C library in C++/Qt applications and translating C function callbacks into Qt signals
- Implementation of virtual static and virtual dynamic memory
- Converting between virtual signed and unsigned values (system independent)
- Saving data and instructions in same virtual memory (Von Neumann architecture)

More information (and source code) is available here: http://wesley.vidiqatch.org/files/qpasm/
VN:F [1.6.3_896]
Voor school ben ik momenteel bezig aan een geïntegreerde proef waarbij ik in Windows in Visual Basic een programma moet ontwerpen voor klantenbeheer, artikelbeheer, beheer van leveranciers, en ook beheer van verkopen en aankopen… We moeten dit doen op basis van de wensen van een spilbedrijf. In ons geval Sportcity. Nu blijkt Sportcity een uitgebreid pakket te gebruiken (Briljant Administrator) dat op meerdere computers draait.
Waarom ook niet? Dan gaan we maar wat netwerkprogrammatie doen in ons project. Maar als je dan op de GiP presentatie komt vertellen dat je bezig bent met netwerkprogrammatie lacht de jury ons gewoon uit omdat we zogezegd geen verstand hebben van zo’n dingen. Volgens die zogenaamde professionals zouden we 2 jaar aan een dergelijk pakket moeten werken.
Nou… diezelfde avond heb ik snel een initiële versie van de netwerkcode geschreven en de dag erna heb ik deze uitgebreid en verbeterd.
Op dit moment kan de huidige netwerkcode meer dan 100 computers tegelijkertijd inloggen op een netwerkserver en elke milliseconde kunnen er gegevens worden uitgewisseld. Om de stabiliteit van de netwerkcode te meten en te testen heb ik een stresstest programma geschreven.
Het resultaat? 0 pakketten niet ontvangen, 8 herstelde pakketten (pakketten die niet op tijd waren of die opnieuw gestuurd moesten worden) en 4448 succesvol verzonden/ontvangen pakketten. Het belangrijkste deel van de netwerkcode is nu af.
Enkele details van de netwerkcode:
- gegevens worden via TCP/IP verstuurd
- gemiste pakketten herstellen zichzelf (mede door gebruik van TCP/IP)
- controle op pakketnummering om alles in de juiste volgorde te houden
- aaneengeplakte pakketten (komt soms voor) worden opgesplitst en afzonderlijk behandeld
We zullen wel eens zien wie er het laatst lacht. Het programma is trouwens open source, dus als je interesse hebt in de programmacode, dan laat je maar iets weten.
VN:F [1.6.3_896]
Op school ben ik de enige persoon die linux (ubuntu) draait op zijn laptop. Alles is afgestemd op Windows XP en daarom was het even zoeken hoe ik alles perfect werkend kon krijgen zodat ik 100% linux kon gebruiken op school.
Dit waren de grote knelpunten
- Draadloos netwerk; NetworkManager regelt de verbinding perfect in combinatie met mijn ipw2200 draadloze chipset (Intel Pro Wireless 2200BG)
- Windows 2000 domeinserver; Samba zorgt ervoor dat ik kan verbinden met het internet en met de andere lokale computers/mappen op het netwerk
- Derive 5, MS Office 2003 (volledige compatibiliteit m.b.t. Access, Excel, Word), BOB Boekhouding software; Derive 5 draait via Wine, maar voor BOB en MS Office (volledige compatibiliteit) gebruik ik nu VMWare met een virtuele Windows XP machine.
Problemen met VMWare:
Na alle configuratie met betrekking tot het netwerk op de hostcomputer (Samba) had ik nog geen netwerk onder VMWare; de enige mogelijkheid die werkte was om NAT (Network Address Translation) te gebruiken in VMWare en om de proxyserver in de virtuele machine handmatig in te stellen.
Ik kon nu wel op het internet, maar nog niet op de Windows domeinserver. Dit heb ik dan maar opgelost met een beetje logica / linux power. Ik heb via mount -t smbfs de nodige mappen op de server gekoppeld aan lege mappen op mijn lokale schijf.
Daarna heb ik Gedeelde mappen ingeschakeld in VMWare en de aangekoppelde mappen geselecteerd. Om het mezelf makkelijk te maken heb ik in de virtuele XP machine op het bureaublad snelkoppelingen gemaakt naar de gedeelde mappen (dit zijn in VMWare virtuele netwerklocaties)
Alles draait stabiel
Leve linux
VN:F [1.6.3_896]