(I assume we are talking about x86 architecture here.)
This automatically involves the question which Assembler to use. (Nasm, Fasm, Gas, ...) That is already discussed here:
viewtopic.php?f=1&t=37025Normally I would recommend the Assembler tutorial at tutorialspoint, but it contains some errors.
Also the question arises, which mode you want to program for.
a) If you want to write a bootloader for Legacy BIOS PC, then you want to code in real mode.
b) If you want to write applications for Linux or Windows, learn 32bit (=protected mode) or 64 bit (=long mode).
Same if you want to write an OS loader for UEFI.
And same, too, if you want to write a kernel for Legacy BIOS or UEFI.
If you have decided that, then you might want to buy an Assembler book.
Greetings
Peter