You may be programming and you may do it well. But understanding how it works in machine language will make you an even better software developer. A CPU cannot do printf("hello world") because there are no parantheses. How is it done internally?
Welcome to my world where we take an interesting view on how machine language and processors work.
The X86 processor has registers to hold variables. Prominent registers are:
rbp = register base pointer, holds the base pointer to the stack frame's bottom
rsp = register stack pointer, holds the address of the stack frame's top
rip = register instruction pointer. Holds the address that is currently being executed.
rdi = register data index. Destination address for data copies.
rax = register a extended. A register for ordinary data holding and arithmetics.
eax = expanded register a extended. AL is the lower byte, AH is the higher byte for AX. AX holds 16 bits. EAX holds 32 bits.
In this German video, I show how to create your own boot sector. This is interesting because
you learn how the boot process works
you learn how to program in real mode (which is what an x86 computer starts in)
you learn how to write assembler without any support of an operating system, in fact
you learn how to start writing your own operating system
see also: https://blog.ghaiklor.com/2017/10/21/how-to-implement-your-own-hello-world-boot-loader/