«Invalid instruction operands» при использовании ассемблера из VS2010
Код:
dwBytes DD 0
cString DB "………"
cbString Equ $-cString
…
XOr EBX,EBX ;если что
…
Invoke WriteFile,hStdOut,Addr cString,cbString,Addr dwBytes,EBX
cString DB "………"
cbString Equ $-cString
…
XOr EBX,EBX ;если что
…
Invoke WriteFile,hStdOut,Addr cString,cbString,Addr dwBytes,EBX
Что самое интересное,ML из пакета VS6 всё нормально компилирует.В чём дело,как справиться с проблемой?(использовать старый ML не предлагать)
[COLOR="#c0c0c0"](думал разместить в общих вопросах,ну да ладно,пусть будет тут.Если нет,то перенесите)[/COLOR]
WriteFile. Оно небось его еще не вычислило. В Масме есть вещи аля @SizeStr и иже с ним.
PS: Просветите меня безграмотного нахр*на писать такой код на ассемблере?
DWORD PTR как бы не катит ибо
PS: Просветите меня безграмотного нахр*на писать такой код на ассемблере?
Ну я видел описание функции.Что не так-то?Ptr убрать?
Напоминаю,что в ML версии 6(или 5,не помню уж) всё работало безо всяких извращений
Цитата: Ramon
Оно небось его еще не вычислило
Кто «оно»?Кого не вычислило?Прототип описан в инклуде,следовательно,данные должны приводиться к этому типу
Цитата: Ramon
В Масме есть вещи аля @SizeStr и иже с ним
Что это?Не припомню такого…
Цитата: Ramon
PS: Просветите меня безграмотного нахр*на писать такой код на ассемблере?
Тихо-тихо,не нервничай:) А какой код надо на нём писать?
Ассемблер значение выражения "cbString Equ $-cString" по идее должен получить при первом проходе, а там кто его знает.
@SizeStr
Никакой код на нем писать не нужно. 98% всего, что надо покрывается C/C++ выше крыши. Вы же не мультимедиа кодек пишите или мощную считалку, да и там писанина на ассемблере особенно не поможет, сначала профайлер будет гонятся и только потом, в случае крайней необходимости, будут применены ассемблерные вставки или вызов аццких ассемблерных процедур.
Цитата: Ramon
DWORD nNumberOfBytesToWrite как бэ не указатель
Писал просто DWord.Та же фигня+ещё одна ошибка.А за @SizeStr спасибо.Может,и знал,но из виду упустил
Цитата: Ramon
Никакой код на нем писать не нужно. 98% всего, что надо покрывается C/C++ выше крыши
Дык это если знать эти самые C/C++…
Цитата: Ramon
Вы же не мультимедиа кодек пишите или мощную считалку
А ты почём знаешь?;)