This tutorial covers (almost) everything of ASM, but it does not cover the SNES itself-related stuff (such as PPU registers). Furthermore, it focuses more on the opcodes in-depth rather than their practical SMW applications.
For information on getting started with SMW-related ASM, read my other tutorial, "Assembly for Super Mario World". That one does not go nearly as in-depth into ASM itself as this one, but will teach you how to put even basic ASM codes into practice right off the bat.
It's recommended to read that one first if you are completely new to ASM.
Included in the zip are multiple formats of the tutorial: docx, HTML, PDF.
What's new in this version: Fixed some errors and implemented some suggestions, please refer to the changelog. Most notable fix is the part about SRAM.
If you notice any errors, please don't hesitate to contact me so I can fix them. You could also contact me for suggestions.
The carry flag has an important role during the bit shifting process. When bit 7 is set, and you do a LSR, bit 7 will be cleared, and bit 0 will move into the carry flag, either setting the flag or clearing it. It depends on the value of the bit shifted into carry. If the bit is 0, the carry flag clears. If the bit is 1, the carry flag gets set. If you do an LSR again, the carry flag will be set or clear again, depending on the result. Examine the examples closely, and it will begin to make sense. Examples:
you mean ASL.
Edit: I get it now (carry represented as c, lowercase when clear):
After reading this tutorial, I saw how well organized it was, as well how easy to understand the informations were displayed, as well the good habits of programming. Nevertheless, I have no doubt that this is THE book for people that are new to the 65816 ASM and want to learn it nicely.
love this tutorial. thanks for the update. i wish it was written with a few more emojis so I'd be able to follow it easier, but as is it's a great stepping stone to learning how to become a great assembler!