> man operating_systems
Переход на страницу  1 2 3 [4] 5
Модераторы: Roman I Khimov, Wanderer, Dron
Автор Добавил
Roman I Khimov
Вторник 12.04.2005 19:53

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
NASM поддерживает во чего (может уже и еще чего, это просто вывод моей версии на "nasm -hf"):
valid output formats for -f are (`*' denotes default):
  * bin       flat-form binary files (e.g. DOS .COM, .SYS)
    aout      Linux a.out object files
    aoutb     NetBSD/FreeBSD a.out object files
    coff      COFF (i386) object files (e.g. DJGPP for DOS)
    elf       ELF32 (i386) object files (e.g. Linux)
    as86      Linux as86 (bin86 version 0.3) object files
    obj       MS-DOS 16-bit/32-bit OMF object files
    win32     Microsoft Win32 (i386) object files
    rdf       Relocatable Dynamic Object File Format v2.0
    ieee      IEEE-695 (LADsoft variant) object file format


Собственно, надо ли больше? Да и смысл-то не в форматах. У NASM просто отличный синтаксис в Intel стиле (в его help'e, кстати, даже написано, что одной из задач этого синтаксиса было максимальное соответствие между опкодами и записями на ассемблере, чтобы взглянув на запись, можно было сразу же увидеть опкод. Правда, проверить это не могу - опкоды не выучил еще ). И он не пытается дурить программиста никакими оптимизациями - это ассемблер все-таки.


Греби и улыбайся!
Наверх
Сайт
Dron
Вторник 12.04.2005 22:11


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Да и препроцессор тоже приятный.
А вот fasm не умеет с сегментами работать!

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

Андрей Валяев
Наверх
Сайт
Dreamer
Среда 13.04.2005 18:04

ID пользователя #9
Зарегистрирован: Воскресенье 04.07.2004 14:01
Сообщений: 235
C чем он не умеет работать? С какими сегментами?

Жизнь на Линуксе есть!
Наверх
Dron
Среда 13.04.2005 18:23


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Есть такое слово - сегменты... сегменты кода, сегменты данных... вспомни реальный режим...

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

Андрей Валяев
Наверх
Сайт
Dreamer
Среда 13.04.2005 22:14

ID пользователя #9
Зарегистрирован: Воскресенье 04.07.2004 14:01
Сообщений: 235
Ты имеешь в виду CS, DS, ES и т.д.? FASM работает с ними вполне нормально. А как с ними работает NASM?

Жизнь на Линуксе есть!
Наверх
Dron
Четверг 14.04.2005 10:50


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Нет, я имею ввиду не совсем это... есть такое понятие секции программных модулей...

Ты можешь на fasm написать программу для реального режима где 200к чистого кода?

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

Андрей Валяев
Наверх
Сайт
nnivanov
Четверг 14.04.2005 16:15

ID пользователя #253
Зарегистрирован: Вторник 29.03.2005 01:18
Местонахождение: Russia, Velikiy Novgorod
Сообщений: 123
Если перешли к терминам и понятиям, позвольте присоединиться.

Сегмент - это область памяти, используемая при логической адресации, секция сегмента - это часть кода, описывающая сегмент, принадлежащий программе (code, data, stack), а сегментные регистры (cs, ds, es, ss, fs, gs) - это хранители селекторов (даже в реальном режиме). fasm действительно плохо работает с программными секциями, однако я не могу не назвать его симпатичным. Этот малыш многое умеет.

- Зачем мотоциклу реактивный двигатель?
- Да потому что нам так нравится!
Discovery Channel
Наверх
Сайт
vilmor
Четверг 14.04.2005 16:54
ID пользователя #140
Зарегистрирован: Пятница 29.10.2004 17:09
Местонахождение: Tomsk, Russia
Сообщений: 35
Это ещё называют логическими сегментами (в отличие от физических, задаваемых в GDT/LDT). Линковщик может объединять несколько разных логических сегментов из разных объектных модулей в одну секцию (.text, .data и т.п.).
Наверх
Сайт
Dron
Четверг 14.04.2005 17:42


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Вот вот... а еще я программист, любящий красивый код... так вот.. от кода fasm меня тошнит...

А вот код nasm - вполне нормальный...

А от этого я считаю зависит гибкость проекта... возможности его дальнейшего развития...

Ну можете считать это предвзятостью
А еще я люблю линкер!

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

Андрей Валяев
Наверх
Сайт
captain cobalt
Четверг 14.04.2005 17:46

ID пользователя #12
Зарегистрирован: Воскресенье 04.07.2004 21:44
Местонахождение: /ru/perm
Сообщений: 144
Dron написал(а) ...
А вот fasm не умеет с сегментами работать!
На то он и FLAT assembler.


bluebottle.ethz.ch - Bluebottle. Швейцария. Сделано с умом.
Наверх
Сайт
Переход на страницу  1 2 3 [4] 5  

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.