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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 975
от 12.02.2008, 03:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 363, Экспертов: 15
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 122033: Здравствуйте! Скачал рассылку Калашникова, раньше программирование не занимался. Вопрос возник сразу на первой программе. НЕ создаётся файл prog01.com или prog01.exe. Файл prog01.obj создаётся и всё. Это ведь не обязательно делать под досом? У меня W...

Вопрос № 122.033
Здравствуйте! Скачал рассылку Калашникова, раньше программирование не занимался. Вопрос возник сразу на первой программе. НЕ создаётся файл prog01.com или prog01.exe. Файл prog01.obj создаётся и всё. Это ведь не обязательно делать под досом? У меня Windows XP SP2, MASM 6.11. Из под Far'a пробовал с командной строки (комманда ML.EXE prog01.asm /AT), из под WinCom'a тоже, хотя я думаю это роли не играет=)?Подскажите, плз. Заранее спасибо.
Отправлен: 07.02.2008, 02:41
Вопрос задал: Knucky (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Zetasm
Здравствуйте, Knucky!

Многие уроки по Ассемблеру (например, "Рассылка Калашникова") основаны на DOS-примерах в формате com.

Чтобы компилировать такие исходники, понадобятся:

Segmented Executable Linker (допустим v5.63)
http://download.microsoft.com/download/vc15/Update/1/WIN98/EN-US/Lnk563.exe

и ml.exe (обязательно младше 7-й версии).

Из состава "MASM32 v9" подходит только ml.exe. А вот линковщик придётся брать дополнительный.
Использовать его можно примерно с такой командной строкой:

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-ый класс)
Ответ отправлен: 07.02.2008, 03:19


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.70 от 17.01.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное