$ gcc foo.c -S
https://godbolt.org/
By far the best way to learn IMO, write C and see how it translates.
gcc -c -g foo.c objdump -S foo.o
$ gcc foo.c -S