Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Объявления о найме специалистов > Assembler with Visual C++


Автор: d@nik 15.10.2007, 17:23
Всем доброго времени суток.
Подскажите кто знает. Столкнулся с такой проблемой:
вызываю функцию на С++, передавая параметры, объявленные в С++ модуле. Делаю это так:
_asm{
         push I2
         push I1
         call Sub2ints
}
затем сама функция:
int Ccall_from_inlineasmDlg::Sub2ints(int i1, int i2)
{
    _asm{
        xor    EAX, EAX
        mov EAX, i1
        sub EAX, i2
    }
    //return 0;
}
но под отладчиком параметры i1, i2 в любом случае равны 132 и 136, вне зависимости от того, что я передал перед вызовом функции. Скажите, что я делаю не так. Пожалуйста.

Автор: ncux 12.6.2008, 00:37
попробуй так
Код

mov EAX, [i1]
sub EAX, [i2]

значения у тебя - адреса переменных

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)