I'm tired of failing all my programming projects and want to try something new. So I decided to try some reverse engineering. Currently I'm working on the linux version of saints row 4, and I'm stuck on this part (parts cut out, ask if more info needed):
From looking around, it seems like this code tests if %al is 0, and jumps if not. But why %al? I'm not super familiar with 32bit x86 calling conventions but according to wikipedia, return codes are passed in %eax
Code:
1000a3b0: e8 0b cf ff ff call 100072c0 <SteamAPI_RestartAppIfNecessary@plt> #Checks if steam is open, launches it if not and returns 1 indicating that the app should be closed as steam will reopen it. Returns 0 if the app can continue
1000a3b5: 84 c0 test %al,%al # ???
1000a3b7: 0f 85 81 01 00 00 jne 1000a53e <__isinff@plt+0x197e>