Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 812
1

Не компилится проект в MASM32

21.11.2012, 20:31. Просмотров 1601. Ответов 13
Метки нет (Все метки)

Добрый вечер!

Написал мини программку для ознакомления и решил закомпилить...
И сразу же столкнулся со стеною!

Вот код:
Assembler
1
2
3
4
5
6
7
8
9
10
CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
int 20h
Message db 'Hello, world$'
CSEG ends
end Begin
Вот батник:

cd masm32\bin\
ml.exe ..\..\77.asm
link16.exe /tiny 77.obj

И вот вывод:
C:\Users\SulleN\Desktop\Новая папка>cd masm32\bin\

C:\Users\SulleN\Desktop\Новая папка\masm32\bin>ml.exe ..\..\77.asm
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

Assembling: ..\..\77.asm
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/z2
"77.obj"
"77.exe"
NUL
LINK : warning LNK4044: unrecognized option "z2"; ignored
77.obj : warning LNK4033: converting object format from OMF to COFF
77.obj : fatal error LNK1190: invalid fixup found, type 0x0001

C:\Users\SulleN\Desktop\Новая папка\masm32\bin>link16.exe /tiny 77.obj

Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
Copyright (C) Microsoft Corp 1984-1993. All rights reserved.

Run File [77.com]:
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2012, 20:31
Ответы с готовыми решениями:

Ошибки MASM32 - cannot open file : .\masm32\include\windows.inc
установил MASM32, прописал в патче путь, выдаёт ошибки при компиляции такого...

Не компилится asm файл
Вот код на масм16: .8086 .model small .stack 100 .data video_page db 2...

[MASM] Прога не компилится. непонятная ошибка(код копировал с методички)
; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ ...

Не откомпилировать в MASM32
Здравствуйте форумчане! Как правильно компилировать программу в MASM32. У меня...

Y=(A+B)/(A-B) assembler masm32
У меня есть прога, которая должна считать функцию y=(A+B)/(A-B), проблема в...

13
Vadimych
635 / 478 / 12
Регистрация: 10.01.2011
Сообщений: 1,047
21.11.2012, 20:34 2
ml /c %*.asm
link16 /t %*.obj;
pause
del %*.obj
1
SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 812
21.11.2012, 20:38  [ТС] 3
Батник:

cd masm32\bin\
ml /c %*.asm
link16 /t %*.obj;
pause
del %*.obj

Вывод:

C:\Users\SulleN\Desktop\Новая папка>cd masm32\bin\

C:\Users\SulleN\Desktop\Новая папка\masm32\bin>ml /c .asm
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

Assembling: .asm
MASM : fatal error A1000: cannot open file : .asm

C:\Users\SulleN\Desktop\Новая папка\masm32\bin>link16 /t .obj;

Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
Copyright (C) Microsoft Corp 1984-1993. All rights reserved.

LINK : fatal error L1093: .obj : object file not found

C:\Users\SulleN\Desktop\Новая папка\masm32\bin>pause
Для продолжения нажмите любую клавишу . . .
0
Vadimych
635 / 478 / 12
Регистрация: 10.01.2011
Сообщений: 1,047
21.11.2012, 20:45 4
А .asm файл где лежит? И вообще, чтобы не переходить в папку \masm32\bin, пропишите путь к ней в переменных среды.
0
SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 812
21.11.2012, 20:46  [ТС] 5
Даже если конкретно к файлу обратиться:

cd masm32\bin\
ml /c 77.asm
link16 /t 77.obj;
pause
del 77.obj

То:
C:\Users\SulleN\Desktop\Новая папка>cd masm32\bin\

C:\Users\SulleN\Desktop\Новая папка\masm32\bin>ml /c 77.asm
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

Assembling: 77.asm
MASM : fatal error A1000: cannot open file : 77.asm

C:\Users\SulleN\Desktop\Новая папка\masm32\bin>link16 /t 77.obj;

Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
Copyright (C) Microsoft Corp 1984-1993. All rights reserved.

LINK : fatal error L1093: 77.obj : object file not found

