It's been a while since I did any assembler, but one thing I remember: If you seriously want to write anything GAS may not be your best option.
nasm has a much saner syntax (and if you ever happened to have used tasm or masm it's much more similar to that).