PDA

View Full Version : Ассемблер


ALEXANDER
14-06-2005, 01:32
Ассемблирую файл PROG01.ASM(из курса Калашникова О. по изучению ассемблера) на TASME 4.1 С:\TASM\BIN пишу TASM.EXE PROG01.ASM выскакивает ошибка:
Fatal**Command line: Can't locate file prog1.asm
Error messages :1
Warning messages : none
Passes :1
Remaining memory: 443kb
И што я не так делаю подскажыте .
P.S: Зарание спасибо!

*RUS*
14-06-2005, 01:39
Ассемблирую файл PROG01.ASM(из курса Калашникова О. по изучению ассемблера) на TASME 4.1 С:\TASM\BIN пишу TASM.EXE PROG01.ASM выскакивает ошибка:
Fatal**Command line: Can't locate file prog1.asm
Error messages :1
Warning messages : none
Passes :1
Remaining memory: 443kb
И што я не так делаю подскажыте .
P.S: Зарание спасибо!

Ну.... если перевести то получается , что прога не может найти твой асамблируемый файл .... :rolleyes:

*RUS*
14-06-2005, 01:47
http://rusfaq.ru/cgi-bin/index.cgi?Step=info&Action=Question&ID=15620

ALEXANDER
14-06-2005, 13:48
Спасибо за ссылочку но там я ненашол ответа на вопрос.

James Bond
14-06-2005, 13:50
Спасибо за ссылочку но там я ненашол ответа на вопрос.
дай листинг Prog01.asm

HotMan
14-06-2005, 22:44
Ассемблирую файл PROG01.ASM(из курса Калашникова О. по изучению ассемблера) на TASME 4.1 С:\TASM\BIN пишу TASM.EXE PROG01.ASM выскакивает ошибка:
Fatal**Command line: Can't locate file prog1.asm
Error messages :1
Warning messages : none
Passes :1
Remaining memory: 443kb
И што я не так делаю подскажыте .
P.S: Зарание спасибо!
У тебя указано PROG01.ASM, а в ошибке компилятора prog1.asm
Ты ничего не перепутал?

ALEXANDER
14-06-2005, 23:26
Да нет путь к файлу я точно пишу !!!

Elic
15-06-2005, 09:00
ALEXANDER >>> файл PROG01.ASM (из курса Калашникова О. по изучению ассемблера)
HotMan >> а в ошибке компилятора prog1.asm
ALEXANDER > путь к файлу я точно пишу !!!
А сообщение об ошибке не перепутал?

И ещё: TASM.EXE у тебя лежит в С:\TASM\BIN, а PROG01.ASM - где?

И ещё: дай сам файл PROG01.ASM - нюхом чую, в нём предусмотрена какая-то проверка на вшивость :)

ALEXANDER
16-06-2005, 01:32
Я снова здесь и снова ищу ответ на вопрос " Чо эта чертова фигня не ассемблируется ???"
Все правильно и путь ( пути Господни не исповедимы :d ) и файл .
а вот когда я пишу неправильный адрес командная строка говорит што не может найти указанный адрес ( дело не в етом ) и PROG01.ASM в папке с файлом TASM.EXE и файл тоже правильный вот только я потом заметил чтобы я там не писал ошыбка одна и таже :
Fatal**Command line: Can't locate file prog1.asm
Error messages :1
Warning messages : none
Passes :1
Remaining memory: 443kb

Elic
16-06-2005, 09:13
alexander
> Учение - яркий свет,а неучение - приятный полумрак!!!
Вот ты в этом полумраке как раз и неприятно споткнулся :)

> что бы я там не писал ошибка одна и та же
Понятно. Проверка на "приятный полумрак" :)
Значит, так. Архивируй весь каталог C:\tasm - и архив в студию. Хочу глазами глянуть - как это твой ассемблер граблями заминировали. :)

ALEXANDER
16-06-2005, 11:58
Што всю ? Она же в архиви весит 4 мегабайта .

