8.14.10
27.06.2022
JS: 2.15.10
CSS: 4.9.15
jQuery: 3.6.0
DataForLocalStorage: 2022-08-09 09:46:01-standard
D:\CAT\_Lang\Masm\Masm.613\BIN\ml 160601b.asm /c
D:\CAT\_Lang\Tasm\tasm.2\tlink 160601b.obj /t
D:\CAT\_Lang\Tasm\tasm.4\BIN\tasm 160601b
D:\CAT\_Lang\Tasm\tasm.4\BIN\tlink 160601b /t
Лысков Игорь ВитальевичСоветник ID: 7438 |
= общий =
12.09.2016, 09:48
Что именно Вас интересует? Программы, как то masm, tasm, CodeView, afd легко найти в инете. Если исходники к книге, могу дать... =====
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен |
StrannikПосетитель ID: 400534 |
= общий =
12.09.2016, 18:16
спасибо..зашел в ближайший бутик и скопировал диск на флешку за 30 руб..меня интересовали исходники. Но возник новый вопрос. CodeView..он не идет под Виндовс семь на 32.. или я что то неправильно делаю?
|
Лысков Игорь ВитальевичСоветник ID: 7438 |
= общий =
12.09.2016, 19:15
Исходники: enclosures.exe (148.1 кб) Хм, CodeView, действительно, не идет под Win7. Кстати, никогда не пользовался, специально попробовал... ![]() Предполагаю, CodeView пытается как-то манипулировать тем, к чему Win7 не дает доступ... Например, верхней памятью... Под XP32 вполне работает. Могу порекомендовать старенький AFD или TurboDebug из пакета TASM-а В общем-то, AFD для простеньких досовских программ вполне достаточно. =====
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен |
StrannikПосетитель ID: 400534 |
= общий =
12.09.2016, 19:32
ок..спасибо..или поставить эмулятор операционки XP32
|
Лысков Игорь ВитальевичСоветник ID: 7438 |
= общий =
12.09.2016, 19:37
Попробуйте, если хочется ![]() =====
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен |
StrannikПосетитель ID: 400534 |
= общий =
12.09.2016, 22:16
МASM 6.10-6.13 у вас не найдется?
|
Лысков Игорь ВитальевичСоветник ID: 7438 |
= общий =
13.09.2016, 10:54
=====
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен |
StrannikПосетитель ID: 400534 |
= общий =
13.09.2016, 21:03
Ну вот..продолжаю дальше вас пытать. Я пишу програмки на Delphi 7 но с ассемблером решил в плотную заняться только недавно..хотя попыток было множество..хоть и низкоуровневый язык..но для меня трудноват. Так же не могу понять..как программы на ассемблер установить. Вот вы дали мне архив..в папке много дисков..запустил сетап с первого диска..вышло дос окно..установил..появилась папка MASM61 ..куча всего в папке и ничего не работает..
|
StrannikПосетитель ID: 400534 |
= общий =
18.09.2016, 21:54
Вы знаете, разобрался с установкой. Даже нашел в нете как установить компоновщик: Очевидно, самым разумным шагом будет указать в переменной окружения path операционной системы пути ко всем этим подкаталогам. В этом случае системе будет известно о каждом файле, входящем в любой из этих подкаталогов.
Но вот беда..при запуске MASM.EXE выдает ошибку что, НЕ ЯВЛЯЕТСЯ ПРИЛОЖЕНИЕМ WIN 32. Поможете с установкой? |
Лысков Игорь ВитальевичСоветник ID: 7438 |
= общий =
19.09.2016, 18:15
Подозреваю, что у Вас таки 64-битная система. У меня на 32-битной win7 - никаких проблем! Как вариант, найдите DosBox и запускайте из-под нее =====
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен |
StrannikПосетитель ID: 400534 |
= общий =
19.09.2016, 18:25
ну что вы..у меня 32-битная система. Просто пиратская версия.
|
Лысков Игорь ВитальевичСоветник ID: 7438 |
= общий =
19.09.2016, 18:35
Константин Николаевич, есть что сказать по данному поводу? =====
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен |
Зенченко Константин НиколаевичСтарший модератор ID: 31795 |
= общий =
20.09.2016, 12:10
У меня тоже 32-х битная семерка и тоже все работает как у Игоря Витальевича. Пиратка или нет тут роли не играет. Скорее всего, Вы что-то не так делаете. У меня стоит много компиляторов(см. рисунок) и одна папка для рабочих программ(_my) ![]() WIN + R появится окно Run, нужно набрать CMD и нажать ОК или Start -> All program -> Accessories -> Command Prompt В результате откроется окно команндной строки ![]() Нужно перейти в рабочую папку D:-> CD _Cat\_my(это так у меня). Чтобы сразу открывалась рабочая папка нужно изменить свойства ярлыка(см. рисунок) Дальше я работаю с помощью ВАТ-файлов
или
и все запускается в командной строке. Для графики исполmзую DOSBox. Отладчик AFDpro или Debug. Последнее редактирование 20.09.2016, 15:22 Зенченко Константин Николаевич (Старший модератор) =====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать. ![]() |
StrannikПосетитель ID: 400534 |
= общий =
20.09.2016, 19:07
ДАЖЕ НА ЭТОМ ЭТАПЕ У МЕНЯ ПИШЕТ ЧТО НЕ МОЖЕТ НАЙТИ CMD блин..ну буду как нибудь сам пытаться решить проблему..спасибо |
StrannikПосетитель ID: 400534 |
= общий =
20.09.2016, 19:10
вот MASM32 9.0 Release устанавливается без проблем..
|
Лысков Игорь ВитальевичСоветник ID: 7438 |
= общий =
20.09.2016, 19:21
Ну так masm32 - 32-битное приложение ![]() Нет CMD - "хорошая" сборка... ![]() =====
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен |
Зенченко Константин НиколаевичСтарший модератор ID: 31795 |
= общий =
20.09.2016, 19:32
Что-то тут не так.
-----
=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать. ![]() |
StrannikПосетитель ID: 400534 |
= общий =
20.09.2016, 19:39
у меня так
-----
|
StrannikПосетитель ID: 400534 |
= общий =
20.09.2016, 19:43
попробуйте продублировать до мелочей установку..я разархивирую папку masm613.zip захожу в папку диск 1 и запускаю сетап..далее появляется меню на синем экране..первая строке..ентер..далее подтверждаю yes..на диск с установилось папка MASM611 захожу в папку BIN и пытаюсь запустить файл MASM.EXE Последнее редактирование 20.09.2016, 19:44 Strannik (Посетитель)
|
Зенченко Константин НиколаевичСтарший модератор ID: 31795 |
= общий =
21.09.2016, 11:59
Вы читали, мой ответ?
Не с проводника запускать, а с КОМАНДНОЙ СТРОКИ. В прикрепленном файле работа с Tasm, для MASM аналогично, только команда:ML name.asm
-----
=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать. ![]() |
StrannikПосетитель ID: 400534 |
= общий =
21.09.2016, 19:06
Настройка. Если установка пакета MASM 6.11 производилась с параметрами по-умолчанию, то в результате диск C:\ будет содержать ноый каталог, а именно: C:\MASM611\. (Если пакет MASM 6.11 был установлен на диске отличном от диска C:\, то при настройках путей к файлам MASMа следует указывать именно этот диск!. Например, D:\MASM611 и т.п.).
Теперь остались сущие пустяки: нужно указать Windows где ей следует искать файлы и программы установленного пакета. После установки каталог \MASM611\ содержит в себе несколько папок, или подкаталогов: \BIN\, \BINR\, \LIB\, \INCLUDE\, \HELP\, \INIT\, \SAMPLES\. Очевидно, самым разумным шагом будет указать в переменной окружения path операционной системы пути ко всем этим подкаталогам. В этом случае системе будет известно о каждом файле, входящем в любой из этих подкаталогов. Итак, проделываем в Windows следующий путь: «Пуск», «Мой компьютер». В открывшемся окне, вверху-слева, находим и жмем на графу «Просмотр сведений о системе». Открываем пункт «Дополнительно». В нижней части открывшегося окна нажимаем на пункт «Переменные среды». Вновь открывшееся окно будет разделено на две половины: верхнюю и нижнюю. Нас интересует нижняя половина, в которой нужно найти строчку, начинающуюся со слова path. Предупреждение! Будте внимательны при редактировании переменной среды path: добавляйте новые значения только в конец строки! Изменение предустановленных параметров может привести к неработоспособности некоторых установленных программ или системы в целом! Кликаем по этой строчке двойным щелчком мыши. Откроется небольшое окошко «Изменение системной переменной», в котором будет выделена синим цветом указанная строка. Кликаем мышкой в конец выделенной строки, переводим раскладку клавиатуры в латинскую и ставим сразу же за последним символом, символ точки с запятой «;». Теперь нужно (без пробелов!) дописать в этой строке полные пути к нашим подкаталогам, разделяя каждый из них сиволом точки с запятой. Пишем, начиная с подкаталога BIN: C:\MASM611\BIN;C:\MASM611\BINR;C:\MASM611\LIB;C:\MASM611\INCLUDE;C:\MASM611\HELP;C:\MASM611\INIT;C:\MASM611\SAMPLES Обратите внимание: после последнего указанного подкаталога символ точки с запятой или любой другой символ ставить не нужно! Теперь остается только закрыть каждое открытое окно нажатием соответствующей кнопки «OK». После перезагрузки компьютера пакет Microsoft MASM 6.11 будет готов к работе. Создание командных файлов. Пришло время проверить макроассемблер на работоспособность. Как ни странно, но использовать вышеуказанные подкаталоги напрямую, мы не будем. Хотя во многих учебниках по ассемблеру можно заметить противоположное: для создания файлов используется либо подкаталог BIN, либо создается специальный подкаталог в каталоге MASM611. Возникает один законный вопрос: для чего мы указывали пути к нашим подкаталогам в переменной среды path?.. Ответ на него такой: для того, чтобы можно было обращаться к файлам, находящимся в данных подкаталогах, из любого места операционной системы. Это значит, что мы можем создать пустую папку на Рабочем столе и вызывать из нее нужные нам программы из пакета MASM 6.11. Для этих целей используют командные файлы. Создадим пустой каталог на Рабочем столе, и дадим ему имя source. Запустите программу Блокнот (Пуск — Все программы — Стандартные — Блокнот), и напишите в открывшемся редакторе всего одну строчку следующего содержания: edit.com Теперь нужно сохранить этот файл в нашем каталоге source под любым именем,но обязательно с расширением .bat, например — edit.bat.Для этого переходим в Блокноте: Файл — Сохранить как. Теперь следует выбрать в качестве каталога для сохранения файла, наш каталог source.В поле Имя файла: нужно ввести edit.bat, а в поле Тип файла: выбрать из списка Все файлы. В последнем поле — Кодировка — должно стоять ANSI. Сохраняем наш файл. Точно таким же образом создается второй файл, имя которого будет cmd.bat, а содержимым — строка cmd.exe. Сохраняется этот файл точно так же в наш каталог source. Теперь у нас в распоряжении есть две программы, входящие в состав Windows: edit.com (простой текстовый редактор — наследие Windows, перешедшее из DOS) и cmd.exe (Командная строка Windows), запускаемые созданными нами файлами — edit.bat и cmd.bat соответственно. Запускать эти файлы следует двойным кликом мыши по соответствующему файлу. Тестирование. Запускаем файл cmd.bat, и переводим клавиатуру в латинскую раскладку. Набираем в открывшемся окне команду qh. Если появляется окно со строкой «QuickHelp cannot open c.hlp» — не обращаем на это внимания и просто жмем клавишу Enter. (Появление этого окна объясняется тем, что программа быстрой помощи пакета MASM 6.11 не может найти и открыть файл c.hlp. Где находится данный файл — не грех поинтересоваться у Билла Гейтса. Можно лишь догадываться, что это файл помощи по языку Си ?..). Поскольку окно с сообщением об ошибке — появилось, значит установленный нами пакет работает. После нажатия клавиши Enter, появляется окно программы QuickHelp. Переходы по меню осуществляются либо при помощи мыши, либо клавишей Tab. Выход из программы осуществляется по нажатию клавиши X. Файл edit.bat запускает текстовый редактор. Принцип создания и сохранения файлов в нем точно такой же, как и в обычном Блокноте. Но для наших целей он гараздо удобней последнего: вместо выбора типа файла, мы просто пишем нужные нам имя и расширение и сохраняем файл. Cписок поддерживаемых команд редактора можно просмотреть клавишей F1. Выход из редактора осуществляется через меню Файл. |
Зенченко Константин НиколаевичСтарший модератор ID: 31795 |
= общий =
22.09.2016, 12:33
Мда, всё нет. Специально установил MASM, по умолчанию на диск С, везде нажимал ENTER ![]() ![]() Скопировал LINK.EXE с папки BINR в папку BIN. Нажал кнопку WIN одновременно с кнопкой R Появилось окно RUN дальше смотрите каркинку и по стрелкам ![]() Набросал код в блокноте и записал в папку BIN. : Код [Assembler] .MODEL tiny .code .186 org 100h start: mov ax,3 int 10h mov ax,0b800h mov es,ax xor dx,dx xor di,di mov cx,256 cld @@01: call @@02 mov al,'-' stosw mov al,dl stosw mov al,' ' stosw inc dx loop @@01 xor ax,ax int 16h ret @@02: mov al,dl shr al,4 call @@03 mov al,dl @@03: and al,0fh add al,'0' cmp al,'9' jbe @@04 add al,7 @@04: mov ah,7h stosw ret end start В томже окне набираю имя файла(видно на картинке) и получил результат ![]() Жму любую кнопку завершаю программу. Всё. Зачем так пудрить себе мозги. Последнее редактирование 22.09.2016, 12:37 Зенченко Константин Николаевич (Старший модератор) =====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать. ![]() |
StrannikПосетитель ID: 400534 |
= общий =
22.09.2016, 19:14
ну вот..уже кое что есть..вот сделал по вашим шагам и вот что получилось..мои ошибки ? так же набрал в текстовом редакторе код программы, а сохранять его как надо..под расширением .asm? или в текстовом? Поймите..я работал только с высокоуровневым программированием..там все намного проще..с DOS Программаторами я туп..только из за этого у меня пропадал интерес к ассемблеру..но спустя времени опять пытался.. так что потерпите еще немного посмотрите на скрин..меня смущает слово фатал эррор..
-----
|
Зенченко Константин НиколаевичСтарший модератор ID: 31795 |
= общий =
23.09.2016, 10:07
Ошибка - компилятор не может открыть файл. Причина, скорее всего в следующем: 1)У Вас стоит опция скрывать известные типы файлов(отмечено зеленым) в свойствах папки; 2)Когда сохраняли файл, сохранили его как 160601b.asm.txt из-за значения указаного в поле "Записать как"(красным), а нужно 160601b.asm
-----
Последнее редактирование 23.09.2016, 10:01 Зенченко Константин Николаевич (Старший модератор) =====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать. ![]() |
StrannikПосетитель ID: 400534 |
= общий =
23.09.2016, 19:58
вы имели ввиду скрывать защищенные системные файлы..стоит у меня галочка? |
StrannikПосетитель ID: 400534 |
= общий =
23.09.2016, 20:08
не может найти программу чем открыть файл .asm
-----
|
darka777Посетитель ID: 400486 |
= общий =
24.09.2016, 23:07
[q=400534][/q] Если верить переводу с англ, то он имел ввиду снять галочку напротив "скрывать расширения для зарегистрированных типов файлов"... Разве нет? P.S. Я тоже слежу за вашим топиком, потому что у нас с вами похожая проблема. Вот мой вопрос: http://rfpro.ru/question/189804#290794 Последнее редактирование 24.09.2016, 23:10 darka777 (Посетитель)
|
StrannikПосетитель ID: 400534 |
= общий =
25.09.2016, 11:11
на скрине видно, да и по умолчанию оно и так снята.. Я считаю, в книге Калашникова надо уделять особое внимание установки компилятора под DOS это не 32 разрядная программа и требует особого скрупулезного внимание к установке и наладке на рабочий режим. Последнее редактирование 25.09.2016, 11:13 Strannik (Посетитель)
|
StrannikПосетитель ID: 400534 |
= общий =
25.09.2016, 13:17
ну вот, поставил виртуальную ОС Win XP проделал те же манипуляции...создал файл 160601b.asm в нем ассемблерный код программы. Запустил этот файл и выдало вот что: Я так понял. ошибка в синтаксисе программы?
-----
|
StrannikПосетитель ID: 400534 |
= общий =
25.09.2016, 13:26
а по книге запустил учебный файл у меня создался файл с расширением.obj и .exe
-----
Последнее редактирование 25.09.2016, 13:27 Strannik (Посетитель)
|
darka777Посетитель ID: 400486 |
= общий =
25.09.2016, 14:30
Ну у меня например по умолчанию везде галочки были поставлены... Хотя что толку, я сняла ее, у меня все равно все то же!( Я даже поочередно со всех галочки начала снимать, ничего не меняется) Да, мне тоже кажется это упущение, что на этом не заострялось внимание. Однако Калашников написал и без этого годную книгу. Мб на том сайте кроме установочных файлов были еще и ЦУ по установке? Но он же не знал, что домен вот так вот будет продаваться... Жалко, что даже зеркала никакого не сделали( Потому что даже сама установка, для человека, который только приобщается к низкоуровневому миру, это проблематично. Я все точно делала отсюда, откуда и советовали Установка и настройка MASM 6.11 . Однако тех файлов он не находит! а для чего вам XP? Вы хотите сказать это все только под нее? На 7-ке х32 же тоже работают! Последнее редактирование 25.09.2016, 14:31 darka777 (Посетитель)
|
StrannikПосетитель ID: 400534 |
= общий =
25.09.2016, 15:12
потому что под XP? 98 и ниже семейство DOS работает лучше и комфортней чем под семерку и выше..вот например Скачать CodeView отладчик под семерку не пашет а в xp проблем нет.. |
StrannikПосетитель ID: 400534 |
= общий =
26.09.2016, 18:43
Я ВОТ ЗАПУСКАЮ mi 160601b.asm/AT но выводит фотал эррор..это ошибка в программе? если компилятор не пропускает..
|
Зенченко Константин НиколаевичСтарший модератор ID: 31795 |
= общий =
27.09.2016, 11:47
ML не Mi =====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать. ![]() |
StrannikПосетитель ID: 400534 |
= общий =
27.09.2016, 18:40
Сори Константин Николаевич..конечно ML, опечатка вышла..это я и имел ввиду.. ошибка все равно..вот..посмотрите скрин запустил два разных файла.. Последнее редактирование 27.09.2016, 18:43 Strannik (Посетитель)
|
StrannikПосетитель ID: 400534 |
= общий =
27.09.2016, 18:41
-----
|
Зенченко Константин НиколаевичСтарший модератор ID: 31795 |
= общий =
28.09.2016, 09:26
На вход подается ASM-файл. Ключи-опции отделяются пробелом. Скачайте Tasm(ссылка на загрузку в статье). В отличии от MASM'а командная строка не сильно замороченная. Достаточно набрать : tasm name,,, tlink name,,, запятые после имени позволяют генерировать различные вспомогательные файлы: листинги, перекресные ссылки, карты и т.д., ну еще макросы более продвинутые были во времена ДОСа. К примеру CALL name,val1,val2 автоматически создает передачу параметров через стек. =====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать. ![]() |
StrannikПосетитель ID: 400534 |
= общий =
28.09.2016, 18:43
спасибо., начну прорабатывать этот вариант
![]() |
StrannikПосетитель ID: 400534 |
= общий =
28.09.2016, 19:47
Решил еще на последок за морочится с MASM' и вставить пробелы в команды..как в скрине..да..ошибки теперь нет..но вышло..вот такие сообщения..что сие значит?
-----
|
StrannikПосетитель ID: 400534 |
= общий =
28.09.2016, 19:52
[q=400534][/q] ну а на файл ..ошибки в самом коде..компилятор об этом сообщает Код [Assembler] .MODEL tiny .code .186 org 100h start: mov ax,3 int 10h mov ax,0b800h mov es,ax xor dx,dx xor di,di mov cx,256 cld @@01: call @@02 mov al,'-' stosw mov al,dl stosw mov al,' ' stosw inc dx loop @@01 xor ax,ax int 16h ret @@02: mov al,dl shr al,4 call @@03 mov al,dl @@03: and al,0fh add al,'0' cmp al,'9' jbe @@04 add al,7 @@04: mov ah,7h stosw ret end start
-----
Последнее редактирование 29.09.2016, 10:52 Лысков Игорь Витальевич (Советник)
|
Лысков Игорь ВитальевичСоветник ID: 7438 |
= общий =
29.09.2016, 11:15
По предыдущему сообщению: Во-первых, параметр /AT надо писать слитно. Об этом говорит сообщение Invalid command-line option : / Что означает: некорректная опция командной строки: /. Не знает компилятор, что такое /. Надо писать /AT Во-вторых, из файла ASM формируется объектный файл OBJ. Это еще не программа, а заготовка. Чтобы объектные файлы стали программой, их надо "слинкировать". ML умеет и компилировать, и линкировать (точнее, вызывает для этих целей соответствующие программы masm и link). Программой может стать и один OBJ-файл, и объединение нескольких, а также модулей из библиотек... В нашем случае имеем один OBJ-модуль. В-третьих, т.к. опция для создания COM-файла задана некорректна, создается по-умолчанию EXE-файл. Что и пишется далее. В последующих строках указывается, что файлы MAP (отчет о линкировании), LIB (библиотеки) и def (некоторые предустановки) не заданы. Нам они не нужны. И наконец, no steck segment говорит о том, что в программе отсутствует сегмент стека. Для COM-программы задание стека даже противопоказано. С ним можно построить только EXE-программу. Так что, это даже нужное предупреждение =====
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен |
Лысков Игорь ВитальевичСоветник ID: 7438 |
= общий =
29.09.2016, 11:18
По последнему коду не вижу ошибок. Все корректно... =====
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен |
StrannikПосетитель ID: 400534 |
= общий =
29.09.2016, 17:29
а раз корректно, почему не компилируется и не линкуется?
вы правы..нужно между .asm сделать пробел, далее слитно и все получилось..вот скрин но второй файл так же не компилируется..хотя код корректный..
-----
|
StrannikПосетитель ID: 400534 |
= общий =
29.09.2016, 17:30
вот и com файл появился
-----
|
StrannikПосетитель ID: 400534 |
= общий =
29.09.2016, 17:32
А всем, кто наблюдает за этой темой..я все таки работаю в виртуалке программы VMware Workstation и стоит ОС ХР
-----
Последнее редактирование 29.09.2016, 17:32 Strannik (Посетитель)
|