Вопрос № 127192: Здравствуйте уважаемые эксперты!!я приобрел книгу О.Калашникова "Ассемблер это просто!!" и у меня появились проблемы с компиляцией .asm файлов!!Набираю программу в блокноте либо в edit.com, сохраняю в файл с ASM расширением и копилирую путе...Вопрос № 127204: Здравствуйте Уважаемые эксперты и специалисты !
Прошу Вас помочь мне разобраться в программирование на ассемблере.
Прочел по этому предмету массу статей, но на практике у меня ничего не
получается.
Мое оборудование:
ОС - ...
Вопрос № 127.192
Здравствуйте уважаемые эксперты!!я приобрел книгу О.Калашникова "Ассемблер это просто!!" и у меня появились проблемы с компиляцией .asm файлов!!Набираю программу в блокноте либо в edit.com, сохраняю в файл с ASM расширением и копилирую путем запуска с командной строки C:MASM611BINML.EXE PROG001.asm /AT . Как я понимаю, в каталоге BIN (где и находится компилятор) должны появиться 2 файла с расширениями .com и .obj, но не появляется ничего!!Разъясните пожалуйста !! заранее благодарен
Использовать линкер можно примерно с такой командной строкой:
LINK /TINY имя.obj,имя.com;
;
- обрывает строку
ключ /TINY - определяет мини-модели, то есть обычный формат com-файла для DOS. Для облегчения компиляции com-программ можно сделать следующее: Переименовать Segmented Executable Linker LINK.EXE в LINKDOS.EXE Поместить его в папку MASM32BIN Создать в той же папке файл BCOM.BAT с таким содержанием:
@echo off if exist "%1.obj" del "%1.obj" if exist "%1.exe"
; del "%1.exe" masm32inml /c /AT "%1.asm" if errorlevel 1 goto errasm masm32inLINKDOS /TINY "%1.obj","%1.com"; 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
Линк по теме: http://bitfry.narod.ru/17.htm
Ответ отправил: Zetasm (статус: 1-ый класс)
Ответ отправлен: 13.03.2008, 23:25
Вопрос № 127.204
Здравствуйте Уважаемые эксперты и специалисты !
Прошу Вас помочь мне разобраться в программирование на ассемблере.
Прочел по этому предмету массу статей, но на практике у меня ничего не
получается.
Мое оборудование:
ОС - Windows 98
Second Edition
Ver. 4.10. 2222 A
Макро Ассемблер ( версия 5.0 – 5.10)
Все делаю согласно описанием в учебниках, а именно, создал на диске
С:\ папку и сохранил ее под именем Asm.
Скопировал в папку Asm. транслятор masm.exe , редактор связей link.exe.
Написал программу в редакторе NotePad, сохранил ее под именем PRIMER11.ASM. и скопировал ее в папку Asm.
Запустил транслятор masm.exe
На экране появилась строка Source filename [.ASM]:, в командной строке набрал
имя программы PRIMER11.ASM и нажал клавишу enter.
Далее в описаниях все просто – отвечаем нажатием на клавишу enter на следующие
три вопроса и если программа написана без ошибок, то в папке Asm должен
появится ярлык объектного файла (или модуль) PRIMER11.OBJ.
Отвечаю нажаеием клавиши enter на вопросы. В конце появляется надпись “Unable
to open input file: PRIMER11.ASM “ и программа заканчивает свою работу.
Далее пробую делалть компановку, так для проверки.
Открываю компоновщик link.exe и в строке Object Modules[.OBJ]: вписываю имя
программы PRIMER11.ASM и жму enter.
После ответов на все вопросы нажатием клавишы enter получаю ответ: LINK: fatal
error L1093: PRIMER11.OBJ: object not found.
Закрываю программу, в папке Asm появляется ярлычок Primer11.map
Открываю ярлычок и смотрю в Properties:
General: Primer11
Type: MAP file
Location: C:\Asm
Size: 0 bytes
MS-DOS name: Primer11.MAP
Смотрю в Properties редактора NotePad где написана программа :
General: PRIMER11.ASM.
Type: Text Document
Location: C:\Asm
Size: 1.08 KB
MS-DOS name:PRIMER^1.TXT
Уважаемые эксперты и специалисты, где я допускаю ошибку или делаю
что-то не так. Помогите, пожалуйста, разобраться.
Текст программы PRIMER11.ASM прилагаю.
C уважением Руслан
R.S.
Стас (специалист), если это попадет к Вам, большая просьба объясните мне
пожалуйста, что означает аббревиатура CMD.
Как я понимаю CMD – command-line compiler ( в переводе что означает компилятор командной строки или драйвер оперативной строки выбора ).
С уважением, за ранее благодарю.
Отвечает: Овчинников Алексей
Здравствуйте, Антонов Руслан Дмитриевич!
Скорее всего вы создали не PRIMER11.ASM, а файл с названием PRIMER11.ASM.TXT
--------- Пишу на FASM
Ответ отправил: Овчинников Алексей (статус: 4-ый класс)
Ответ отправлен: 13.03.2008, 21:43 Оценка за ответ: 3 Комментарий оценки: Скорее всего автор ответа, Алексей, не совсем внимательно прочитал вопрос.
В вопросе все описанно, где и как я создавал и сохранял файл, все согласно рекомендациям автора статьи из учебника. Да и в < свойствах > я показал. какие получились расширения
созданого мной файла.
Я сам прекрасно понимаю, что что-то не так как
надо, поэтому и обратился к экспертам за помощью,
чтоб мне подсказали в чем мои ошибки.
Конечно, я очень блогадарен Алексею за то, что
он хотел мне помочь, но, к сожалению, его помощь
ни сколько не внесла ясности в мой вопрос.
С уважением. Руслан
Ваш код написан в кодировке win1251 и в консоли будет отображен некорректно.
Воспользуйтесь редактором который понимает кодировку dos cp866.
Например встроенный в FAR или bred v3.
Проверьте правильность имени файла.
В приложении исправленная версия программы (только com).
Также советую ознакомиться материалами на сайте http://bitfry.narod.ru/
Приложение:
Ответ отправил: Zetasm (статус: 1-ый класс)
Ответ отправлен: 14.03.2008, 00:00 Оценка за ответ: 4