If the offset operator is supposed to return the distance of a variable from the beginning of its enclosing segment, then why is a returned offset always some huge number? In following example the variable num is first in .data segment. Doesn't it have to be at 0 offset? On my machine I get 00007FF7C90A4000 offset. I don't understand.
.data
num byte 123
.code
mov rsi, offset num