OSDev

для всех
Текущее время: 27 апр 2024, 11:24

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: 23 май 2012, 21:37 

Зарегистрирован: 23 май 2012, 20:20
Сообщения: 3
Я только начинаю изучать устройство операционных систем и прошу посоветовать мне ассемблер, который лучше подходит для написания ОС. Я пока не собираюсь писать свою собственную операционную систему, но хочу поупражняться и получить опыт программирования на ассемблере. Заранее спасибо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 май 2012, 21:47 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
Подходят они одинаково, но я выбрал fasm как более гибкий. Синтаксис и скорость компиляции у них почти одинаковые, так что разницы особой нет.

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 май 2012, 21:52 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Вообще FASM изначально создавался именно для написания операционок (читал где-то историю ФАСМа).
Nasm тоже в этом плане нормальный, но все же FASM действительно более удобный и гибкий, если уметь пользоваться.
А вот если нужно просто получить опыт программирования на асм, то MASM тоже нужно брать во внимание: вся работа под винду (проги, дрова) лучше делается на MASMе, потому что для него много примеров и исходных кодов, в т.ч. вроде есть на MSDN. Правда FASM категорически отличается от MASM'а.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 май 2012, 21:58 

Зарегистрирован: 23 май 2012, 20:20
Сообщения: 3
А может кто-нибудь дать ссылки на учебники по FASM на русском языке?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 май 2012, 22:40 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Учебников не знаю, знаю перевод официального справочника FASM какой-то старинной версии. С тех пор фасм получил много новых возможностей в области макросов. Официальный англ справочник есть в стандартном архиве фасма.
Станислав много рекламировал книгу Аблязова "Программирование на ассемблере на платформе x86-64", но я в этой книге только глазами пробежал раздел про SMP и APICи, так что сказать почти ничего не могу. Этот раздел был очень похож на перевод AMD Architecture programming manual, vol. 2, части Local APIC.

А вообще русский здесь, к сожалению, плохой помощник. Информацию по чему-то, связанному с OSDev'ом, лучше сразу искать на англ, т.к. на русском почти ничего нет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 май 2012, 10:55 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
Предпочитаю NASM. У них немного разная идеология. NASM написан на C, а FASM на FASMе :D. Поэтому NASM переносим на любую платформу, а FASM нет. Кроме того, NASM легче поддерживать. А вообще очень легко взять и попробовать то и другое.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 май 2012, 11:48 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
Yoda писал(а):
NASM переносим на любую платформу, а FASM нет ... NASM легче поддерживать
Lolwut? Фасм - первая прога, которую портируют ВСЕ осеписатели, ибо ему нужны только выделение памяти и чтение/запись файлов.

Про "попробовать и то и другое" - согласен.

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 май 2012, 12:38 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
DJ PhoeniX писал(а):
Lolwut? Фасм - первая прога, которую портируют ВСЕ осеписатели...

Yoda писал(а):
NASM переносим на любую платформу, а FASM нет

Новая ОС не является платформой. А вот ARM, например, является.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 май 2012, 12:46 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
Yoda писал(а):
Новая ОС не является платформой. А вот ARM, например, является.

Ом, да, надо всё-таки иногда спать ночью... :)

Хотя тоже спорное утверждение. Для фасма нужно знать опкоды на этой платформе, и можно, в общем то, собирать. А для насма нужен как минимум рабочий C++-компилятор.

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 май 2012, 12:58 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
DJ PhoeniX писал(а):
Yoda писал(а):
Новая ОС не является платформой. А вот ARM, например, является.

Ом, да, надо всё-таки иногда спать ночью... :)

Хотя тоже спорное утверждение. Для фасма нужно знать опкоды на этой платформе, и можно, в общем то, собирать. А для насма нужен как минимум рабочий C++-компилятор.


Сделать ФАСМ кросс-компилятором для другой платформы можно: просто переписывается его часть, касающаяся трансляции собственно машинных инструкций. Существует вариант для АРМ, Например. Однако перенести его самого на другую платформу невозможно, поскольку придётся для этого переписать весь целиком, ведь он написан на ассемблере ИА-32.

В то же время любой (ну, почти любой) проект на языке высокого уровня можно перенести на другую платформу, если имеется кросс-компилятор для этой платформы. Например, существуют версии ГеЦеЦе, генерирующие код для АРМ, но работающие на ПК (сам такой пользуюсь, хотя использую входящую в его состав Аду, а не Си). Правим в НАСМе части, касающиеся трансляции машинных инструкций, транслируем его кросс-компилятором -- и получаем выполняемый файл НАСМа, который можно запускать на АРМе. Вот ГеЦеЦе портировать будет уже много сложней, хотя тоже возможно, конечно.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB