i am learning x86_64 assembly code on yasm and nasm, and i came across with these expressions, and i cant figure out what is happening here, could someone explains me it please?, lets take these snippet as an example:
section .data
word db "Hello, Guys!", 0xa
global _start
section .text
_start:
mov rax, word
...
...
...
AND
section .data
word db "Hello, Guys!", 0xa
global _start
_start:
mov rax, [word]
...
...
...
what are the differences between moving the word variable to rax in brackets and without brackets? i already know that the first one is copying the value from word to rax register, and the one with brackets is the effective address
but i cant understand what really is happenning there, i would be grateful if somebody could explains me this, thanks!, i already read some explanations here on stack overflow but none of them answered my question