Blockland AssemblyI'm thinking of creating a powerful event Add-On which would simulate the x86 (32 bit) Assembly language using the .386 instruction set with Intel syntax. I haven't really programmed in Torque Script that much, but when I look at event mods like
Variable and Conditional Events and things of the sort, it really doesn't look too hard at all! At least it will be a good learning experience.
The mod would require you to custom plant certain register bricks (which would be assigned a certain register via the brick name) which would simulate parts of a processor. In Assembly, different registers store and perform different things, so the amount of registers that one would need for their project would vary.
Different actions would be performed on the registers and your event project as a whole by using instructions within the event GUI. I would include the most rudimentary instructions (like mov) in the first release, then would probably build on the current release.
I plan to have different bricks run their pseudo Assembly code as different functions. That is, different bricks would equate to different functions that could be called from other bricks. I will also use this same concept with initialization bricks (for things like initialized, .data and un-initialized, ?data which would be called automatically).
The mod would allow you to do multiple things:
- Possibly creating a screen of print bricks in which you would be able to print and modify values to.
- An alternate way of handling variables
- A way for bricks to efficiently communicate with each other, perform checks, alter command/program flow
- There are also many other things of the sort that I would like to include that I am not going to list here.
I may include a virtual stack and heap along with sequential 'memory addresses'.
Lastly, I understand that not many people, if any, will understand the concepts of how to use the Add-On, but I would like to create it for my liking. I know that I am being pretty vague on the whole subject, but I don't have much time to type this and don't want a
tl;dr thread anyways.
If you didn't understand a thing that I said, then Google 'Assembly'. Suggestions are welcome!