NASM at it's core takes about 1/2 hr to learn. Attached is a version of boot loader specific to my needs. It uses only 6 keywords specific to NASM. BITS, EQU, ALIGN, TIMES, DB and INCLUDE. Then nasm -O3 Boot.S -oboot.bin and presto, you have a binary that can be copied to boot sector.
The learning you need to do first is understanding IA32 architecture and it's underlying instruction set. Never assume the examples you'll find work correctly and without understanding the hardware your dealing with you'll be ill equipped to spot errors and you'll become very frustrated.
The best way to do this, is to find small examples and the code examples section in this forum is a good place to start. Then trace through the programs using GDB and watch what happens to registers and/or data after each instruction.
I've been programming both professionally and as a hobbyist since 1978. This chain boot loader I've concocted, took over 200 hrs to design. Each of the 40 - 50 some odd versions didn't take very long, but then I'd look it over and decide, no I don't like this, or something won't work on a particular computer and so on. OS development is new to me and I too look at many examples, but at the end of the day, it's my concept and I understand inside out, why it works and the reason I used that particular design paradigm.
OS development only requires a platform such as OSX, Linux or Windows and an appropriate tool chain. As an example, in Ubuntu I use a terminal, gedit, nasm, dd, kvm (qemu) and another computer that I can test my code on, not using an emulator. Afterwards, whatever you design may or may not be dependant on an existing operating system or file system for that matter.
Lastly, NASM is an assembler unlike C, C++ and so on that are languages. The assembler just takes each mnemonic and create the appropriate bit pattern for that instruction.