I've created a stage-1 bootloader here that doesn't focus on any aspect or conveniences of modern bootloaders outside of it makes a call to read from a floppy diskette at a specific sector, to save that sector of code into a memory address then perform a non-returning jump to that memory address. Bootloader Code

Here I've allocated a portion of system RAM for a stack, set the stack segment and stack pointer to memory addresses to initialize the memory address bounds. I then use push and pop which implicity use the current stack segment for saving of data and removing of data, I then call the BIOS interrupt to print what was pushed and popped off the stack to verify it works as expected. Stack Initialization and Usage Code