Ошибка a1000 ассемблер

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 ?

Guilherme Fidelis's user avatar

asked Aug 14, 2015 at 19:39

panicq's user avatar

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.

Visual Studio 2015 .ASM Custom Build Tool Property Page

answered Aug 14, 2015 at 21:23

Ross Ridge's user avatar

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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
.486
.model flat, stdcall
include /masm32/include/windows.inc
include /masm32/include/user32.inc
include /masm32/include/kernel32.inc
includelib /masm32/lib/user32.lib
includelib /masm32/lib/kernel32.lib
include /masm32/macros/macros.asm
uselib masm32, comctl32, ws2_32
.data
msg_title db "title",0
x dd 0,1,2,3,4,5,6,7,8,9,10,11
n dd 12
bufer db 128 dup(?)
format db "%d",0
.code
start:
mov eax,0
mov ecx, n
mov ebx, 0
L: add eax, x[ebx]
add ex, type x
dec ecx
cmp ecx, 0
jne L
invoke wsprintf, addr buffer, addr format, eax
invoke MessageBox, 0, addr buffer, addr msg_title, MB_OK
invoke ExitProcess, 0
end start.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
.486
.model flat, stdcall
include /masm32/include/windows.inc
include /masm32/include/user32.inc
include /masm32/include/kernel32.inc
includelib /masm32/lib/user32.lib
includelib /masm32/lib/kernel32.lib
include /masm32/macros/macros.asm
uselib masm32, comctl32, ws2_32
.data
msg_title db "title",0
x dd 0,1,2,3,4,5,6,7,8,9,10,11
n dd 12
bufer db 128 dup(?)
format db "%d",0
.code
start:
mov eax,0
mov ecx, n
mov ebx, 0
L: add eax, x[ebx]
add ex, type x
dec ecx
cmp ecx, 0
jne L
invoke wsprintf, addr buffer, addr format, eax
invoke MessageBox, 0, addr buffer, addr msg_title, MB_OK
invoke ExitProcess, 0
end start.

