Вопрос № 22312: Здравствуйте.Есть у меня два вопроса:
1)Скачал MASM 611, установил.Пишу в командной строке >Ml.exe Prog01.asm ,а мне в ответ
Assembler: prog01.asm
MASM : fatal error A1000: cannot open file : prog01.asm
то, что оно не может откр...Вопрос № 22343: Добрый день.Хочу задать два вопроса :
1)Когда я скомпонировал Prog03 и запустил Prog03.com появилась командная строка, но ничего
не вывела, а должна вывисти рожицу(согласно уроку).Почему?
2)Когда я пытался ассемблировать Prog04...
Вопрос № 22.312
Здравствуйте.Есть у меня два вопроса:
1)Скачал MASM 611, установил.Пишу в командной строке >Ml.exe Prog01.asm ,а мне в ответ
Assembler: prog01.asm
MASM : fatal error A1000: cannot open file : prog01.asm
то, что оно не может открыть файл я понял.А толку мало :)
2)Есть у меня еще TASM, тут все норма, но когда дошёл до Prog04.asm и в командной строке ввел >tasm prog04 ,как делал это обычно, мне выдает:
Assembler file: prog04.asm
**Error** prog04.asm(32) Near jump or call to different CS
Error message: 1
Warning massage: None
Passes: 1
Remaining memory: 414k
Приложение:
Отправлен: 17.06.2005, 21:00
Вопрос задал: Gimina (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: Стас
Здравствуйте, Gimina!
1) а ты пишешь полный путь до файла? побробуй полный типа:
ml c:progsasmmyprog.asm
если в пути есть пробелы - путь и имя файла в кавычки-
ml "c:my progsasmmyprog.asm"
Еще вариант - поставь filemon и посмотри где масм ищет твою прогу.
2) перед ORG добавь
assume cs:cseg
а то ассемблер не знает какой у тебя CS.
Ответ отправил: Стас (статус: Практикант)
Отправлен: 18.06.2005, 03:43 Оценка за ответ: 5
Отвечает: Алексей Смуриков
Здравствуйте, Gimina!
А вы уверены что Prog01.asm находится в той же папке, что и Ml.exe!
Ответ отправил: Алексей Смуриков (статус: Студент)
Отправлен: 18.06.2005, 13:30
Вопрос № 22.343
Добрый день.Хочу задать два вопроса :
1)Когда я скомпонировал Prog03 и запустил Prog03.com появилась командная строка, но ничего
не вывела, а должна вывисти рожицу(согласно уроку).Почему?
2)Когда я пытался ассемблировать Prog04 в TASM мне выдавало:
*Error** prog04.asm(32) Near jump or call to different CS
мне в вопросе № 22312 ответили, что перед org нужно добавить строку assume cs:cseg и это
помогло.Когда я ассемблировал эту ж програму в MASM, то все прошло и без assume cs:cseg.
Почему так? Что значит эта строка(assume cs:cseg)? Поподробней если можно.
Приложение:
Отправлен: 18.06.2005, 14:11
Вопрос задал: Gimina (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: ASMодей
Здравствуйте, Gimina!
1. Под WinXP небось запускали? Тогда надо сначала установить видеорежим: после строки
_beg:
надо вставить строки
mov ax,3
int 10h
2. Директива assume производит сопоставление сегментных регистров и сегментов программы. В Вашем случае компилятор встретил инструкцию loop Next_face и не смог определить какой сегментный регистр ему следует использовать, чтобы произвести переход. А masm видимо использует текущий сегмент по-умолчанию, поэтому никаких замечаний не выдал.
Ответ отправил: ASMодей (статус: Профессионал)
Отправлен: 18.06.2005, 15:57 Оценка за ответ: 5
Отвечает: Алексей Смуриков
Здравствуйте, Gimina!
Под какой системой вы находитесь!
если под виндой w2k/XP/2003 то надо сначала утсановить видеорежим, читайте доку!
Ответ отправил: Алексей Смуриков (статус: Студент)
Отправлен: 18.06.2005, 18:45