Локальные переменные в ассемблерной вставке Visual Studio

Создаю ассемблерную вставку MASM в визуалке, нужно объявить переменную в ассемблерной вставке. Знаю, что лучше объявлять сишную переменную и юзать её потом в коде, но у меня задача заключается именно в объявлении переменной в вставке, как это можно сделать?

#include <iostream>
#include <iostream>
#include <string>
#include <stdint.h>
using namespace std;
int main()
{
    int retres;

    __asm{
        var1 db 10 //пример создания переменной, не работает

        mov eax, var1
        mov ebx, 3
        sub edx, edx
        cdq
        imul ebx
        mov ecx, 20
        cmp eax, ecx
        setl eax
        mov retres, eax
    }
     cout << retres;
}

Ответы (1 шт):

Автор решения: Илья К

в таких случаях принято использовать пространство стека для хранения переменных

#define var01 [esp - 4] // определение через дефин для удобства и наглядности
mov var01, 10 // присвоить значение / инициализировать

не могу гарантировать что "препод" считает такое "решение" "верным"

→ Ссылка