Elic
16-06-2005, 20:52
alexander
8 постов по 5 томов по 100 килобайт. И не вздумай что-либо удалять! :)

ALEXANDER
20-06-2005, 01:19
Доброй ночи!!! Извени за задержку. Ну так вот : Tasm я не смог прислать жму загрузить а оно глючит.Та всеравно скачал другой поменьше (400 КБ в архиве) . Ну набрал ту же прогу в командной строке указал : C:\TASM\tasm Prog01 и опять тоже Error messages : 1 . Ну короче потом нашол там (в папке Tasm) файл с названием TD ( Turbo Debugger ) как потом я понял . Потом я открыл меню File и нажал Dos shell . И там было уже указано путь к папке далее я прописал tasm Prog01 и ( О диво!!!!!!!!!!!!!!!!!!!!!!! ) увидел что в строке Error messages 0 ошыбок ну потом я его линкировал TLINK Prog01 и наконецто появился EXE файл . Ну так вот мой вопрос Что я зделал ?

Elic
20-06-2005, 10:51
> Что я зделал ?
Странный ты. Откуда я знаю? Учись программировать! Учись читать error message'и, следовать инструкциям, точно описывать свои собссные действия. Читай хелп, кури матчасть :) Или кидай программирование нахрен: как говаривал великий Дейкстра, "Если вы хотите получить от компьютера пользу - не программируйте!" :)

ALEXANDER
20-06-2005, 11:24
Как " откуда я знаю " ты же програмист !!! Щас у яндекса спрошу!

Akubens
20-06-2005, 11:25
Как " откуда я знаю " ты же програмист !!! Щас у яндекса спрошу!
звучит как угроза...

Elic
20-06-2005, 16:25
ALEXANDER
Не надо меня проверять на вшивость. Надо взять в руки исходник, который компилишь, и прочитать его (хотя бы, раз от тебя не требуется его написать). Перед тем неплохо бы заглянуть на полчасика в учебник по ассемблеру вообще и по TASM в частности.
В конце концов, это твой курсач, а не мой. Ты шаманишь, а не я. Ты хочешь что-то "сделать, но при этом обязательно ничему не научиться" (c) не помню, а не я. Ты не хочешь давать другим полные исходные данные (т.е. чуть-чуть потрудиться - поархивировать и выложить), а не я.
Какие ещё вопросы будут?

На будущее: если кто-то согласен тебе помочь - не создавай ему дополнительных трудностей (или сразу честно признайся: дяденька, оно мне на@#$ не надо, это я просто для поддержания разговора).

ALEXANDER
20-06-2005, 23:03
Вот :
Ps : спасибо за помощ.

ALEXANDER
20-06-2005, 23:31
А вот еще :
Уххххххх ну наконецто . Глянь чоза фигня с ним .
Ps : Зарание спасибо.

Elic
21-06-2005, 21:28
Ща гляну.

Через 5 мин:
Ага. tasm как tasm. А где обещанный prog01.asm ?

ALEXANDER
21-06-2005, 22:12
А ну да точно . Одну минуту .
Ps : Зарание спасибо.

Elic
21-06-2005, 23:17
TASM.EXE Prog01.asm
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International

Assembling file: Prog01.asm
Error messages: None
Warning messages: None
Passes: 1
Remaining memory: 457kА ассемблер-то не тот! :) В самом начале темы было про TASM 4.1 ???

PS. Если с версией 3.1 глюк повторяется - выполни такую команду:Prog01.asm > log.txtи выложи файл log.txt, ОК?

ALEXANDER
22-06-2005, 10:53
В начали стати да но как я уже говорил я скачал поменше . И кстати и в первом ( v4.0 ) и втором ( v3.0 ) ошыбка была одна и таже . А вот нащет Log.txt я непонял обясни поконкретние пожалуйста .
Ps : Зарание спасибо .

