Number must be positive and less than 64
Operands of some assembler function are very restrictive, e.g. op code related to source/target register is limited by 6 bits, i.e. max. value is 64. I suppose at least "out UDR0,r18" is not correct because UDR0 is beyond port range. Check lines where compiler complains and double check possible operands in datasheet AVR Register/Instruction set summary paragraph. Also extra datasheet for ATMEGA instruction set does exist.