Здравствуйте, IRabinovich, Вы писали:
IR>Всем доброго времени суток!
IR>Со странным поведением masm (VS 2010) столкнулся я только что. Проинтегрировал .asm в проект VS 2010 и пишу тестовый файл с функцией:
IR>
IR>.DATA
IR> tmp db 1024 dup(0)
IR>.CODE
IR>test_func PROC
IR>lgdt buffer
IR>ret
IR>test_func ENDP
IR>END
IR>
IR>Пор всем мануалам по ассемблеру такое должно транслироваться в бинарный код на раз. Однако masm выдаёт мне ошибку A2024:invalid operand size for instruction. Используется 64-разрядная сборка проекта, запуск трансляции идёт через ml64.exe, я проверял. Прогнал инструкцию lgdt через встроенный ассемблер на 32 разрядной сборке- всё путём. Попробовал использовать что-то типа "lgdt qword ptr buffer"- также не помогло. Может, кто знает, в чём тут дело и чего от меня хочет ml64?
Вы специально создаете трудности людям, которые хотят Вам помочь?
error A2006: undefined symbol : buffeк
buffer не описан!