пятница, 8 мая 2009 г.

Ассемблер Ы :)

Ищите, и обрящете, толцыте, и отверзется.
Иисус

И так дошел черед, до того чтобы использовать ассемблер. Поскольку в книгах, которые я использую, описана работа с двумя ассемблерами TASM и MASM, то хотелось найти оба и пользоваться в изучении двумя ассемблерами. Хотя после прочтения этой статьи Криса Касперски, стало понятно, что TASM уже практически не используется, а MASM это, так сказать, почти стандарт де-факто. Но, все же, для изучения я решил использовать и тот, и другой. Оставалось их только найти. И вообще выяснить какая версия этих ассемблеров является последней для программирования под DOS. Поскольку хотелось получить полные пакеты с родными отладчиками этих пакетов.
После серфинга по сети, сложилось впечатление, что для TASM последней официальной версией является версия 5.0, а для MASM - 6.15. Что в принципе похоже на правду (если я ошибаюсь пусть старшие товарищи меня поправят).
Финогенов в своих книгах пишет, что использует TASM 5.0, Том Сван – TASM 4.0, а Ирвин – MASM 6.15.
Теперь осталось их найти. Много из того что качалось под названием MASM 6.15, таковым на практике не было. То же самое и с TASM 5.0. С TASM 5.0 вообще тоска была. В скачанных архивах не было отладчика под DOS. А в книгах, очень много примеров его использования. Так я нормальный пакет TASM 5.0 в инете и не нашел. НО! Нашел на старом диске, который завалялся у меня дома. MASM 6.15 нашел в инете. И это как раз диск (образ ISO) к книге Ирвина.
После извлечения файлов из образа ISO получаем следующее:

Как видим, на диске идет дистрибутив MASM 6.11 (каталог MASM611). В каталоге TextPad триальная копия какого-то, весьма странного, текстового редактора (отправлен ф топку). В директории Examples находятся примеры программ из книги Ирвина. Это может пригодится.
В общем, из чтения файлов readme.txt и index.html стало ясно следующее:
  • Чтобы установить MASM 6.15 надо запускать Setup.exe из корня диска (на картинке виден этот файл)
  • Чтобы поставить MASM 6.14 надо надо запускать Setup.exe из папки MASM611
Так же, в index.html есть одно интересное замечание, что Microsoft больше не публикует патч для апгрейда MASM до версии 6.15. Но я, таки, нашел файлики из этотго патча :). Как оказалось, патч ML614.EXE, модифицирует файликы ML.ERR, ML.EXE. И почему-то файлы, H2INC.EXE и H2INC.ERR пишет в корень установки MASM и в каталог BIN их надо копировать в ручную. Так же в корень установки MASM пишется файлик WIN.INC. Его надо скопировать в каталог INCLUDE. Естественно, что старые файлики надо перезаписать или предварительно удалить (или может лучше забекапить). После этой операции мы получаем следующий вывод от ML.EXE, запущенной без параметров:

Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

Полученный в результате MASM 6.14 (в архиве) выложил на сайте здесь.

Добавление еще двух файликов ML.EXE и ML.ERR из патча MASM 6.15 дает следующий вывод при запуске ML без параметров:

Microsoft (R) Macro Assembler Version 6.15.8803
Copyright (C) Microsoft Corp 1981-2000. All rights reserved.

Полученный в результате MASM 6.15 (в архиве) выложил на сайте здесь.

Ниже привожу часть сопроводительного текста к диску Ирвина на английском языке.

Microsoft MASM 611 Setup Program
(Optional)

Microsoft's MS-DOS-based MASM Setup program was created in 1993. To use this setup program, do the following steps in order:
  • Change to the \MASM611 directory of this CD-ROM, and run the Setup.exe program found in that directory
  • Copy the file ML614.EXE to the hard drive directory chosen during the MASM installation in the preceding step. This program is an upgrade patch that will convert MASM 6.11 into MASM 6.14
  • Run the ML614.EXE program. This will install an upgrade patch to MASM 611, turning it into MASM 614
  • In the same directory, view the Readme.txt file to see Microsoft's release information relating to MASM 614.
