13.12.2017, 21:43 [+3 UTC]
в нашей команде: 2 375 чел. | участники онлайн: 9 (рекорд: 21)

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

:: консультации

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

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

:: правила

:: новости

:: участники

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

:: форум

:: блоги

:: поиск

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

:: наш журнал

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

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

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

:: поддержка

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

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
13.12.2017, 21:07

Последний вопрос:
13.12.2017, 21:22

Последний ответ:
13.12.2017, 21:30

Последняя рассылка:
13.12.2017, 18:45

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

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

Наша кнопка:

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

Отзывы о нас:
28.01.2010, 15:07 »
Konstantin Shvetski
Спасибо, отличный ответ и оперативно [вопрос № 176353, ответ № 259026]
29.11.2010, 19:51 »
Иван Петрович
Спасибо за подробное решение!!!! [вопрос № 181011, ответ № 264408]

РАЗДЕЛ • Assembler

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

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

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

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

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

Консультация онлайн # 191404
Раздел: • Assembler
Автор вопроса: ialmiev (Посетитель)
Отправлена: 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 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
ialmiev:

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

ialmiev
Посетитель

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 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
ialmiev:

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

© Цитата: ialmiev
что касается 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.15477 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн