Чтение и запись в память(озу) на FASM?

Здравствуйте,
Недавно начал писать на Fasm'е, сейчас пытаюсь понять роль - '[]'
К примеру:
MyVar dq 0
mov rax, MyVar

Спокойно компилируется, но почему-то
MyVar dq 0
mov MyVar, rax

нет, однако если
MyVar dq 0
mov [MyVar], rax

то всё нормально, я совсем дурак или так и должно быть?
Хотя, насколько я понимаю если я напишу
MyVar dq 0
mov rax, [MyVar]

то в ax уйдёт значение по адресу MyVar=0, а не сам 0.
  • Вопрос задан
  • 441 просмотр
Решения вопроса 1
15432
@15432
Системный программист ^_^
MyVar dq 0
mov rax, MyVar ; поместить в rax адрес MyVar

MyVar dq 0
mov [MyVar], rax ; записать в адрес MyVar содержимое регистра rax

MyVar dq 0
mov rax, [MyVar] ; прочитать в регистр rax значение по адресу MyVar

MyVar dq 0
mov MyVar, rax ; присвоить адресу (константному числу) значение из регистра rax ?? - ошибка
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы