My home-brew bootloader occupies the first 256 words of program memory and I write my assembler programs to 'org' at 0100h with interrupt vector at 0104h...
When I remove the 'run' jumper and press reset on my '877A board, I see the bootloader prompt on Hyperterminal... Then I use the Hyperterminal <send text file> menu option to send my hex file... After programming I replace the 'run' jumper and press reset again to run the program... So it's a relatively simple process -- remove jumper, press reset, download program, replace jumper, press reset...