Здрасьте! Такой вопрос от нуби: Начал читать Крупника. Хотел сделать первую прогу. Установил Far, myasm. Создал папки, кот. нужны. Создал файлы amake.bat и l11.asm. Добавил в "Переменных средах" Patch=c:\ temp; c:\myasm\bin. Перезагрузил комп. Ввожу в командной строке Far: amake l11... и ни фига! ни чего не создает. Никаких тебе .exe, .obj. В чем проблема не пойму хоть убей...
сначала бросаешь играть во всякое онлайн-гов..о потом читаешь многа и упорно. "Переменных средах" Patch=c:\ temp; c:\myasm\bin. завязывай с игрульками, говорю же... переменная называется Path
а вообще, скачай пакет TASM5.0 как по мне, идеально для начинающего ещё вполне неплох MASM, который выложен на главной странице сайта, он есть в инструментах
Ну не знаю. Сам тоже начинал с TASM. Но рекомендовал бы fasm. Там ничего лишнего. В тасме много заморочек.
ну да Path. У меня там в общем, правильно записано. Это я здесь ошибся кстати, насчет этой переменной: у меня там кроме c:\ temp; c:\myasm\bin ещё указаны пути к другим прогам, кот. я раньше устанавливал. Мож из-за этого не работает?
у меня есть TASM 5+ и MASM32 v10. Тока я не знаю что с ними делать. Хотел у Крупника ("Ассемблер. Самоучитель") вычитать последовательность действий. Типа "для особо одаренных". Но у него там какие-то заморочки. Во-первых, у меня сначала его myasm не распаковывался из Far. Пришлось в винде папку с дистрибутвом перетаскивать в с:\ Во-вторых, в книжке похоже есть опечатки. А очепятка для нуби смертельна
Abizian ёпрст... 1. Не надо следовать один в один инструкциям, не понимая, для чего это. Лучше потерять день или 2, но разобраться, за коим шутом надо делать вот так, почему именно так, и как можно еще. 2. Написанию ключевых слов, имен предопределенных переменных, операторов и т.п. надо следовать один в один - потому что так сделано. Конкретно по path: это список путей, в котором будет производится поиск того, что ты пытаешься запустить. Поиск происходит сначала в текущем каталоге, потом в системном, потом в путях, указанных в переменной path, в том порядке, в котором они указаны. Отсюда: - если ты запускаешь что-либо из каталога, где находится твой масм, то никаких путей тебе не надо - все запускается либо в ФАРе, либо в командной строке (cmd), чтоб не закрылось. Так или иначе, на экране будет что-то (бла-бла-бла, файл не найден, бла-бла-бла не является исполняемым файлом или командой, бла-бла-бла ошибка номер 345678: кривые руки, и так далее) - это что-то НАДО прочитать. Оно не просто так пишется, для красоты, чтоб строчки бегали. Это важная информация, по которой любой обязан сообразить, что, собственно, не так. - написать make слишком круто, не представляя, что делает компилятор, и какие у него опции. Сначала будь добр, набери в командной строке <имя компилятора><нужные опции><имя файла>, потом, когда у тебя не останется сомнений, что нужно именно это, всю строчку с опциями можно в батник запихнуть. -- да, в книге может быть готовый пример. Но а) может быть типографская ошибка б) если бы всё сводилось именно к этому одному набору опций, то компилятор делал бы это по умолчанию. Сначала прочитай про ключи (обычно запуск компилятора без параметров выводит целую простыню справки на экран), потом делай. -- версия компилятора может быть другой. Хотя как правило, ключи сохраняются от верси к версии, проверь, что компилятор Крупника, и твой - это одно и то же
ага, вот он чо пишет: C: \temp> amake l11 C: \temp>ml /c /coff "l11.asm" "ml" не является внутренней или внешней командой, исполняемой программой или пакетным файлом С: \temp>link /SUBSYSTEM:CONSOLE "l11.obj" "link" не является внутренней или внешней командой, исполняемой программой или пакетным файлом
Ну вот видишь. Система не знает, где находится ml. Как это исправить, думай сам. Например, пиши не "ml", а "путь\ml".
дык уже неделю разбираюсь. Сначала начил читать Юров "Ассемблер. Учебник для ВУЗов". Но там жуть Там сначала идет описание устройства процессора IA-32. Неделю угробил, чтоб дойти до главы "Первая программа", после чего не выдержал, бросил все нах... Начал чтить Крупника. Там вроде попроще. я запускаю из папки temp. Там у меня amake.bat и l11.asm я вообще тока вчера допёр, что на деле работать нужна с тремя компонентами: компилятор - делает файл .obj; компоновщик - делает екзешник, и отладчик - типа "пусть будет" ничо не понял, что нужно сделать... чо за опции? имя файла с расширением или без? где вообще можно почитать что-нить хорошее для "совсем уж новеньких"?
Код (Text): C:\MASM611\BIN>ML.EXE Microsoft (R) Macro Assembler Version 6.12.7164 Copyright (C) Microsoft Corp 1981-1997. All rights reserved. usage: ML [ options ] filelist [ /link linkoptions] Run "ML /help" or "ML /?" for more info Вот так и запускаем. Код (Text): ML [ /options ] filelist [ /link linkoptions ] /AT Enable tiny model (.COM file) /nologo Suppress copyright message /Bl<linker> Use alternate linker /Sa Maximize source listing /c Assemble without linking /Sc Generate timings in listing /Cp Preserve case of user identifiers /Sf Generate first pass listing /Cu Map all identifiers to upper case /Sl<width> Set line width /Cx Preserve case in publics, externs /Sn Suppress symbol-table listing /coff generate COFF format object file /Sp<length> Set page length /D<name>[=text] Define text macro /Ss<string> Set subtitle /EP Output preprocessed listing to stdout /St<string> Set title /F <hex> Set stack size (bytes) /Sx List false conditionals /Fe<file> Name executable /Ta<file> Assemble non-.ASM file /Fl[file] Generate listing /w Same as /W0 /WX /Fm[file] Generate map /WX Treat warnings as errors /Fo<file> Name object file /W<number> Set warning level /FPi Generate 80x87 emulator encoding /X Ignore INCLUDE environment path /Fr[file] Generate limited browser info /Zd Add line number debug info /FR[file] Generate full browser info /Zf Make all symbols public /G<c|d|z> Use Pascal, C, or Stdcall calls /Zi Add symbolic debug info /H<number> Set max external name length /Zm Enable MASM 5.10 compatibility /I<name> Add include path /Zp[n] Set structure alignment /link <linker options and libraries> /Zs Perform syntax check only Значит что? Если надо делать .com-файлы, то нужна опция /AT Если нужен .obj для последующей линковки с ЯВУ, /c Если нужен детальный листинг, то /FlListing.lst /Sa И так далее. Когда в какой-то опции сомневаешься - не пиши. Посмотри на результат, если не получилось то, что надо - обычно становится ясно, что добавить Имя файлов обычно с расширением