Since the parent comment said "just pushes and pops all important regs", it probably assumes that all registers are clobbered.
I expect the entire assembly is encoded into the language.
That doesn't really help - the compiler doesn't know what could be clobbered by any given (sys)call.
Not really, the other reply is right. Most registers are clobbered. FreeBASIC only passes the asm code inside the asm block directly to GAS (using the .intel_syntax noprefix directive). As I said, the compiler is too dumb to figure out what registers are being used so as a safety measure it clobbers almost all of them (see Register Preservation here[1]).