0 / 0 / 0
Регистрация: 05.04.2018
Сообщений: 10
1
12.09.2018, 12:44. Показов 12533. Ответов 2
Assembler | ||
|
Assembler | ||
|
Внимание! В ходе построения обнаружены ошибки:
Assembling: C:UsersbogdanAppDataLocalTempSASMprogram.as m
C:UsersbogdanAppDataLocalTempSASMprogram.as m(3) : fatal error A1000: cannot open file : /masm32/include/windows.inc
LINK : fatal error LNK1181: cannot open input file «C:UsersbogdanAppDataLocalTempSASMprogram.o »
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
-
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.780
-
Mikl___
Супермодератор
Команда форума- Публикаций:
-
14
- Регистрация:
- 25 июн 2008
- Сообщения:
- 3.467
Randomris,
а у тебя точно есть папка include в каталоге masm32? Если сборка 64-разрядная, тогда в masm32 папки include нет, а есть папка include64 -
Randomris
New Member
- Публикаций:
-
0
- Регистрация:
- 8 янв 2020
- Сообщения:
- 5
У меня есть эта папка и в ней есть нужный файл
Программа установлена в первоначальном виде, ничего не изменено (ASM Visual)Вложения:
-
Mikl___
Супермодератор
Команда форума- Публикаций:
-
14
- Регистрация:
- 25 июн 2008
- Сообщения:
- 3.467
-
Randomris
New Member
- Публикаций:
-
0
- Регистрация:
- 8 янв 2020
- Сообщения:
- 5
Я задавал полный путь к нужному файлу, но все равно он выдает ошибку
-
Mikl___
Супермодератор
Команда форума- Публикаций:
-
14
- Регистрация:
- 25 июн 2008
- Сообщения:
- 3.467
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.467
Randomris,
так найди в своем IDE файл, который содержит строку «C:ProgrammsASM.lib» и исправь ее на «C:ProgrammsASM Visualmasm32lib» -
Indy_
Well-Known Member
- Публикаций:
-
4
- Регистрация:
- 29 апр 2011
- Сообщения:
- 4.780
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.467
Randomris,
вспоминай, ищи сайт, откуда скачал IDE, там же найдешь инструкцию об установке, прочитай ее несколько раз, разберись и установи ASM Visual по инструкции, никакой самодеятельности… -
M0rg0t
Well-Known Member
- Публикаций:
-
0
- Регистрация:
- 18 окт 2010
- Сообщения:
- 1.550
А лучше скачать оригинальный 32 битный масм32, и поставить в корень диска, а не в папку с пробелами. Т.к. все это весьма костыльно и может выдавать неожиданные глюки.
-
Mikl___
Супермодератор
Команда форума- Публикаций:
-
14
- Регистрация:
- 25 июн 2008
- Сообщения:
- 3.467
Randomris,
https://gri-software.com/ru/asmvisual/help/- Начало
- Системные требования
- Загрузка и установка
- Обратная связь
- ASM Visual
- Интерфейс
- Работа с проектами
- Работа с кодом
- Сборка программ
- Отладка
- Настройка среды
- Метрики
- Горячие клавиши
-
Indy_
Well-Known Member
- Публикаций:
-
4
- Регистрация:
- 29 апр 2011
- Сообщения:
- 4.780
Randomris,
> Я только студент (1С группа)
Что то не помню в МКБ таких кодов
> читаю книги и пытаюсь по ним изучать.
Не читай их, я тебе выше дал ведь ссылку. Есчо конечно не плохо было бы по логике и алго что то почитать, для общего развития так скажем; архитектур всяких много но принципы одинаковы
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
37.8k7 gold badges79 silver badges111 bronze badges
8
Hello, I am new to programming and have very little knowledge of environment settings and paths. I am starting in an assembly language class.
I used VS2010 pro last semester for c++, but only for writing code, I did not use any of the tools that it has. We are using MASM and VS2010 for my class and a book by Kip R. Irvine. When I try to build my project I get this build report:
1>—— Build started: Project: Project, Configuration: Debug Win32 ——
1>Build started 1/25/2013 10:44:04 AM.
1>InitializeBuildStatus:
1> Touching «DebugProject.unsuccessfulbuild».
1>_MASM:
1>Skipping target «_MASM» because all output files are up-to-date with respect to the input files.
1>_MASM:
1> Assembling [Inputs]…
1>MASM : fatal error A1000: cannot open file : ..Moves.asm
1>C:Program Files (x86)MSBuildMicrosoft.Cppv4.0BuildCustomizationsmasm.targets(49,5): error MSB3721: The command «ml.exe /c /nologo /Zi /Fo»DebugMoves.obj» /Fl»Project.lst»
/I «c:Irvine» /W3 /errorReport:prompt /Ta..Moves.asm» exited with code 1.
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.42
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I have no idea what this realy means or how to go about fixing it. I am using windows 7 formy OS. Can someone please help me? I have spent most of the week trying to get this to work and
am getting nowhere.