The goto thing: I forgot the %l (letter l, not number 1) Then it works with the C label Using names instead of numbers for registers: You can do this instead Seems to fix things from yesterday Can use a number in an input argument to make sure it's the same Why does this happen? Variables aren't the same as values We might use a variable as input, and the same as output But maybe there's no connection between the input and output values! Recycling a memory location Like a parking spot These can have a semi-permanent purpose Or be completely temporary In that sense, an array is like a parking garage The optimizer should be able to eliminate superfluous variables Let's see Clang: It works fine with asm clang sometimes gives different error messages Might be handy when figuring out what's wrong Can still disassembly with gcc C++ (g++ and clang++): It works fine in C++, just remember to use extern "C" on function prototypes gcc and clang might not always generate the same thing Let's see What if we just want to go somewhere by address? Active Learing: Another ASM puzzle