I watched video "Write your own OS in an hour", and wonder after you mentioned that you can't use standard C functions.
Well, memory management functions are system calls. But what about printf from stdio.h, can you review it more in depth? I always thought that it is just a binary code that put something on screen.
Is the problem in the fact that printf possibly rely on video adapter driver?
I'm very loosely aknowledged with ASM so all that assembler was full of guesses for me, and linker script for me is complete abracadabra. =)