@ZIK1

Переслать данные из второй в третью переменную. Абсолютная адресация на ассемблере?

Доброго времени суток, нужна помощь с 2 простейшими задачами на ассемблере
Visual studio 2017

1) Объявить 3 переменные. С помощью команд ассемблера переслать данные из 1-й переменной во вторую, из 2-й в 3-ю.
Из 1 во 2 я переслал, а как дальше из 2 в 3 переслать?
#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{int A = 1;
int B = 2;
int C = 3;
_asm {
    mov EAX,A;
    mov B,EAX;
    MOV EAX,C;
    MOV EAX,B;
}

}


2) Переслать данные из одной переменной в другую используя абсолютную адресацию.
Знаю только как переслать с помощью косвенной адресации:
#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
  int A;
  int B;
  A = 1;
  B = 7;
  _asm MOV EAX, A;
  void *pB = &B;
  _asm MOV EBX, pB;
  _asm MOV[EBX], EAX;
    return 0;
}


А как переслать с помощью абсолютной?
  • Вопрос задан
  • 1017 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
как дальше из 2 в 3 переслать?

Понять, как была выполнена пересылка из 1 во 2 и повторить то же самое для 2 и 3.

как переслать с помощью абсолютной?

Прочитать, как выглядит абсолютная адресация, понять, что она не может работать с переменными на стеке, поместить переменные в правильное место и переслать с помощью абсолютной адресации.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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