ist das nicht unerheblich? das ist ein befehl für den linker, nicht für den assembler...

H3IIGhost: du schreibst den bootloader. kompilierst ihn, so dass er wie oben beschrieben erst bei einer bestimmten startadresse anfängt und das hex-file davor nur nullen hat (oder irgendwas anderes, hauptsache keinen programmcode.)
nehmen wir mal an, dein bootloader ist am ende 1kb groß. dann kompilierst du ihn und sorgst wie beschrieben dafür, dass er bei 7kb beginnt, das hex-file ist also 8k groß. 7kb nix, 1kb bootloader. dieses flashst du dann in den prozessor. nun rechnest du um: 1kb = 512 words. mit den fusebits stellst du also eine bootloadergröße von 512 words ein, dann weiss der prozessor wo die startadresse ist. von nun an wird der bootloader ausgeführt, und nach seinem ende sollte an die adresse 0x0000 gesprungen werden um das hauptprogramm, welches vom bootloader in den ehemals leeren bereich geschrieben wurde, auszuführen.