|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.02.2010, 20:35 | #1 | |
ФорумчанинДжуниор
Регистрация: 05.05.2008
Сообщений: 606
|
Сравнение ассемблерных трансляторов
Вот решил углубить свои знания в ассемблере. Задумался, а какой ассемблер сейчас лучше изучать?
вот нашел в нете сайт где приводят сравнения трансляторов. http://www.insidepro.com/kk/108/108r.shtml вот выдержка из статьи, самая суть. Цитата:
Хотелось бы услышать мнения бывалых.
------------------------------
Ум без разума –это беда! |
|
03.02.2010, 21:10 | #2 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Статья старая, FASM кроссплатформенный, имеет более простой синтаксис (IDEAL), постоянно обновляется, препроцессор навороченный, макросы даже мощнее MASM, умеет собирать СОМ, MZ, PE, ELFы, EFI-PE, есть модификации под ARM, 'сырые' бинарные файлы. Советую обратить внимание на него
пыщь
|
03.02.2010, 21:17 | #3 |
ФорумчанинДжуниор
Регистрация: 05.05.2008
Сообщений: 606
|
А с точки зрения документации на русском? Её много?
------------------------------
Ум без разума –это беда! |
03.02.2010, 22:49 | #4 |
Пользователь
Регистрация: 03.03.2009
Сообщений: 29
|
|
04.02.2010, 04:44 | #5 |
Форумчанин
Регистрация: 09.03.2008
Сообщений: 127
|
Если собираешся писать под Win32 (да и Win64), то как по мне лучше всего конечно же MASM - как ни как он родной для Windows систем... TASM без спору хорошый (сам на нем не пишу, но Borland по Builder-у уважаю), но для серьёзных вещий под Win32 только MASM...
Хотя они же не очень и отличаются... зная один не вопрос перейти на другой asm (под Win32 конечно, синтаксис Unix систем таки другой...) |
04.02.2010, 04:54 | #6 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
veter_s_morya
Еще есть GoAsm (Gordon Assembler by Jeremy Gordon) POAsm (Pelle Orinius Macro Assembler by Pelle Orinius) RosAsm (Assembler for ReactOS by Betov) WASM (Open Watcom Assembler) T0A (The 0ok Assembler by Benjamin "BeRo" Rosseaux) и все они "неординарные и весьма самобытные" |
05.02.2010, 20:10 | #7 |
ФорумчанинДжуниор
Регистрация: 05.05.2008
Сообщений: 606
|
JTG, попался мне в руки fasm, хотя планировал на masm. Интересная вещица, даже бросать не хочется. Я вот подумал, может начать кодить параллельно в двух асмах.
------------------------------
Ум без разума –это беда! |
06.02.2010, 13:10 | #8 |
Форумчанин
Регистрация: 15.07.2008
Сообщений: 615
|
veter_s_morya Масм и Fasm существенно не различаются, поэтому чтобы набить руку нужно переписывать проекты с одного асма на другой. Лично я начинал с Tasm, затем Nasm, Masm, Fasm. И все же ИМХО начинать с MASM/TASM под Dos, хотя и Fasm можно писать под Дос
xor eax, eax
xchg [eax], eax |
07.02.2010, 18:24 | #9 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
TASM это прошлое, толком ничего не поддерживает и был заброшен разработчиком (Borland) лет 10 назад. Не рекомендую им пользоваться и уж тем более новичкам.
veter_s_morya, FASM это будущее. Почему я выбрал этот компилятор? 1. Чистый синтаксис, без лишних и рудиментарных дирректив от которых никакого толку (например, .386, offset и ещё куча). 2. Полный контроль над расположением данных в файле. При программировании под windows мы имеем полный контроль над секциями в PE-файле (можно указать имя и любые атрибуты). 3. При компиляции не надо никаких LIB файлов, от которых в большинстве случаев тоже никакого толку. (при программировании под Windows по любому надо использовать функции из KERNEL32.DLL) 4. У него есть свой собственный редактор. Но более важно что при компиляции через командную строку не надо указывать кучу параметров чтобы прога скомпилилась как надо. Надо указать просто путь к файлу исходника, всё остальное задаётся в самом исходнике. 5. Мощнейший макросный движок! 6. Поддерживает почти все команды x86-64. Главное отличие FASM и MASM состоит в использовании имен переменных. Например: var1 dd 0 в MASM mov eax, var1 и mov eax, [var1] одно и тоже! в eax будет помещено значение переменной var1. т.е. если не указаны квадратные скобки, то всё равно считается что они указаны. Именно это и не нравится в FASM mov eax, var1 ; в eax будет указатель на var1 mov eax, [var1] ; в eax будет помещено значение переменной var1 в MASM чтобы получить указатель надо написать offset Последний раз редактировалось rpy3uH; 07.02.2010 в 20:02. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сравнение данных | GX_h10 | SQL, базы данных | 1 | 29.12.2009 12:49 |
Сравнение 2 файлов | ForzaJuve | Общие вопросы Delphi | 9 | 09.06.2009 23:34 |
C#: Сравнение дат | Veiron | Общие вопросы .NET | 1 | 08.06.2009 23:32 |
компоновка ассемблерных модулей с программи С++ | brainFuck | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 08.09.2008 09:10 |
Нужна помошь в реализации ассемблерных вставок!!! | Cherpak | Помощь студентам | 1 | 02.06.2008 13:44 |