Elic
22-06-2005, 22:36
ALEXANDER
> нащет Log.txt
Про "переадресацию вывода" (stdout) слыхал? Так вот, команда, которую я тебе выложил, как раз и переадресует весь вывод компилятора в файлик. А я хочу этот файлик глянуть...

ALEXANDER
26-06-2005, 13:44
Я штото не одуплил какй файл ты хочеш обясни действия.
Ps :Зарание спасибо.

Elic
27-06-2005, 10:36
какй файл ты хочеш обясни действия.Хочу получить точный текст, который выдаёт компилятор.

ALEXANDER
29-06-2005, 21:55
Короче обясняю што я делаю. Откриваю файл TD ( турбо дебагер ) File ->Dos shell пишу tasm prog01 оно мне выдает :
Turbo Assembler Version 3.1 Copyright <c> 1988, 1992 Borland International

Assembling file : prog01.asm
Error messages : None
Warning messeges: None
Passes: 1
Remaining memory:43776 bytes


далее пишу tlink и оно мне пишет :

Turbo Link Version 7.1.30.1. Copright <c> 1987 , 1996 Borland International
Warning :No stack (што меня смущает)

Ну и создает в папке Tasm Exe файл ну это если через Турбо дебагер а если через командную строку : Ввожу C:\TASM\tasm Prog01 оно мне виводит :

Turbo Assembler Version 3.1 Copyright <c> 1988, 1992 Borland International

Assembling file : prog01.ASM
**Fatal** Command line :Can not locate file : prog01.ASM
Error messages : 1
Warning messeges: None
Passes: 1
Remaining memory:426k

потом пишу : C:\TASM\tlink prog01 командная строка пишет
Turbo Link Version 7.1.30.1. Copright <c> 1987 , 1996 Borland International
Fatal: Unable to open file 'prog01.obj'

Ну короче как я понял ошыбка в файле obj получается .
Ну вот и все!

Elic
30-06-2005, 09:09
ALEXANDER
> **Fatal** Command line :Can not locate file : prog01.ASM
Ага. Значит, всё же не находит файл prog01.ASM, а не prog1.asm, как ты уверял ранее. Ещё пара постов - и твой компилятор сам признается, что именно там не так :)

> через командную строку : Ввожу C:\TASM\tasm Prog01
Стоп! Давай это место подробнее. Как именно ты вызываешь режим командной строки?

Сделай, плиз, три фотки и выложи их сюда (только, ради бога, запакуй в gif или png, а не в jpeg):
1) Внешний вид "командной строки" (ну, того места, где ты вводишь команду) до начала набора команды;
2) после того, как набрал команду, но до нажатия Enter (или Run, или что ты там нажимаешь, чтобы запустить команду выполняться);
3) После того, как всё выполнится.

Видишь ли, с виду - всё насмерть правильно. Но чего-то, какаой-то мелочи не хватает...

ALEXANDER
01-07-2005, 23:35
Вызываю я ее через пуск програмы стандартные командная строка.
А вот фото :

Elic
02-07-2005, 12:24
Ага. Понятно.
Чуть-чуть теории. Для открытия файла нужно задать его имя с путём (опционально). Ели путь не задан - будет открыт файл в текущем каталоге.

Практический вывод: смени текущий каталог на (дети говорят "перейди в") каталог, где лежит твой prog01.asm. Для этого есть команда chdir (сокращённо cd). В командной строке набериcd C:\TASM

Прочитай учебник по курсу, который сдаёшь. Не может не быть, чтобы вам не объясняли, что такое файлы и каталоги.

ALEXANDER
02-07-2005, 13:42
Ну спасибо, вопросов больше нет если будут напаишу.

ALEXANDER
02-07-2005, 13:43
Прочитай учебник по курсу, который сдаёшь. Не может не быть, чтобы вам не объясняли, что такое файлы и каталоги.
Я не накакие курсы нехожу!!!

