Форум «Всё о Паскале» _ Ассемблер _ ассемблирование и компановка программы
Автор: Тёмный Эльф 30.09.2007 0:07
Здравствуйте. У меня возникла проблема при ассемблировании и компановки программы. Очень прошу помощи. Сам текст программы выглядит так:
CSEG segment org 100h
Begin:
mov ah,9 mov dx,offset Message int 21h
int 20h
Message db 'Hello, world!$'
CSEG ends end Begin
Я пробовала использовать два пакета: MASM611 и TASM5.0 В обоих случаях неудача.
1)Ввожу в командной строке D:\MASM611\BIN\ML.EXE D:\Prog01.asm Выдаёт: Assembling d:\prog01.asm fatal error A1020: cannot find link.exe (хотя link.exe есть. он лежит в папке D:\MASM611\BINR) (MASM611 был скачан с сайта Калашникова).
Далее тоже самое с помощью другой программы-ассемблера - TASM: 2)Ввожу в командной строке: D:\TASM\BIN\TASM.EXE D:\prog01.asm Выдаёт:
При этом prog01.OBJ не создался. Поэтому когда я ввожу D:\TASM\BIN\TLINK.EXE D:\prog01.OBJ t/x/ выскакивает ошибка "unable to open file 'd:\prog01.OBJ'"
Очень интересно, почему в первом случае не удалось слинковать, а во втором случае - создать объектный файл.
Автор: volvo 30.09.2007 0:50
Заметь:
Цитата
Assembling file: d:\prog01.asm to prog01.OBJ
, а не в D:\prog01.OBJ... Ищи файл или в той папке, откуда запускалась команда или в D:\TASM\BIN\
Автор: Triplet 30.09.2007 1:03
сначала лучше командой cd сменить путь к файлу, т.е. >cd D:\MASM611\BIN потом запускаешь МАSM и компоновщик одновременно: >ML.EXE Prog01.ASM /AT (параметр /AT (только заглавными!) запустит LINK.EXE, который должен находиться в одной папке с MASM-ом, т.е. в BIN-е) в той же папке оказывается файл типа COM (или EXE)