![]() |
eXeL@B —› Вопросы новичков —› FASM или MASM? |
. 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 17 октября 2007 16:42 · Личное сообщение · #1 посоветуйте, пожалуйста, какой Ассемблер использовать... скажите, на чем пишите вы... я никак не могу сделать выбор: МАСМ32 или ФАСМ.... пишу под Win32 ![]() испробовал уже и МАСМ и ФАСМ... Читал статью Криса Касперски, там он назвал ФАСМ "игрушечным", поскольку он не поддерживает генерацию отладочной информации... и вообще, видно ему ФАСМ не нравится... мне ФАСМ нравится тем, что мало весит, имеет свою простую среду... позволяем писать под разные ОСЬки... но... на ВАСМе большинство примеров, вроде, с помощью МАСМ32... большинство пишет на МАСМе... RadASM и WinASM, AsmEdit написаны на МАСМ... много информации по МАСМу... вообще он очень популярный... по ФАСму мало документаций... вроде серьезных проектов не написанно на нем... когда прогу, написанную на ФАСМе, мой PEiD пишет "Nothing found", а вот когда на МАСМе - "MASM32/TASM32" - обидно ![]() он, вроде, стает все более и более популярным все-таки скажите, кто и что думает об этих двух Ассемберах=) ![]() |
|
Создано: 17 октября 2007 17:03 · Личное сообщение · #2 |
|
Создано: 17 октября 2007 17:10 · Личное сообщение · #3 |
|
Создано: 17 октября 2007 17:52 · Личное сообщение · #4 |
|
Создано: 17 октября 2007 18:09 · Личное сообщение · #5 |
|
Создано: 17 октября 2007 18:22 · Личное сообщение · #6 |
|
Создано: 17 октября 2007 18:52 · Личное сообщение · #7 |
|
Создано: 17 октября 2007 18:55 · Личное сообщение · #8 |
|
Создано: 17 октября 2007 19:07 · Личное сообщение · #9 ну... я как раз сейчас и просматриваю его) мне сказал один АСМщик: "Если будешь заниматься Ассемблером в будущем, то рано или поздно перейдешь на ФАСМ" (что-то типа этого) - если это и правда так, то тогда лучше ведь сразу переходить... да и учебники у меня все для МАСМ32.... кстати, вот пишу простую программу, и не понимаю, где тут ошибка... format PE entry start include '%fasminc%\win32a.inc' section '.data' data readable writeable stdout dd 0 stdin dd 0 texta db 'TESTINGGGGGGGGGGGGGGGGGGG' textsize equ $-texta textb rb 256 textsize2 equ $-textb writtenaa dd 0 readaa dd 0 section '.code' code readable writeable executable start: invoke GetStdHandle,STD_OUTPUT_HANDLE mov [stdout],eax invoke GetStdHandle,STD_INPUT_HANDLE mov [stdin],eax invoke WriteConsole,[stdout],texta,textsize,writtenaa,0 invoke ReadConsole,[stdin],textb,textsize2,readaa,0 invoke ExitProcess,0 section '.idata' import data readable writeable library kernel32,'kernel32.dll' include '%fasminc%\api\kernel32.inc' вернее понял где, но не пойму, почему... я заменил textsize equ $-texta на textsize = equ $-texta но разве equ не то же, что и =? ![]() ![]() |
|
Создано: 17 октября 2007 19:45 · Личное сообщение · #10 |
|
Создано: 17 октября 2007 20:41 · Личное сообщение · #11 |
|
Создано: 17 октября 2007 20:51 · Поправил: BaGiE · Личное сообщение · #12 Лично мой выбор - FASM, потому что: 1. Чаще обновляется 2. Пиши на нём практически что угодно под любую платформу на базе x86 и x86-64 3. В FASM не нужны мучения с линкером, хотя это одновременно и недостаток, т.к. нельзя непосредственно лепить к проекту MSCOFF файлы. Однако это решаемо, и даже не одним способом. 4. FASM компактный и очень удобный в использовании. 5. Мощь препроцессора FASM порой даже поражает. 6. ФАСМ рулед! tnt17 пишет: Пусть тот касперски курит всторонке, FASM - рулит! +1000 Necromancer13 Вот еще это http://mythrillus.land.ru/tajga-tut/preproc.html#equ почитай, интересно. mushr00m Не позорь мну плиз ![]() //added Кстати заметьте, тема названа FASM или MASM, а не наоборот, так что я думаю автор подсознательно уже сам ответил на свой вопрос что предпочесть ;) ![]() |
|
Создано: 17 октября 2007 21:09 · Поправил: mushr00m · Личное сообщение · #13 |
|
Создано: 17 октября 2007 21:39 · Личное сообщение · #14 > Кстати заметьте, тема названа FASM или MASM, а не наоборот, так что я думаю автор подсознательно уже > сам ответил на свой вопрос что предпочесть ;) хихи)) прикольно сказал, да вижу я, что лучше ФАСМ, просто тянет к синтаксису МАСМа... хотя вообще-то и в самом деле лучше mov eax,[var] чем mov eax,var - ведь все такие переменная это ячейка памяти.... ![]() а еще МАСМ популярнее... хотя, как я вижу, уже все за ФАСМ:D ![]() |
|
Создано: 17 октября 2007 21:41 · Личное сообщение · #15 |
|
Создано: 17 октября 2007 21:46 · Личное сообщение · #16 |
|
Создано: 17 октября 2007 21:50 · Личное сообщение · #17 |
|
Создано: 17 октября 2007 23:49 · Личное сообщение · #18 |
|
Создано: 18 октября 2007 00:39 · Личное сообщение · #19 |
|
Создано: 18 октября 2007 01:36 · Поправил: D-503 · Личное сообщение · #20 нифига не правда ночь-день понятия относительные =).. когда Калашникова читал юзал масм досовский потом под винду начал программить перешёл на фасм только потому что многие его расхваливали в том числе и Касперски в какойто стотье про вирусы вроде писал что мол настоящие хакеры пишут только на фасме =) а вы тут набросились на него... никаких различий я не вижу просто делаю как говарят более продвинутые люди... то что фасм более низкоуровневый это помойму бред ибо ассемблер он и есть ассемблер.. ![]() |
|
Создано: 18 октября 2007 02:01 · Личное сообщение · #21 |
|
Создано: 18 октября 2007 11:55 · Личное сообщение · #22 >нифига не правда ночь-день понятия относительные =).. когда Калашникова читал юзал масм досовский >потом под винду начал программить перешёл на фасм только потому что многие его расхваливали в том >числе и Касперски в какойто стотье про вирусы вроде писал что мол настоящие хакеры пишут только на >фасме =) а вы тут набросились на него... никаких различий я не вижу просто делаю как говарят более >продвинутые люди... то что фасм более низкоуровневый это помойму бред ибо ассемблер он и есть >ассемблер.. да не, просто так получилось... никто не писал, а среди вдруг ночи написали... ыы... я нее знал, что Калашников на ФАСМе писал) >Кому что удобнее, тот на том и пишет. Если тебе удобно писать на МАСМе, то пиши на МАСМе, если >возникнет желание писать на ФАСМе, то флаг тебе в руки. ага ![]() ![]() |
|
Создано: 18 октября 2007 12:10 · Поправил: tnt17 · Личное сообщение · #23 D-503 пишет: а вы тут набросились на него... Просто этого Касперски, нужно читать выборочно - только то, что он накопал в инете, а не то, что сам придумал. Вот и в случае с коментами к фасму, если они таковы были, это он придумал сам. Не читайте их. ) А вообще - фасм "живой" язык, он развивается, в отличии от "хрен знает когда" в последний раз обновленного масма.У масма одно преимущество на данный момент - наличие библиотек, и не более. ----- – Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями... ![]() |
|
Создано: 18 октября 2007 13:29 · Личное сообщение · #24 да... наличие библиотек... ![]() про Касперского прикольно сказали: "нужно читать выборочно - только то, что он накопал в инете, а не то, что сам придумал" ![]() ![]() ну я думаю, библиотеки можно и самому написать... или нет? сейчас вот я с макросами ФАСмовскими мучаюсь... читаю о них тут: mythrillus.land.ru/tajga-tut/preproc.html ![]() ![]() |
|
Создано: 18 октября 2007 15:37 · Личное сообщение · #25 |
|
Создано: 18 октября 2007 15:49 · Личное сообщение · #26 |
|
Создано: 18 октября 2007 16:36 · Личное сообщение · #27 Плиз, помогите, где ошибка в этой проге?: ![]() format PE console entry start include '%fasminc%\win32a.inc' section '.data' data readable writeable stdin dd ? stdout dd ? buffer rb 256 sizeof.buffer = $-buffer cW dd ? cR dd ? section '.code' code readable writeable executable start: invoke GetStdHandle,STD_OUTPUT_HANDLE mov [stdout],eax invoke GetStdHandle,STD_INPUT_HANDLE mov [stdin],eax invoke ReadConsole,[stdin],buffer,sizeof.buffer,cR,0 invoke WriteConsole,[stdout],buffer,[cR],cW invoke ExitProcess,0 section '.idata' import data readable writeable library kernel32,'kernel32.dll' import kernel32,ExitProcess,'ExitProcess' import kernel32,GetStdHandle,'GetStdHandle' import kernel32,ReadConsole,'ReadConsole' import kernel32,WriteConsole,'WriteConsole' находи ошибку в строке import kernel32,GetStdHandle,'GetStdHandle' ![]() |
|
Создано: 18 октября 2007 18:05 · Поправил: tnt17 · Личное сообщение · #28 format PE console entry start include '%fasminc%\win32a.inc' section '.data' data readable writeable stdin dd ? stdout dd ? buffer rb 256 sizeof.buffer = $-buffer cW dd ? cR dd ? section '.code' code readable writeable executable start: invoke GetStdHandle,STD_OUTPUT_HANDLE mov [stdout],eax invoke GetStdHandle,STD_INPUT_HANDLE mov [stdin],eax invoke ReadConsole,[stdin],buffer,sizeof.buffer,cR,0 invoke WriteConsole,[stdout],buffer,[cR],cW invoke MessageBox,0,0,0,0 invoke ExitProcess,0 section '.idata' import data readable writeable library kernel32, 'kernel32.dll',\ user32,'user32.dll' include '%fasminc%\api\kernel32.inc' include '%fasminc%\api\user32.inc' ----- – Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями... ![]() |
|
Создано: 18 октября 2007 18:07 · Личное сообщение · #29 |
|
Создано: 18 октября 2007 18:27 · Личное сообщение · #30 а все, что мне в МАСМе нравится - 1. PEiD пишет "MASM32/TASM32" при анализе файла на МАСМЕ, и "Nothing Found", если на ФАСМе; 2. притягивает МАСМ из-за WinASM'а и RadASM'а, которые на МАСМе написанные; 3. на МАСМе драйвера, вроде, лучше писать а ФАСМ: 1. многие программеры переходят на него... 2. На нем пишет знакомый! ![]() 3. Маленький размер 4. Имеет свой FASMW 5. синтаксис какой-то лучший 5. можно объявлять секции самому)) 6. Писать под разные ОС 7. не обязательно rc-файл подключать, можно писать прямо в исходнике все это ![]() |
. 1 . 2 . 3 . >> |
![]() |
eXeL@B —› Вопросы новичков —› FASM или MASM? |