![]() |
eXeL@B —› Вопросы новичков —› Дневники чайника: компиляция в masm32 |
Посл.ответ | Сообщение |
|
Создано: 28 февраля 2011 20:19 · Личное сообщение · #1 Здрасти всем! Сразу извиняюсь за вопрос.. так как считаю его что не наесть тупейшим. Просьба тех кто считает так же как я, не читать дальше... Те кто делал первые шаги со статей "дневники чайника", прошу, подскажите. Кто читал дневники чайника наверняка столкнулся с данной проблемкой. Я дошел до masm32. прописал строки в autoexec.bat, PATH D:\masm32\bin SET HELPFILES=D:\masm32\bin создал новый асм файл. В тексте автора написано использование build файл_асм для компиляции и линковки. нашел я этот файл в папке masm/bin запустил как описано автором статьи, но увы не вышло. файл obj не появился в директории с асм файлом. может что я не так делаю?! PS:Конечно я наверное смог бы решить эту проблему самостоятельно, порывшись в сети. поюзал поиск по форуму, поискал в темах для новичков, но ничего по этому вопросу не нашел. Думаю этот вопрос будет полезен всем людям делающим такие же первые mov, add и jmp! ![]() |
|
Создано: 01 марта 2011 00:24 · Поправил: plutos · Личное сообщение · #2 |
|
Создано: 01 марта 2011 04:25 · Личное сообщение · #3 Спасибо plutos за внимание! В директории вообще ничего не создается. там лежит несколько com файлов с кодами проектов из статьи и один асм файл(который и надо откомпилировать) прграмма довольно примитивная и особой нагрузки не несет! Могу привести ее код если это важно. Сам бат файл @echo off if exist %1.obj del %1.obj if exist %1.exe del %1.exe @echo %1 \masm32\bin\ml /c /coff %1.asm if errorlevel 1 goto errasm if not exist rsrc.obj goto nores \masm32\bin\Link /SUBSYSTEM:WINDOWS /OPT:NOREF %1.obj rsrc.obj if errorlevel 1 goto errlink dir "1.* goto TheEnd :nores \masm32\bin\Link /SUBSYSTEM:WINDOWS /OPT:NOREF %1.obj if errorlevel 1 goto errlink dir %1.* goto TheEnd :errlink echo _ echo Link error goto TheEnd :errasm echo _ echo Assembly Error goto TheEnd :TheEnd pause ![]() |
|
Создано: 01 марта 2011 05:49 · Поправил: plutos · Личное сообщение · #4 Я бы начал с того, что проверил бы, действительно ли directory маsм32 (а в нем directory "bin" ) существует на D: drive. Потом убедился бы добавлен ли "D:\masm32\bin" к твоим ENVIRONMENTAL VARIABLES. (by typing "D:\>PATH" at DOS command promp) Далее, создал бы new directory, say "AsmProj1, куда поместил бы твой .asm file AND твой build.bat. Then run it like this: D:\masm32\AsmProj1\build.bat myfile В крайнем случае, выложи сам .asm file. Попробую его скомпеллировать. ----- Give me a HANDLE and I will move the Earth. ![]() |
|
Создано: 01 марта 2011 19:32 · Личное сообщение · #5 Хорошо, я сейчас попробую все сделать как ты написал. На счет файла, не думаю что это необходимо. это 5 листинг "дневника чайника", самый первый проект в серии статей под masm32. Ну на крайний случай чтобы не копаться, вот исходник: Code:
![]() |
|
Создано: 01 марта 2011 19:42 · Личное сообщение · #6 Спасибо plutos! Ты помог! Честно говоря я не понимаю почему не работало раньше... Я просто Создал папку AsmProj1 в masm32 как ты посоветовал. Скопировал туда асм файл и build.bat. С командной строки выполнил команду D:\masm32\AsmProj1\build.bat praxis05 и в результате в папке появились 2 новых файла, obj и exe! Спасибо что отозвался и помог! Можно считать вопрос исчерпанным! ![]() ![]() |
|
Создано: 01 марта 2011 20:49 · Поправил: plutos · Личное сообщение · #7 Честно говоря я не понимаю почему не работало раньше... Желательно все же понять, чтобы не наступать снова и снова на одни и теже грабли. Да и весь смысл учебы в этом: что-то не получалось - разобрался - чему-то научился. Так приходит опыт. А просто решил с подсказки конкретный вопрос, но не понял принципа, значит будет снова ситуация, подобная этой, а ты снова не готов. Мне кажется, что ты ran your build.bat without a command-line argument - praxis05. То, что этот аргумент нужен сразу видно из самого build.bat. Но я могу и ошибаться. В любом случае - не паникуй, ты не один! Но прежде, чем задавать вопросы, сделай все, что в твоих силах сам! Только так чему-то научишься по-настоящему. Удачи! ----- Give me a HANDLE and I will move the Earth. ![]() |
|
Создано: 02 марта 2011 20:38 · Личное сообщение · #8 plutos, спасибо за наставление! Ценю, видно что с душой относишься к новичку. По больше бы таких людей! )) В проблеме я разобрался. Был портак с путями. просто я вызывал сам build.bat по полному пути, а в коммандной строке передавал не полный путь к файлу асма. А файла то нету рядом с буилдом. а вот когда уже скопировал туда файл асма, точнее наоборот я зделал. Я скопировал буилд в директорию с файлом асма, и запустил как прежде, все заработало. Ошибка была в пути. Ну знаешь, когда чего то очень хочется.. глаза большие... мелочей не замечаешь... Если бы подошел сразу основательно и не забегал бы вперед, думаю нашел бы проблему... ![]() Да и свою роль сыграло то что я знаком с асмом для АВР микроконтроллеров. там процесс компиляции немного другой. В общем огромное спасибо! И тебе удачи! Надеюсь этот мой глупый вопрос поможет еще кому то! Всем удачи и успехов! Закрываю тему! ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Дневники чайника: компиляция в masm32 |
Эта тема закрыта. Ответы больше не принимаются. |