Внимание! В ходе построения обнаружены ошибки:
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!


  1. Randomris

    Randomris

    New Member

    Публикаций:

    0

    Регистрация:
    8 янв 2020
    Сообщения:
    5

    Здравствуйте форумчане! компилятор масм не открывает windows.inc
    Все перепробовал путь указывал и т.д.
    выдает
    fatal error A1000: cannot open file : masm32includewindows.inc


  2. Indy_

    Indy_

    Well-Known Member

    Публикаций:

    4

    Регистрация:
    29 апр 2011
    Сообщения:
    4.775


  3. Mikl___

    Mikl___

    Супермодератор
    Команда форума

    Публикаций:

    14

    Регистрация:
    25 июн 2008
    Сообщения:
    3.583

    Randomris,
    а у тебя точно есть папка include в каталоге masm32? Если сборка 64-разрядная, тогда в masm32 папки include нет, а есть папка include64


  4. Randomris

    Randomris

    New Member

    Публикаций:

    0

    Регистрация:
    8 янв 2020
    Сообщения:
    5

    У меня есть эта папка и в ней есть нужный файл
    Программа установлена в первоначальном виде, ничего не изменено (ASM Visual)

    Вложения:

    • upload_2020-1-9_22-33-37.png


  5. Mikl___

    Mikl___

    Супермодератор
    Команда форума

    Публикаций:

    14

    Регистрация:
    25 июн 2008
    Сообщения:
    3.583


  6. Randomris

    Randomris

    New Member

    Публикаций:

    0

    Регистрация:
    8 янв 2020
    Сообщения:
    5

    Я задавал полный путь к нужному файлу, но все равно он выдает ошибку


  7. Mikl___

    Mikl___

    Супермодератор
    Команда форума

    Публикаций:

    14

    Регистрация:
    25 июн 2008
    Сообщения:
    3.583

    Randomris,
    а почему я должен верить на слово? То что папка называлась не include, а includes уже выяснили… Какую ошибку у тебя сейчас выдает? Желательно картинкой и текст asm-файла также нужно прикрепить


  8. Randomris

    Randomris

    New Member

    Публикаций:

    0

    Регистрация:
    8 янв 2020
    Сообщения:
    5

    Код программы

    1. includelib C:ProgrammsASM Visualmasm32includeskernel32.lib
    2. includelib C:ProgrammsASM Visualmasm32includesuser32.lib
    3. include C:ProgrammsASM Visualmasm32includeswindows.inc
    4. include C:ProgrammsASM Visualmasm32includeskernel32.inc
    5. include C:ProgrammsASM Visualmasm32includesuser32.inc
    6. szTitleName db ‘Window Application’,0
    7. szClassName db ‘ASMCLASS32’,0
    8. msg MONMSGSTRUCT <?> ;  структура сообщения
    9. wc WNDCLASS <?> ; структура класса
    10. Invoke GetModuleHandle,0 ; получаем hInstanse
    11. Mov [wc.style], CS_HREDRAW+CS_VREDRAW+CS_GLOBALCLASS
    12. ; устанавливаем стиль окна
    13. Mov [wc.lpfnWndProc], offset WndProc ;
    14. Invoke LoadIcon,0,IDI_APPLICATION ; получаем значок приложения по
    15. Invoke LoadCursorA,0,IDC_ARROW ; получаем курсор по умолчанию
    16. Mov [wc.hbrBackground], COLOR_BACKGROUND+1
    17. Mov dword ptr [wc.lpszMenuName], 0
    18. Mov dword ptr [wc.lpszClassName], offset szClassName ; задаём имя класса
    19. Invoke RegisterClassA,offset wc ; регистрируем класс окна
    20. Push [hInst] ; дескриптор
    21. Push CW_USEDEFAULT ; высота
    22. Push CW_USEDEFAULT ; ширина
    23. Push WS_OVERLAPPEDWINDOW ; стиль
    24. Push offset szTitleName ; заголовок окна
    25. Push offset szClassName ; имя класса
    26. Push 0 ; дополнительный стиль
    27. Call CreateWindowEx ; создаём окно
    28. mov [newhwnd], eax ; сохраняем его дескриптор
    29. invoke ShowWindow,[newhwnd],SW_SHOWNORMAL; показываем окно
    30. invoke UpdateWindow, [newhwnd]; обновляем его
    31. msg_loop: ; запускаем цикл обработки сообщений
    32. invoke GetMessage,offset msg, 0,0,0
    33. invoke TranslateMessage, offset msg
    34. invoke DispatchMessage, offset msg
    35. WndProc proc uses ebx edi esi, hwnd:DWORD, wmsg:DWORD, wparam:DWORD, lparam:DWORD
    36. Invoke DefWindowProcA,[hwnd],[wmsg],[wparam],[lparam]
    37.   ; вызываем стандартный обработчик сообщений
    38. je wmdestroy; если нажата клавиша Escape то выход
    39. invoke PostQuitMessage, 0
    40. invoke ExitProcess, 0 ; выход

    Все начало работать после переустановки программы и чистки всего реестра. Но появилась новая ошибка
    LINK : fatal error LNK1104: cannot open file «C:ProgrammsASM.lib»

    upload_2020-1-19_22-44-46.png

    Последнее редактирование модератором: 20 янв 2020


  9. Mikl___

    Mikl___

    Супермодератор
    Команда форума

    Публикаций:

    14

    Регистрация:
    25 июн 2008
    Сообщения:
    3.583

    Randomris,
    так найди в своем IDE файл, который содержит строку «C:ProgrammsASM.lib» и исправь ее на «C:ProgrammsASM Visualmasm32lib»


  10. Indy_

    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

    Изучать нужно с первого, а не как евреи с конца.


  11. Randomris

    Randomris

    New Member

    Публикаций:

    0

    Регистрация:
    8 янв 2020
    Сообщения:
    5

    Я только студент (1С группа), и сам занимаюсь асмом. По этому код взял с сайта (уже не помню откуда) и занимаюсь разбором кода.
    читаю книги и пытаюсь по ним изучать.


  12. Mikl___

    Mikl___

    Супермодератор
    Команда форума

    Публикаций:

    14

    Регистрация:
    25 июн 2008
    Сообщения:
    3.583

    Randomris,
    вспоминай, ищи сайт, откуда скачал IDE, там же найдешь инструкцию об установке, прочитай ее несколько раз, разберись и установи ASM Visual по инструкции, никакой самодеятельности…


  13. M0rg0t

    M0rg0t

    Well-Known Member

    Публикаций:

    0

    Регистрация:
    18 окт 2010
    Сообщения:
    1.564

    А лучше скачать оригинальный 32 битный масм32, и поставить в корень диска, а не в папку с пробелами. Т.к. все это весьма костыльно и может выдавать неожиданные глюки.


  14. Mikl___

    Mikl___

    Супермодератор
    Команда форума

    Публикаций:

    14

    Регистрация:
    25 июн 2008
    Сообщения:
    3.583

    Randomris,
    https://gri-software.com/ru/asmvisual/help/

    • Начало
      • Системные требования
      • Загрузка и установка
      • Обратная связь
    • ASM Visual
      • Интерфейс
      • Работа с проектами
      • Работа с кодом
      • Сборка программ
      • Отладка
      • Настройка среды
      • Метрики
      • Горячие клавиши

  15. Indy_

    Indy_

    Well-Known Member

    Публикаций:

    4

    Регистрация:
    29 апр 2011
    Сообщения:
    4.775

    Randomris,

    > Я только студент (1С группа)

    Что то не помню в МКБ таких кодов :my_name_is_grisha:

    > читаю книги и пытаюсь по ним изучать.

    Не читай их, я тебе выше дал ведь ссылку. Есчо конечно не плохо было бы по логике и алго что то почитать, для общего развития так скажем; архитектур всяких много но принципы одинаковы :don-t_mention:


WASM

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Ошибка a1 5610
  • Ошибка a0b6 mini cooper решение
  • Ошибка a0b1 bmw e70
  • Ошибка 99993 xmeye что означает

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии