06-30-2021, 03:02 AM
Stop using r1 for non-stack examples. It will confuse the user. You use the term 'r1' in non stack examples but then proceed to use the term 'sp' in your stack guide which is the alternate name for r1.
Stop using r2 in other examples.
"Create a Stack Frame
To put it simply, if you don't make one of these, the game you're making a code for will crash if you try and replace a value in Registers 0 - 4."
This is incorrect, there's many different factors when it comes to the topic of Register Safety. The registers that are safe to use all depends on what kind of stack frame you are allocating and/or depends what registers are being used on or around your default instruction of your code's insertion/execution address. Your stack example frees up r3 thru r31 only, but doesn't effect r0's safety at all.
You could write something like this...
"To put simply, you can make one of these to ensure a high probability of the game not crashing due to Registers being backed up and restored safely"
The Logical Operations stuff has good overall descriptions, but at some point, if you can add a mini guide on bits/binary, it will help any user understand Logical Operations quicker. Since Logical Operations are done at the binary level.
A section needs to be added explaining how some instructions use Signed values while others use Logical values and explain the 16-bit rules/ranges for Signed and Logical.
I hope I don't sound harsh, just getting straight to the point. Everything else looks good and the Gecko-style format of the page is a nice touch!
Stop using r2 in other examples.
"Create a Stack Frame
To put it simply, if you don't make one of these, the game you're making a code for will crash if you try and replace a value in Registers 0 - 4."
This is incorrect, there's many different factors when it comes to the topic of Register Safety. The registers that are safe to use all depends on what kind of stack frame you are allocating and/or depends what registers are being used on or around your default instruction of your code's insertion/execution address. Your stack example frees up r3 thru r31 only, but doesn't effect r0's safety at all.
You could write something like this...
"To put simply, you can make one of these to ensure a high probability of the game not crashing due to Registers being backed up and restored safely"
The Logical Operations stuff has good overall descriptions, but at some point, if you can add a mini guide on bits/binary, it will help any user understand Logical Operations quicker. Since Logical Operations are done at the binary level.
A section needs to be added explaining how some instructions use Signed values while others use Logical values and explain the 16-bit rules/ranges for Signed and Logical.
I hope I don't sound harsh, just getting straight to the point. Everything else looks good and the Gecko-style format of the page is a nice touch!