Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать (FAQ)


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Ассемблер? Это просто! Учимся программировать (FAQ)
______________________________________

Выпуск N 007

Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"

Дата выхода: 2001-05-28


Новости


Прошу прощения за некоторые неполадки в работе и "мусор" в рассылке. Постараюсь, чтобы такого больше не повторялось. А так вроде все идет неплохо...

ГЛАВНАЯ НОВОСТЬ: наша рассылка переведена в разряд "Серебряных"!

Остальные новости:
1. Теперь в каждой рассылке присутствует 5 вопросов / ответов.

2. Регистрация нового эксперта автоматически анонсируется на сайте в разделе "Новости сайта и рассылок".

3. Выход данной рассылки также автоматически анонсируется на сайте.

4. Новому эксперту высылается письмо с регистрационными данными.

5. В форме подачи вопроса отображается количество зарегистрированных экспертов в соответствующей группе.

6. После ответа эксперта приводится следующая информация:
* количество отвеченных вопросов эксперта;
* экспертная группа, в которой зарегистрирован эксперт.
Последнее Вам, уважаемые подписчики, поможет лучше ориентироваться в названиях экспертных групп (кому задавать тот или иной вопрос).

Просьба к экспертам: пожалуйста, постарайтесь избегать появления в рассылке жаргонных выражений!

Просьба к подписчикам, задающим вопросы: пожалуйста, постарайтесь отправлять один вопрос ОДНОЙ экспертной группе, а не нескольким одновременно!

Эксперты Yuriy, Sonny и Oleg! Вы не зарегистрированы ни в одной экспертной группе! Подписаться можно в вашей регистрационной карте с вашим именем и паролем!

Калашников Олег.

Вопрос

Здравствуйте, эксперты.

При выполнении примера из части I возникла проблема следующего рода:

Набрал в Edit прогу (приведена ниже), сохранил ее. Далее в командной строке DOS ввел: ml.exe prog.asm /at. Результат:

Assembling: prog.asm

warning A4017:invalid command-line option: /at

Далее идет перечисление того, что было создано (.exe,obj,lst,...)

Link: warning L4021: no stack segment.

Судя по приложению 1 должен был получиться файл.com, а получился .exe и .obj.

Объясните ,пожалуйста, в чем ошибка. Спасибо. Жду ответа.

Ответ

Уважаемый Дмитрий!

Это типичная ошибка многих начинающих программистов.
В командной строке нужно указывать так:
ml.exe prog.asm /AT

Заметьте: AT должны быть ЗАГЛАВНЫМИ символами!!! MASM отличает в командной строке ЗАГЛАНЫЕ и строчные символы! Будьте внимательны!


Отправил: Олег Калашников (http://www.Kalashnikoff.ru - Рассылки по Ассемблеру и Законодательству)

Вопрос

Уважаемый эксперт,
я понимаю, что уже достал вас своим вопросом, но не могли бы вы сжав зубы ответить на еще один вопрос (может быть и глупый)!!!!!!!!!!!!!

1) Предположим, я хочу написать программу. Для этого в любом текстовом файле пишу программу, затем перевожу из текстового файла (который я написал) в обьектный посредством (...Bin\Masm.exe) MASM.EXE (который по каким-то причинам у меня не загружается. Наверное, я че-то не так делаю?), после того, как я создал (который я так и не создал) из к примеру primer.asm-->primer.obj (опять же -вопрос - я не могу в (предположим) Блокноте создать файл с расшерением .asm, чтобы перевести его в .obg, значит, мне нужно воспользоваться программой, которая есть в пакете MASM (pwb) (а как там создать такой файл?), мне нужно зайти в коталог Bin где находится файл link.exe, который из primer.obj зделает primer.exe или primer.com (по моему желанию).



2) Другой вариант, что я зайду в (...Bin\Masm.exe) Masm.exe, напечатав такую команду (в якобы загрузившемся файле Masm.exe, а не выходившем сразу после того как я в него вошел!!!) ml.exe primer.asm/AT



P.S. Буду ждать ответа (с нетерпением)!

Ответ

Уважаемый Александр!

Честно говоря, я не совсем понял оба вопроса. Тем не менее, постараюсь дать ответ.

