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

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


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

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

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Советник
Рейтинг: 10950
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Советник
Рейтинг: 4150
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2023
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Assembler (Ассемблер)

Номер выпуска:1532
Дата выхода:21.10.2012, 13:30
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:69 / 25
Вопросов / ответов:1 / 1

Консультация # 186716: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: У меня ос windows 7 в компиляторе ассембер мне выдает ошибку ".386" на форумах написано что такая ошибка потому что компилятор старый но какой мне тогда нужен?? очень прошу помогите вообще не знаю где взять нормальный компилятор ассембера для windows 7....


Консультация # 186716:

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
У меня ос windows 7
в компиляторе ассембер мне выдает ошибку ".386" на форумах написано что такая ошибка потому что компилятор старый но какой мне тогда нужен?? очень прошу помогите вообще не знаю где взять нормальный компилятор ассембера для windows 7.

Дата отправки: 18.10.2012, 13:14
Вопрос задал: Дмитрий (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Зенченко Константин Николаевич (Модератор):

Здравствуйте, Дмитрий!

Код :
CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
int 20h
Message db 'Hello, world$'
CSEG ends
end Begin

Это 16-ти битное приложение DOS, для компиляции Вам подойдет любой 16-ти битный компилятор:

FASM-универсальный компилятор, может создавать приложения как 16-ти битные для DOS, так и 32-х битные для WINDIWS.

Итак попорядку:
CSEG segment - допустимая урезаная форма описания сегмента. Полная форма выглядит так:
© Цитата: из книги С.Зубкова
имя_сегмента segment readonly выравн. тип разряд 'класс'
...
имя_сегмента ends

Все пять операнд ов директивы SEGMENT необязательны.

Разрядность. Этот операнд может принимать значения USE16 и USE32. Размер сегмента, описанного как USE16, не может превышать 64 Кб, и все команды и адреса в этом сегменте считаются 16-битными. В этих сегментах все равно можно применять команды, использующие 32-битные регистры или ссылающиеся на данные в 32-битных сегментах, но они будут использовать префикс изменения разрядности операнда или адреса и окажутся длиннее и медленнее. Сегменты USE32 могут занимать до 4 Гб, и все команды и адреса в них по умолчанию 32-битные. Если разрядность сегмента не указана, по умолчанию используется USE16 при условии, что перед директивой .MODEL не применялась директива задания допустимого набора команд .386 или старше.

ps:Оставлено только то, что касается данного вопроса.

org 100h - визитная карточка модели памяти TINY:
© Цитата: из книги С.Зубкова
TINY — код, данные и стек размещаются в одном и том же сегменте размером до 64 Кб(см. USE16). Эта модель памяти чаще всего используется при написании на ассемблере небольших программ;



Тип разрешенного процессора(.186, .286, .386 и т.д.) не указан, т.е. по умолчанию считается 16-ти битная адресация и х86-ой процессор. Компилятор MASM32 работает только с 32-х битной адресацией доступной начиная с 386-го процессора.
Именно по этому Вас просят указать тип процессора 386.

Удачи!

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

3
ничо не понял

-----
Дата оценки: 20.10.2012, 16:31

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

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное