So, I'm trying to implement command line arguments in my OS, and I came across a situation of which I've never heard of.
Does the operand 'mov' actually move the data, or just copy the data?
Such as (this code will not work on any os):
start:
mov [tmp0], str0
mov si, [tmp0] ; is tmp0 now empty?
call print_string
tmp0 times 255 db 0
str0 db 'Hello, World!', 0
Will that empty [tmp0]?