Помогите разобраться с MASM32 и MASM6.11

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
mustafa1453
Сообщения: 5
Зарегистрирован: 23 июл 2009, 13:59

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

Код: Выделить всё

.386

.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib

.data
MsgBoxCaption  db "Я изучаю ассемблер!",0
MsgBoxText       db "Здравствуй, мир!",0

.code
start:

   invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
   invoke ExitProcess, NULL
end start
На MASM32 выдает ошибку:

Код: Выделить всё

/z2
"first.obj"
"first.exe"
NUL
LINK : warning LNK4044: inrecognized option "z2"; ignored
first.obj : warning LNK4033: converting object format from OMF to COFF
LINK : fatal error LNK1181: cannot open input file "first.exe"
Компилирую командой

Код: Выделить всё

ml first.asm /AT
На MASM6.11 не оказалось includ-ов и я их скопировал с MASM32. Попробовал откомпилировать. Выдало:

Код: Выделить всё

Object Modules [.obj]:first.obj
Run File [first.exe]: "first.exe"
List File [nul.map]: NUL
Libraries [.lib]:
Defibations File [bul.def]
LINK : fatal error L1104: \masm611\lib\kernel32.lib : not valid library
Для MASM6.11 пути к инклудам и библиотекам я поменял.
airyashov
Сообщения: 441
Зарегистрирован: 02 ноя 2007, 10:31

Что-то Вы не то делаете, зачем ключ /AT для виндовс программы?
какие параметры задаете для masm32 при компиляции и компоновки
icq:3(один)7748666
mail:airyashov( а)inbox.ru
mustafa1453
Сообщения: 5
Зарегистрирован: 23 июл 2009, 13:59

airyashov писал(а):Что-то Вы не то делаете, зачем ключ /AT для виндовс программы?
какие параметры задаете для masm32 при компиляции и компоновки
ключ /AT советует использовать Калашников в своей рассылке.
Цытата с рассылки:
Если Вы используете Macro Assembler версии 6.11 - 6.13 (MASM 6.11 - 6.13):
В командной строке необходимо указать следующее:
> ML.EXE PROG.ASM /AT
На счёт вторго вопроса, то без понятия какие есть вобще параметры. Я только новичек. Писал в основном на ТАСМ-е по рассылке Калашникова. Там все было просто и легко. А в МАСМ-е даже не могу скомпилировать "Hello world". Буду благодарен за помошь!
Ответить