Уважаемые профессионалы ассемблера. Обращаюсь к вам с вопросом. Я решил изучать ассемблер. Купил кое-какую литературу. Но вот вопрос - все учебники для работы с операционной системой Doc. А у меня windows xp. И писать я хочу для XP. Нужно ли изучать эти учебники для работы с DOC, или это уже устарело? Что мне делать? Что учить? Посоветуйте пожалуйста новичку. Вопрос 2. Выбор компилятора. Что лучше - masm или Fasm ? На masm много примеров, и учебников, но вот говорят что FASM лучше с позиции перспективы на будущее - хотя учебников вообще нет в природе, и непонятно вообще где почерпнуть самое начало. Или ассемблер в масм и фасм настолько одинаков, что можно писать на обеих? С уважением, Бортников Максим.
К FASM'у идет PDF, с относительно кратким описанием синтаксиса. Думаю, этого достаточно чтобы с ним более-менее разобраться.
я потратил некоторое время на изучение ДОСа. и, знаешь, не жалею об этом ) Хотя есть противники изучения этой ОС. Мое мнение, что изучив дос, приобретаешь опыт и понять винду будет несложно. ( Упаси Боже сейчас заводить с кемнибудь споры по этому поводу )
Конечно нужно учить ДОС! Вспомните, изучение самого доса по-настоящему там не так уж и много. А все остальное - это не ДОС а BIOS. А вот про BIOS можно и почитать, не повредит.
FASM, имхо, для начинающего - самое то! По крайней мере, то, что с первого захода компилится в FASM для MASM приходится часами вылизывать, снабжать функи прототипами... У меня на MASM Hello,world! не получился!!! А по поводу документации и исходников... FASM с каждым днём всё популярнее - на любом программерском форуме ответят на вопрос, ответ на который нельзя найти в штатной документации. А после постижения азов ассемблера исходник с MASM за полминуты переводится в FASM, что служит, кстати, отличной разминкой для мозгов! По поводу DOS... Не хочу разжигать пламень священных войн, но, ИМХО, нафиг... Иначе потом будет: "забудьте то, что учили до сих пор"
когда я пришёл учиться в универ, мне на каждой новый препод по очередной математике говорили "забудьте всё чему вас учили в школе". я раз пять наверное слышал эту фразу. и тем не менее, я не думаю что обучение математике в школе было лишним.
IMHO если ты только начинаеш, то лучше взять компилятор с использованием которого писаны примеры в книге - так разбираться проще будет. А когда знаний будет по-больше - сможешь сам выбрать по вкусу. Потому что с примерами на FASM книжек действительно нет, а в его справке описан синтаксис языка. Но одного синтаксиса недостаточно, надо ещё и архитектуру системы знать.
_BC_ Просто кроме Привалова книжку о фасме писать больше некому, тем более что он её уже потихоньку пишет и выкладывает у себя на сайте.
Конечно, начать стоит с того компилера, на котором примеры в книге. Другой вопрос - какую книгу выбрать, чтобы в ней использовался нормальный компилер типа masm или fasm, а не какое-нить убожество. Лучшим вариантом, ИМХО, будет masm/fasm/nasm. А вообще лучшим транслятором я считаю fasm :P
2 _BC_ А почему ты не хочешь, чтобы книга по FASM была написана? FASM, конечно, хорош на роль элитарного транслятора, но, ИМХО, надо популяризировать его в массы...
Adrax, прототипы в masm нужны, только если ты invoke пользуешься - для контроля передаваемых параметров. Btw, это ж насколько хентайно надо написать, чтобы в masm Hello World не скомпилился? Хотя… )) Насчёт FASM: его сила и функционал целиком в макросах, с которыми тут же придётся разбираться. То же самое касается и примеров, идущих в комплекте к masm32 (равно как и кода, генерируемого его мастером). ИМХО, поэтому и надо начинать с DOS - чтобы понимать, как всё работает на самом деле, на уровне процессора, прерываний, стека. А иначе - зачем тогда учить ассемблер, есть куча более мощных HLL компиляторов… ))
Bortnikov Изучение языка, начинается с развития мышления на нем. Будь то это Русский, Английский или Францусский или же С++, Ассемблер. Тебе необходимо развивать мышление на этом языке. Ты правильно понял, DOS сейчас мало где применяется, потому тебе стоит учиться написанию ПО именно под Windows. Рекомендую тебе: 1. вооружиться поиском и поискать по форуму про лучшую литературу для новичка, это уже не раз проскакивало. 2. скачать fasm, но идущий с ним pdf документ, годиться только в качестве справочника и для уже умелых людей, которые знают как и что можно реализовать на асме - это очень хороший мануал им больше и не надо. 3. Есть не мало книг, про этюды для программистов, пробуй их решать на ассемблере