on entry, the stack is set up, and all registers other than rsp are set to 0.
the ARGC environment variable holds the number of arguments to main.
the ARGV0, ARGV1, ARGV2, etc environment variables hold those arguments.