CodeGrinder
28-05-2006, 23:06
да, не самый популярный язык программирования...

Shakirux
28-05-2006, 23:15
да, не самый популярный язык программирования...


зато возможности ограничены только твоей фантазией:)

Elic
28-05-2006, 23:15
да, не самый популярный язык программирования... :d Дык это... у тебя тоже программирование - не самое приоритетное занятие: сначала общаешься о юморе, смотришь фотки, потом планируешь летний отдых, потом о музыке, а потом уже можно и поассемблировать, да? :|

CodeGrinder
28-05-2006, 23:23
:d Дык это... у тебя тоже программирование - не самое приоритетное занятие: сначала общаешься о юморе, смотришь фотки, потом планируешь летний отдых, потом о музыке, а потом уже можно и поассемблировать, да? :|


Просто я не думал общаться о программировании.
В данный момент есть другие занятия...

Elic
28-05-2006, 23:32
зато возможности ограничены только твоей фантазией:)А ещё трахоёмкостью и геморройностью обращений к системе и библиотекам функций.

ЗЫ. А слабО из-под асма поюзать C++'ный класс? %\

sig11
03-06-2006, 11:28
А ещё трахоёмкостью и геморройностью обращений к системе и библиотекам функций.


О!! Да!!! Это еще тот геморрой...

На С++ :
::MessageBox(p1,p2,p3,p4);
На TASM :
call MessageBox,p1,p2,p3,p4


ЗЫ. А слабО из-под асма поюзать C++'ный класс? %\


тоже мне "бином ньютона" нашли :d

На С++ :
someClassObject->someMethod(p1);
На TASM :
mov ecx, <pointer to someClassObject>
call someMethod@someClass,p1

Elic
03-06-2006, 13:57
На С++ :
::MessageBox(p1,p2,p3,p4);
На TASM :
call MessageBox,p1,p2,p3,p4...и типы привести до/после того... а перед тем ещё выяснить, какие регистры поганит этот самый вызов...На С++ :
someClassObject->someMethod(p1);
На TASM :
mov ecx, <pointer to someClassObject>
call someMethod@someClass,p1Ага. А конструктор как? Опять же - как узнать, каким регистрам кирдык?

ЗЫ. А ещё есть стековые переменные...

ЗЗЫ. Когда-то был такой язык - Sphinx C--. Эффективный, как ассемблер, и наглядный, как С. И, в отличие от асмов, портабельный. Жалко - вымер куда-то :cry:

INTEL
05-08-2006, 20:28
Привет Всем! :lol: вижу здесь програмисты пишущие на асемблере ! Привет Вам! Мне очень хочется пообщаться с Вами! Тоже когда то ... писал на нём, но ничего серьёзного так и не написал, 16-й редактор в меньше чем 100 байт, помоему в 72 , написал :cool: очень хочется написать что то ... а группой писать лучше, да и понимать некоторые вещи ... тоже самому как то скучновато :uups: короче , мне очень хочется с Вами поговорить... узнать какие новости произошли за 2 года ... два года назад забросил эти штучки :uups: напишите на мыло мне , если кому интересно... mail - spec_1@ukr.net acbka - 331445922

я наверное ламо , но хочу многова научится - я не волшебник, я только учусь ;) буду рад письмам и знакомству :)

CodeGrinder
08-09-2006, 09:58
можт кто-то знает, как запретить в программе запуск ее нескольких копий?

Elic
10-09-2006, 20:44
как запретить в программе запуск ее нескольких копий?Проверять, не запущена ли ещё одна копия. Технически - перебрать все окна, для каждого проверить его заголовок и класс, если есть совпавшее - goto exit...

CodeGrinder
10-09-2006, 21:14
Проверять, не запущена ли ещё одна копия. Технически - перебрать все окна, для каждого проверить его заголовок и класс, если есть совпавшее - goto exit...

ясно...
а как тогда передать запущенной проге параметры? (командную строку)