24.02.2018, 18:50 [+3 UTC]
в нашей команде: 2 565 чел. | участники онлайн: 3 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.44 (14.02.2018)

Общие новости:
02.01.2018, 09:46

Форум:
11.02.2018, 23:11

Последний вопрос:
24.02.2018, 17:00

Последний ответ:
23.02.2018, 22:11

Последняя рассылка:
23.02.2018, 21:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
18.09.2009, 15:51 »
Strazh
Попробовал, не восстановилось. Спасибо за желание помочь! К сожалению, не понял, почему так произошло... [вопрос № 172227, ответ № 254248]
13.12.2010, 19:42 »
Савенков М.В.
+ Расписано подробно и с комментариями + быстро ответили - напрочь отсутствует форматирование текста, что сильно затрудняет чтение оного - решалось не в системе СИ. В общем, хорошо smile [вопрос № 181259, ответ № 264722]
07.07.2010, 05:53 »
MaksimDenisov
Благодарю за ответ! [вопрос № 179417, ответ № 262439]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 387
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 350
Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 332

Перейти к консультации №:
 

Консультация онлайн # 191404
Раздел: • Assembler
Автор вопроса: Ильдар Рифович Альмиев (Посетитель)
Отправлена: 30.09.2017, 13:34
Поступило ответов: 1

Здравствуйте! Прошу помощи в следующем вопросе: начал читать книгу О.А.Калашникова, оказалось необходим ассемблер MASM 6.11 для ДОС. у меня на компьютере установлена Windows 7 (64-bit, x64). какой версии MASM мне установить для 64-bit операционной системы и x64 ? будут ли работать примеры из книги Калашникова если использовать другие ассемблеры например NASM ? - насколько я понял в интернете, ассемблеры отличаются от одной разновидности к другой, то есть насколько я понимаю примеры из книги Калашникова адаптированы только к MASM, но не к NASM, то есть они (примеры) не будут работать, если использовать NASM, то есть надо писать другие коды - правильно ли я понимаю суть дела ? Спасибо.

Состояние: Консультация закрыта

Здравствуйте, ialmiev!

Несмотря на постоянные заявления о совместимости снизу вверх, в 64-х битной версии Windows убрали NTVDM, и ОСь перестала поддерживать 16-ти битные программы.
Варианты решения проблемы:
- установка виртуальной машины и гостевой ОСи с поддержкой 16-ти битного кода;
- использовать эмулятор DOSBox/

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

Удачи!


Консультировал: Зенченко Константин Николаевич (Модератор)
Дата отправки: 04.10.2017, 13:54

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 191404

Зенченко Константин Николаевич
Модератор

ID: 31795

# 1

= общий = | 30.09.2017, 19:00 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Вам нужен DOSBox.
Синтаксис Nasm ничем не отличается от синтаксиса Fasm т.е.
Команда mov ax,val-получает адрес переменной, а mov ax,[val]-ее значение, есть еще некоторые заморочки инициализацией данных, а так вроде больше ничего особенного.

Зенченко Константин Николаевич
Модератор

ID: 31795

# 2

= общий = | 02.10.2017, 12:11 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Ильдар Рифович Альмиев:

Что у Вас получилось?

Ильдар Рифович Альмиев
Посетитель

ID: 401339

# 3

 +1 
 
= общий = | 02.10.2017, 17:54 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

Уважаемый Константин Николаевич и эксперты, здравствуйте,

спасибо за Ваши сообщения и извините за задержку с ответом. я установил DosBox, куда успешно установил MASM611 и скомпилировал первый пример "Hello, World" из книги О.А.Калашникова - программа скомпилировалась и работает успешно - выводит на экран DosBox сообщение "Hello, World".

Константин Николаевич, я - новичок в Ассемблере, хотя и имею небольшой опыт программирования на Си и Фортране-77. поэтому мне хотелось бы постигать Ассемблеры постепенно - надеюсь, что благодаря книги О.А.Калашникова я смогу в дальнейшем сделать серьезные шаги в мир Ассемблеров, хотя понимаю, что потребуется и другая более продвинутая литература по Ассемблерам, "железу" (hardware) и электронике.

что касается NASM, то наверное мне нужно будет пройти путь к изучению данного ассемблера постепенно - от простого к сложному - на настоящее время у меня есть книга О.А.Калашникова и компилятор MASM611 - поэтому я хотел бы изучить не только NASM, но и работу (и синтаксис) MASM, и TASM, и FASM. конечно, объять необъятное невозможно, но с другой стороны для изучения NASM и программирования с его помощью серьезных вещей необходимо иметь базу знаний и опыт програмирования на основе MASM/TASM/FASM. у меня есть желание на изучение этих компиляторов для ОС Windows/DOS и, может быть, в дальнейшем, для ОС Linux.

в дальнейшем надеюсь на ваше взаимопонимание и помощь по изучению и программированию на Ассемблерах в Windows/DOS/Linux.

Спасибо.

Зенченко Константин Николаевич
Модератор

ID: 31795

# 4

= общий = | 02.10.2017, 18:36 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Ильдар Рифович Альмиев:

Вам респект, что только после не большой подсказки сами во всем разобрались.

© Цитата: Ильдар Рифович Альмиев
что касается NASM, то наверное мне нужно будет пройти путь к изучению данного ассемблера постепенно - от простого к сложному - на настоящее время у меня есть книга О.А.Калашникова и компилятор MASM611 - поэтому я хотел бы изучить не только NASM, но и работу (и синтаксис) MASM, и TASM, и FASM.



Чтобы программировать под NASM, прочитайте Расширенный ассемблер: NASM, в одной из глав есть описание отличий от MASM и TASM. Их не много, но основной код будет одинаков, т.к.:
© Цитата: вики
Кроме того, ассемблер gas по умолчанию[5] использует AT&T-синтаксис, ориентированный на процессоры не от Intel, в то время как NASM использует вариант традиционного для x86-ассемблеров Intel-синтаксиса; Intel-синтаксис используется всеми ассемблерами для DOS/Windows, например, MASM, TASM, FASM.

Аналогичная справка идет в пакете FASM(см приложение). Некоторые моменты Вам напомнят NASM.
Не смотря на то, что я предпочитаю TASM(из-за простоты командной строки и некоторых макросов, которых не у других), у меня есть ещё куча различных компиляторов(см. картинку), которыми я периодически пользуюсь.
smile

Удачи Вам!

-----
 Прикрепленный файл:  скачать (TXT) » [46.6 кб]

• Отредактировал: Зенченко Константин Николаевич (Модератор)
• Дата редактирования: 02.10.2017, 18:41

 

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

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14091 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.44 от 14.02.2018