Memory locations in AVR hex file
I don't know anything AVR binary, so this is a guess although it seems to fit very well.

You told it to start putting your code at 33, which is 21h.  Addresses are probably doubled in the HEX file because the addressable word is wider than 8 bits, so that comes out to 42h.  This should, of course, all be well documented in the linker or assembler manual.