1. Мне не совсем понятно, почему Вы не можете создать файл в Блокноте (Windows). Он может сохранять файлы с любым расширением (в т.ч. и asm).
Однако, я советую все-таки воспользоваться DOS Navigator'ом, NC, VC и т.п. оболочками DOS.
Создаете обычный текстовый файл с расширением asm (допустим, имя ему будет prog.asm). Переносите его в каталог с ML.EXE и ассемблируете: ml.exe prog.asm /AT

Обратите внимание, что после prog.asm идет <пробел>, а затем уже /AT.

В итоге Вы сразу получите prog.com (если не будет ошибок).

Если Вы ипытываете сложности с работой в ОС MS-DOS, то Вам сперва нужно научиться работать как пользователь с этой операционной системой, иначе Вы ничего не поймете в программировании на Ассемблере.

Удачи!


Отправил: Олег Калашников (http://www.Kalashnikoff.ru - Рассылки по Ассемблеру и Законодательству)

Вопрос

Где взять файл из предыдущищ рассылок Virus13.rar?

С уважением Алексей.

Ответ

На сайте www.Kalashnikoff.ru :))
http://www.kalashnikoff.ru/Assembler/Programs/Lessons/Virus13.rar

С Уважением,

Андрей Беженарь.


Отправил: BELTSY

Вопрос

Буду признателен,если поможете студенту Карагандинского Металлургического Института избавиться от домоганий глюкнутого казахского профессора по поводу написания програмки на Ассемблере:"Определение числа элементов меньше предыдущего на единицу".

Рахмет.

Ответ

Вот, пожалуйста, программа...
Поясню: элементы в массиве - байты, если надо слова, то не сложно
программу немного модифицировать.
Вместо сравнения cmp al,1 делаю dec al и jnz, так как это быстрее
и меньше памяти занимает. Пожалуй все.

С Уважением,

Андрей Беженарь.

Приложение:


Отправил: BELTSY
Эксперт отправил ответов (всего): 2

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос

Расскажите пожалуйста каким образом разбить жесткий диск на логические. И сохранится ли при этом информация на нём?

Ответ

Уважаемый Максим!

Ваш вопрос не совсем относится к программированию на Ассемблере, но, тем не менее, постараюсь дать ответ на него.

Все, что мне известно - это то, что разбивка винчестера осуществляется при помощи программы fdisk.exe, которая входит в стандартный набор Windows и DOS. При этом ВСЯ информация теряется. Добавлю также, что интерфейс программы достаточно сложный. Если Вы не разу не пользовались ей раньше и не представляете, что это такое, то лучше обратиться к специалистам. Так будет быстрее и надежней.

Также слышал, что существует некоторая программа, позволяющая разбивать диски без потери информации на них. Но как она называется - не помню.

Удачи!


Отправил: Олег Калашников (http://www.Kalashnikoff.ru - Рассылки по Ассемблеру и Законодательству)
Эксперт отправил ответов (всего): 26

Экспертная группа: Пользовательская работа c DOS

Подписаться на рассылки

Рассылки Subscribe.Ru
Ассемблер? Это просто! Учимся программировать
Ассемблер? Это просто! Учимся программировать (FAQ)

Задать вопрос экспертам.


Ведущий рассылки,

Калашников Олег: Assembler@Kalashnikoff.ru
ICQ No.:
68951340
URL сайта подписчиков: http://www.Kalashnikoff.ru

______________

По вопросам сотрудничества, рекламы и спонсорства обращайтесь:

  1. Публичное размещение материала из рассылки: Cooperation@Kalashnikoff.ru
  2. Реклама на сайте, в книге и рассылках: http://www.Kalashnikoff.ru/Reklama.html, Reklama@Kalashnikoff.ru
  3. Издание книги (спонсорство): Sponsor@Kalashnikoff.ru

Рассылка 'Ассемблер? Это просто! Учимся программировать (FAQ)' Рассылка 'Ассемблер? Это просто! Учимся программировать'


(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав.

List Banner Exchange lite
Реклама на сайте Калашников.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться Relayed by Corbina
Рейтингуется SpyLog

В избранное