C:\Users\SulleN\Desktop\Новая папка\masm32\bin>pause
Для продолжения нажмите любую клавишу . . .
0
Vadimych
635 / 478 / 12
Регистрация: 10.01.2011
Сообщений: 1,047
21.11.2012, 20:49 6
Цитата Сообщение от Vadimych Посмотреть сообщение
.asm файл где лежит?
Так где, в какой папке?
0
SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 812
21.11.2012, 20:52  [ТС] 7
C:\Users\SulleN\Desktop\Новая папка\77.asm

Добавлено через 49 секунд
А касаемо среды, я вообще в блокноте пока работаю... среда на англ и не совсем понимаю что и где.
0
Vadimych
635 / 478 / 12
Регистрация: 10.01.2011
Сообщений: 1,047
21.11.2012, 20:57 8
Ну так положите его в ту же папку, где ассемблер и линкер.
1
Миниатюры
Не компилится проект в MASM32  
SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 812
21.11.2012, 21:05  [ТС] 9
Цитата Сообщение от Vadimych Посмотреть сообщение
Ну так положите его в ту же папку, где ассемблер и линкер.
Ок, так и сделал, только немножко изменил батник:

cd masm32\bin\
ml /c go.asm
link16 go.obj;
pause
del go.obj

Иначе он не видит .asm файлы... к тому же мне не надо .com файл.

Но все равно ошибка выходит:
C:\Users\SulleN\Desktop\1>cd masm32\bin\

C:\Users\SulleN\Desktop\1\masm32\bin>ml /c go.asm
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

Assembling: go.asm

C:\Users\SulleN\Desktop\1\masm32\bin>link16 go.obj;

Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
Copyright (C) Microsoft Corp 1984-1993. All rights reserved.

LINK : warning L4021: no stack segment

C:\Users\SulleN\Desktop\1\masm32\bin>pause
Для продолжения нажмите любую клавишу . . .
После чего создается go.exe но запускается с ошибкой.
0
Миниатюры
Не компилится проект в MASM32  
Vadimych
635 / 478 / 12
Регистрация: 10.01.2011
Сообщений: 1,047
21.11.2012, 21:14 10
SuLLeN, windows 64-битная у Вас? Тогда досбокс для таких программ надо ставить. А код Ваш для .com, не для .exe.
0
SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 812
21.11.2012, 21:19  [ТС] 11
Цитата Сообщение от Vadimych Посмотреть сообщение
А код Ваш для .com, не для .exe.
Да там отличие только в /t

Цитата Сообщение от Vadimych Посмотреть сообщение
windows 64-битная у Вас? Тогда досбокс для таких программ надо ставить.
Да, 64, а без досбокса никак?
0
Vadimych
635 / 478 / 12
Регистрация: 10.01.2011
Сообщений: 1,047
21.11.2012, 21:20 12
Ну пишет же винда: никак. Вариант - снести эту и поставить 32-битку. А отличие не в ключе для линкера, а в коде.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
.model small
.stack 100h
.data
msg db 'Hello, World!$'
 
.code
 
start:
mov ax,@data
mov ds,ax
mov ah,9
mov dx,offset msg
int 21h
mov ax,4c00h
int 21h
 
end start
0
SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 812
21.11.2012, 21:29  [ТС] 13
Ок, спорить не буду в чем отличие просто уже нашел ответ на свою проблему.
Кстати вместо досбокса лучше юзать FASM.
В нем есть поддержка x64.

Добавлено через 32 секунды
Все, спасибо за все!
0
Vadimych
635 / 478 / 12
Регистрация: 10.01.2011
Сообщений: 1,047
21.11.2012, 22:15 14
SuLLeN, 64-битной винде чихать, чем собрана программа. Она утратила поддержку Dos.
0
21.11.2012, 22:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 22:15

Линкование в masm32
Добрый вечер! вот мой код программы: .386 .MODEL...

Рисование в masm32!!!
подскажите пожалуйста как можно рисовать в masm32??? Добавлено через 2...

Hello World в MASM32
Значит .386 .model flat, stdcall option casemap :none include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru