My 68000 assembly is pretty rusty, but I think there's a mistake on one of the reference pages... http://info.sonicretro.org/SCHG:ASM-to-Hex_Code_Reference If you scroll down towards the bottom of that page, it reads... Subq.b #1, ($FFFFF100).w 0101 0011 0011 1000 5238 F100 Subq.b #2, ($FFFFF100).w 0101 0101 0011 1000 5438 F100 Subq.b #8, ($FFFFF100).w 0101 0001 0011 1000 5038 F100 But I think it should read... Subq.b #1, ($FFFFF100).w 0101 0011 0011 1000 5338 F100 Subq.b #2, ($FFFFF100).w 0101 0101 0011 1000 5538 F100 Subq.b #8, ($FFFFF100).w 0101 0001 0011 1000 5138 F100 The 5238, 5438 and 5038 should be; 5338, 5538 and 5138. If the second digit is an even number, then it adds. If it's an odd number, then it subtracts. Can someone else with 68k knowledge verify that?
Even the binary version in that table says that... *fixes* EDIT: fix'd. And yes, the official docs say that if I recall correctly =P
Thanks Sik. After looking at the rest of it a little closer, I noticed some more mistakes. When I get some time, I'll fix the rest.