Well ALE Version 1.0 is now available for download and testing, so I’m shaking in my socks, never done this before. Version 1.0 is really only a proof of concept version so more functionality is going to be added in the future. This version is designed for XOJO 2021 R2.1. Please let me know of any issues you find and maybe send me the ALE code with the error. Please post any comments or feedback.
- The only one I can think of at this point is that Version 1.0 has no true variable support in the assembly language though you can easily allocate memory on the stack as a work around for the moment. Variables will be added in a later version.
Points to Note:
As will real assembly coding there is no bounds checking on reading and writing to the stack, so make sure you’re addressing memory locations within the stack or you will crash the program. I hope to add some form of bounds checking later if I can work out a method which does not impact performance, though that is counter to on the edge assembly coding.
The stack in ALE is actually composed of floating point values, so if you’re using a stack location as a pointer be sure that the value within is an integer or you might get some unexpected results. It won’t crash the program but the value will be Floored to remove any floating points.
First things to try:
- Load the ALE Code Development Program, then import the ALE module and save. Run the program then click “Simple Loop” then click “ECX” in the stack viewer and write a large value into it, then click “Loop with User ECX” I’d be interested in the execute times you get both in the IDE and built. Post the loop count and execution times back here so others can check.