Please don't listen to @stevewoods1986
He is not aware of his words. Assembly is the worst programming language you could choose for such a task.
It gets very very complicated and messy very shortly. It is not easily maintainable.
I would only suggest it to people that can dream in it and have more than 20+ years of experience in it.
(omarx024 is the only person I know that hasn't been swallowed by Assembly, yet. Even he had to use C code to do the networking)
It is just such a pain in the @$$ to keep track of all the registers in your head and worrying about doing something wrong,
whereas you have a chance not to worry about any of those and use a higher level language.
Higher level languages are there to replace Assembly, it was superior 30 years ago, not anymore. Other options exist.
It is only good for making super low level stuff such as bootloaders.
@stevewoods1986 can you please stop suggesting new members to learn it and stop being ignorant. You are not doing them any good.
I fully agree with @iansjack.
Don't get offended or anything like that, but dude you are making a bootloader without knowing what filesystem are you using...
@Elttob You can load anything you want using assembly, see inline assembly for more info. Only things that are better done in assembly are: interrupt stubs, context switching, bootloaders,
when you can't use the registers but have to preserve them situations.