My assembler is progressing
Here.
Some things are still a bit funky, but I've got MOV, ADD, SUB, IMUL, AND, OR, and XOR basically working. No memory addressing yet!
What has been intresting is that getting the Django bits working has been way harder then getting the interpreter working. In particular, saving the register states from run to run took a lot of thought: you can see how it was finally done here and here. (The key idea was to make the register values input fields with the name of the register.)
This is an open-source project: if you'd like to help, let me know!
Some things are still a bit funky, but I've got MOV, ADD, SUB, IMUL, AND, OR, and XOR basically working. No memory addressing yet!
What has been intresting is that getting the Django bits working has been way harder then getting the interpreter working. In particular, saving the register states from run to run took a lot of thought: you can see how it was finally done here and here. (The key idea was to make the register values input fields with the name of the register.)
This is an open-source project: if you'd like to help, let me know!
As I am sure you know, but as it may be of interest to others wanting to sample assembly - its possible to write and run assembly language programs on linux OS.
ReplyDeletehttp://asm.sourceforge.net/articles/linasm.html
And on Windows, and on MacOS! In fact, Visual Studio supports assembler coding.
DeleteBut I am trying to give them an easier intro to the process.