(At the current time, Microsoft does not publish an upgrade patch to MASM 6.15, unless you install the Visual Studio Processor pack. This could change, so be sure to check Microsoft's Web site for any updates.)

Installing Microsoft Macro Assembler 6.15

To install the Assembler and all the sample programs for our book, run the Setup.exe program in the root directory of this CD-ROM.

Я, таки, решил поставить и вариант Ирвина. А затем сравнить в каталогах файлики побайтово и недостающие в стандартной установке - добавить. И так вот что получилось.
В установке Ирвина, в каталоге LIB были только файлики:

Irvine16.lib
Irvine32.lib
KERNEL32.LIB
USER32.LIB

И не было ни одного из стандартной установки. Добавил эти файлики к стандартной установке в каталог LIB.

У Ирвина напрочь отсутствовал каталог стандартной установки SAMPLES - стандартных примеров. Ну в принципе не большая потеря, но все же. Весит то немного, а посмотреть примеры программирования ни когда не помешает.

У Ирвина отсутсвовал каталог INIT, но там вроде бы сохраняет свои настройки какой-то :) PWB. Пока не знаю хто енто такой, но пусть будет :)

У Ирвина в каталоге INCLUDE были файлы:

GraphWin.inc
Irvine16.inc
irvine32.inc
Macros.inc
smallwin.inc
WIN.INC

Из них только win.inc совпал байт в байт со стандартной установкой. Файл Macros.inc есть в стандартной установки, но с файлом Ирвина не имеет ни чего общего. Стандартный файл переместил в подкаталог STD, заместо него записал файл Ирвина. Все остальные файлы так же скопировал в каталог INCLUDE стандартной установки.

У Ирвина существует каталог с примерами из его книги. Так же добавил весь каталог в корень стандартной установки.

У Ирвина отсутствует каталог BIN, все бинарные (исполняемые файлы, dll и т.п.) лежат в корне установки. Тех файлов, что не хватало в стандартной установке добавил с установки Ирвина. Их было не так уж и много.

В результате получилось два архива "чистая" установка MASM 6.15 от Ирвина и стандартная установка плюс файлы с установки Ирвина. Оба архива лежат здесь.

С TASM 5.0 все вроде попроще. Хотя запуск TASM без параметров выдает:

Turbo Assembler Version 4.1 Copyright (c) 1988, 1996 Borland International

Зато запуск TASM32 без параметров выдает:

Turbo Assembler Version 5.0 Copyright (c) 1988, 1996 Borland International

Судя по тому, что конечный год один, что идут в одном инсталяторе и что TD.EXE и TD32.EXE (Turbo Debagger) версии 5.0, на 99% можно быть уверенным что это TASM 5.0. Архив так же лежит здесь.

9 комментариев:

Анонимный комментирует...

Не плохо расказан материал.Единствинная просьба, указать точное расположение паролей.Или если не тяжело, то выслать на E-mail. vitali2008zp@rambler.ru

VlTag комментирует...

Большое спасибо автору!
Я тоже желаю разобраться в Assembler. Действительно, надо первоначально научиться создавать 16 разрядные приложения. Для этого надо TASM и MASM полноценные иметь.
Попробую скачать Ваши пакеты TASM5, MASM615. Сообщу результаты.

VlTag комментирует...

Мне требуются пароли для разархивирования архивов!
Адрес: vacherem@list.ru

Unknown комментирует...

Скачал TASM и MASM, разархивировал.
Не могу понять как их установить чтобы они работали вашего SETUP для установки ни в одном архиве нету, я походу столь глупый что не могу понять как их установить. Подскажите пожалуйста.

-=*=- комментирует...

Их не надо устанавливать, достаточно просто разархивировать и все.
И далее используете компилятор из командной строки.

Если надо, то пропишите путь к ним в системную переменную PATH

-=*=- комментирует...

вот тут я подробно все описал про установку

http://asmforfun.blogspot.ru/2009/05/test_09.html

Unknown комментирует...

Спасибо, разобрался.

Unknown комментирует...

Рад, что наконец набрел на такой сайт, дальше буду совмещать с книгой. Скиньте пожалуйста пароли.

-=*=- комментирует...

Все пароли есть на сайте. Читайте внимательней.