Some pretty interesting stuff in this thread. I though I might step right out of the box and do something that can be put into the MBR (Master Boot Record) and copied to a floppy. I choose to provide the listing like this incase someone wanted to try it out without using an assembler. If you alread have a bootable floppy disk it would work just find.
First 3 bytes are memory address and the rest are opcodes for 386 or better
000 FA cli 001 FC cld 002 B8C007 mov ax, 0x7c0 005 8ED8 mov ds, ax 007 8EC0 mov es, ax ; Setup segments to boot area 009 8ED0 mov ss, ax 00B BCFFFF mov sp, 0xffff 00E FB sti 00F BD mov bp, Msg 012 B92000 mov cx, MsgLen 015 BA100A mov dx, 0x0a10 ; DH = Row (10), DL = Column (16) 018 B304 mov bl, 4 ; Red 01A B80113 mov ax, 0x1301 ; AH = Write String, AL = chars only 01D CD10 int 0x10 ; Video serice call 01F 31C0 xor ax, ax 021 CD16 int 0x16 ; Wait for operators input 023 CD19 int 0x19 ; Re-boot 025 48454C4C4F20574F52- Msg db 'HELLO WORLD', 13, 10, 'Any key to continue' 02E 4C440D0A416E79206B- 037 657920746F20636F6E- 040 74696E7565 MsgLen equ $ - Msg 045 90<rept> times 510 - ($-$$) nop 1FE 55AA db 0x55, 0xaa
and the formatting is what it is. Cutting and pasting between code tags is probably the most cumbersome thing I've ever used.