Member 14004556 Ответов: 1

C++ visual studio встроенная сборка захват целого числа


Проблема, с которой я столкнулся, заключается в том, что я пытаюсь переместить целое число в EAX следующим образом,

mov eax,5000

Мне нужен был бы способ захватить входные данные и "mov eax, val".

При просмотре его с помощью шестнадцатеричного редактора он делает "mov eax, val", но то, что мне нужно сделать, - это буквально переместить значение, а не адрес, содержащий это значение.

Что я уже пробовал:

int val;
cout << "значение";
cin >> val

mov eax, val

Richard MacCutchan

Вопрос не имеет смысла. Почему вы смешиваете C++ с ассемблером, и чего вы пытаетесь достичь?

Member 14004556

трудно объяснить, что мне нужно было бы взять ввод от пользователя. так как при вводе "1234" ИД надо как мову в eax,1234'

я не уверен, что это возможно

Richard MacCutchan

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

1 Ответов

Рейтинг:
1

Richard MacCutchan

Это позволит сделать это.

int inputValue; // set from data received from user
__asm {  
   mov eax, inputValue
   
   ... remaining assembler code

}