I’m reading a book «Guide to Assembly Language» by James T.Streib in order to learn Assembly but I can’t compile the test example on visual studio 2015 because of the following error:
1> Assembling:
1>MASM : fatal error A1000: cannot open file
1> Microsoft (R) Macro Assembler Version 12.00.31101.0
I added this in the Custom Build Tool Command Line of my main.asm file:
ml -c -Zi "-Fl$(IntDir)$(InputName).lst" "-Fo$(IntDir)$(InputName).obj" "$(InputPath)"
And Outputs:
$(IntDir)$(InputName).obj
I also added msvcrt.lib in the Additional Dependencies of the linker.
Any idea ?
asked Aug 14, 2015 at 19:39
Try using the following for the Command Line field:
ml -c -Zi "-Fl$(IntDir)%(Filename).lst" "-Fo$(IntDir)%(Filename).obj" "%(FullPath)"
and this for the Output field:
$(IntDir)%(Filename).obj
The old «Input» macros are deprecated in Visual Studio 2015 and have been replaced by new «item metadata macros» that use the %()
syntax.
Here’s a screenshot showing where I’ve entered these lines. Note that I’ve changed to the «Configuration» and «Platform» pulldowns to «All Configurations» and «All Platforms» respectively so that these parameters are used no matter what sort of build is being performed.
answered Aug 14, 2015 at 21:23
Ross RidgeRoss Ridge
38.2k7 gold badges80 silver badges111 bronze badges
8
0 / 0 / 0
Регистрация: 05.04.2018
Сообщений: 10
1
12.09.2018, 12:44. Показов 14099. Ответов 2
Assembler | ||
|
Assembler | ||
|
Внимание! В ходе построения обнаружены ошибки:
Assembling: C:UsersbogdanAppDataLocalTempSASMprogram.asm
C:UsersbogdanAppDataLocalTempSASMprogram.asm(3) : fatal error A1000: cannot open file : /masm32/include/windows.inc
LINK : fatal error LNK1181: cannot open input file «C:UsersbogdanAppDataLocalTempSASMprogram.o»
0
Permalink
Cannot retrieve contributors at this time
description | title | ms.date | ms.topic | f1_keywords | helpviewer_keywords | ms.assetid |
---|---|---|---|---|---|---|
Learn more about: ML Fatal Error A1000 |
ML Fatal Error A1000 |
12/17/2019 |
error-reference |
A1000 |
A1000 |
4fc77a83-8796-4dcf-9c37-6395d635b817 |
cannot open file: filename
The assembler was unable to open a source, include, or output file.
One of the following may be a cause:
-
The file does not exist.
-
The file is in use by another process.
-
The filename is not valid.
-
A read-only file with the output filename already exists.
-
The current drive is full.
-
The current directory is the root and is full.
-
The device cannot be written to.
-
The drive is not ready.
See also
ML Error Messages
- Remove From My Forums
-
Question
-
I have a Visual Studio 2017 project, where I’m trying to interface a C++ and Assembly program. So I have a header («indexof.h») that has the Prototypes for the assembly procedures in an `extern «C»` block, and a main.cpp, which
includes `indexof.h` and uses the procedures made available in it, and then an `IndexOf.asm` file that contains my assembly code (which also has prototypes for its procedures, before the .code section). Unfortunately, when I attempt to run it, I get this error:1>Assembling IndexOf.asm…
1>MASM : fatal error A1000: cannot open file : IndexOf.asm
1>C:Program Files (x86)Microsoft Visual Studio2017CommunityCommon7IDEVCVCTargetsBuildCustomizationsmasm.targets(50,5): error MSB3721: The command «ml.exe /c /<g class=»gr_ gr_15 gr-alert gr_spell gr_inline_cards
gr_run_anim ContextualSpelling ins-del multiReplace» data-gr-id=»15″ id=»15″>nologo</g> /Zf /Zi /Fo»DebugIndexOf.obj» /W3 /errorReport:prompt /<g class=»gr_ gr_16 gr-alert gr_spell gr_inline_cards
gr_run_anim ContextualSpelling ins-del multiReplace» data-gr-id=»16″ id=»16″>TaIndexOf</g>.<g class=»gr_ gr_17 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace» data-gr-id=»17″
id=»17″>asm</g>» exited with code 1.
1>Done building project «IndexOf_asm.<g class=»gr_ gr_18 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling» data-gr-id=»18″ id=»18″>vcxproj</g>» — FAILED.I desperately need help (It’s due tomorrow), this was a project setup provided by my class, I’m just trying to run it, and I haven’t even gotten to the actual thing I need to do yet. Thank you!
-
Randomris
New Member
- Публикаций:
-
0
- Регистрация:
- 8 янв 2020
- Сообщения:
- 5
Здравствуйте форумчане! компилятор масм не открывает windows.inc
Все перепробовал путь указывал и т.д.
выдает
fatal error A1000: cannot open file : masm32includewindows.inc -
Indy_
Well-Known Member
- Публикаций:
-
4
- Регистрация:
- 29 апр 2011
- Сообщения:
- 4.775
-
Mikl___
Супермодератор
Команда форума- Публикаций:
-
14
- Регистрация:
- 25 июн 2008
- Сообщения:
- 3.583
Randomris,
а у тебя точно есть папка include в каталоге masm32? Если сборка 64-разрядная, тогда в masm32 папки include нет, а есть папка include64 -
Randomris
New Member
- Публикаций:
-
0
- Регистрация:
- 8 янв 2020
- Сообщения:
- 5
У меня есть эта папка и в ней есть нужный файл
Программа установлена в первоначальном виде, ничего не изменено (ASM Visual)Вложения:
-
Mikl___
Супермодератор
Команда форума- Публикаций:
-
14
- Регистрация:
- 25 июн 2008
- Сообщения:
- 3.583
-
Randomris
New Member
- Публикаций:
-
0
- Регистрация:
- 8 янв 2020
- Сообщения:
- 5
Я задавал полный путь к нужному файлу, но все равно он выдает ошибку
-
Mikl___
Супермодератор
Команда форума- Публикаций:
-
14
- Регистрация:
- 25 июн 2008
- Сообщения:
- 3.583
Randomris,
а почему я должен верить на слово? То что папка называлась не include, а includes уже выяснили… Какую ошибку у тебя сейчас выдает? Желательно картинкой и текст asm-файла также нужно прикрепить -
Randomris
New Member
- Публикаций:
-
0
- Регистрация:
- 8 янв 2020
- Сообщения:
- 5
Код программы
-
includelib C:ProgrammsASM Visualmasm32includeskernel32.lib
-
includelib C:ProgrammsASM Visualmasm32includesuser32.lib
-
include C:ProgrammsASM Visualmasm32includeswindows.inc
-
include C:ProgrammsASM Visualmasm32includeskernel32.inc
-
include C:ProgrammsASM Visualmasm32includesuser32.inc
-
szTitleName db ‘Window Application’,0
-
szClassName db ‘ASMCLASS32’,0
-
msg MONMSGSTRUCT <?> ; структура сообщения
-
wc WNDCLASS <?> ; структура класса
-
Invoke GetModuleHandle,0 ; получаем hInstanse
-
Mov [wc.style], CS_HREDRAW+CS_VREDRAW+CS_GLOBALCLASS
-
; устанавливаем стиль окна
-
Mov [wc.lpfnWndProc], offset WndProc ;
-
Invoke LoadIcon,0,IDI_APPLICATION ; получаем значок приложения по
-
Invoke LoadCursorA,0,IDC_ARROW ; получаем курсор по умолчанию
-
Mov [wc.hbrBackground], COLOR_BACKGROUND+1
-
Mov dword ptr [wc.lpszMenuName], 0
-
Mov dword ptr [wc.lpszClassName], offset szClassName ; задаём имя класса
-
Invoke RegisterClassA,offset wc ; регистрируем класс окна
-
Push [hInst] ; дескриптор
-
Push CW_USEDEFAULT ; высота
-
Push CW_USEDEFAULT ; ширина
-
Push WS_OVERLAPPEDWINDOW ; стиль
-
Push offset szTitleName ; заголовок окна
-
Push offset szClassName ; имя класса
-
Push 0 ; дополнительный стиль
-
Call CreateWindowEx ; создаём окно
-
mov [newhwnd], eax ; сохраняем его дескриптор
-
invoke ShowWindow,[newhwnd],SW_SHOWNORMAL; показываем окно
-
invoke UpdateWindow, [newhwnd]; обновляем его
-
msg_loop: ; запускаем цикл обработки сообщений
-
invoke GetMessage,offset msg, 0,0,0
-
invoke TranslateMessage, offset msg
-
invoke DispatchMessage, offset msg
-
WndProc proc uses ebx edi esi, hwnd:DWORD, wmsg:DWORD, wparam:DWORD, lparam:DWORD
-
Invoke DefWindowProcA,[hwnd],[wmsg],[wparam],[lparam]
-
; вызываем стандартный обработчик сообщений
-
je wmdestroy; если нажата клавиша Escape то выход
-
invoke PostQuitMessage, 0
-
invoke ExitProcess, 0 ; выход
Все начало работать после переустановки программы и чистки всего реестра. Но появилась новая ошибка
LINK : fatal error LNK1104: cannot open file «C:ProgrammsASM.lib»Последнее редактирование модератором: 20 янв 2020
-
Mikl___
Супермодератор
Команда форума- Публикаций:
-
14
- Регистрация:
- 25 июн 2008
- Сообщения:
- 3.583
Randomris,
так найди в своем IDE файл, который содержит строку «C:ProgrammsASM.lib» и исправь ее на «C:ProgrammsASM Visualmasm32lib» -
Indy_
Well-Known Member
- Публикаций:
-
4
- Регистрация:
- 29 апр 2011
- Сообщения:
- 4.775
Mikl___,
Потом только выяснилось что у него ошибка в имени каталога, масм работает с относительными путями, если запихал в каталоги нужно указать прямой путь, иначе будет ошибка.
А если билдер выдал cannot open file «C:ProgrammsASM.lib» это не с проста. Тем более что какой то левый IDE, параметры переданные линкеру не известны.
С таким подходом вообще незачем браться за асм, будут косяки и трудности непрерывно. В примитивном мягко говоря выше коде коментов больше чем кода. Так не пишется, масм так и назван потому что это макро язык.
— Сообщение объединено, 20 янв 2020 —
> cmp ax, 0
Какой дебил такое написал.. а куда делась старшая часть регистра, те его половина. А про инструкцию test авторы этого высера не слышали получается. Тогда как всегда:
Intel® 64 and IA-32 architectures software developer’s manual combined volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4
https://software.intel.com/en-us/do…bined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4
Изучать нужно с первого, а не как евреи с конца.
-
Randomris
New Member
- Публикаций:
-
0
- Регистрация:
- 8 янв 2020
- Сообщения:
- 5
Я только студент (1С группа), и сам занимаюсь асмом. По этому код взял с сайта (уже не помню откуда) и занимаюсь разбором кода.
читаю книги и пытаюсь по ним изучать. -
Mikl___
Супермодератор
Команда форума- Публикаций:
-
14
- Регистрация:
- 25 июн 2008
- Сообщения:
- 3.583
Randomris,
вспоминай, ищи сайт, откуда скачал IDE, там же найдешь инструкцию об установке, прочитай ее несколько раз, разберись и установи ASM Visual по инструкции, никакой самодеятельности… -
M0rg0t
Well-Known Member
- Публикаций:
-
0
- Регистрация:
- 18 окт 2010
- Сообщения:
- 1.564
А лучше скачать оригинальный 32 битный масм32, и поставить в корень диска, а не в папку с пробелами. Т.к. все это весьма костыльно и может выдавать неожиданные глюки.
-
Mikl___
Супермодератор
Команда форума- Публикаций:
-
14
- Регистрация:
- 25 июн 2008
- Сообщения:
- 3.583
Randomris,
https://gri-software.com/ru/asmvisual/help/- Начало
- Системные требования
- Загрузка и установка
- Обратная связь
- ASM Visual
- Интерфейс
- Работа с проектами
- Работа с кодом
- Сборка программ
- Отладка
- Настройка среды
- Метрики
- Горячие клавиши
-
Indy_
Well-Known Member
- Публикаций:
-
4
- Регистрация:
- 29 апр 2011
- Сообщения:
- 4.775
Randomris,
> Я только студент (1С группа)
Что то не помню в МКБ таких кодов
> читаю книги и пытаюсь по ним изучать.
Не читай их, я тебе выше дал ведь ссылку. Есчо конечно не плохо было бы по логике и алго что то почитать, для общего развития так скажем; архитектур всяких много но принципы одинаковы