На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> С чего начать Asm? , Знатоки помогите...
    Хочу начать изучение Assembler'а. :ph34r:
    Книг у меня навалом.Юров,Абель,Пирогов,еще какие-то...
    Но вот софта нет.И незнаю какой надо брать.
    Тот раз скачал MASM32,а в нем не компилилятся проги,которые были в книге.
    Какой софт нужен начинающему и какую к нему в придачу книгу взять?

    1)Что искать.
    2)Где искать.(если незнаете точного адреса,то просто загуглю сведения)

    Я запутался.Накачал софт всякий,а в нем не компилится.
    Спасибо. ;)
    Сообщение отредактировано: MakedoneZ -
      Я начинал с TASMа. Нормальный простой асемблер.
        http://wasm.ru - собственно то, с чего надо начинать. Книги которые у тебя есть - сойдут. Юров вроде ничо.
        http://flatassembler.net - компилятор FASM. Его синтаксис отличается от масма и тасма но и работать с ним проще и приятнее.
        Удачи :ph34r:
          Не, лучше взять tаsm. Ведь в книгах все примеры расчитаны на него или на mаsm, который он полностью поддерживает. Да и развивается он не менее активно чем fаsm. А насчет проще, вопрос очень спорный.

          Добавлено
          В тасме синтаксис намного проще и понятнее. Да и оптимизация отличная.
            Цитата AndNot @
            В тасме синтаксис намного проще и понятнее. Да и оптимизация отличная.

            :blink: Не хочу спорить по этому поводу, пусть автор попробует разные компилеры и сам решит что ему удобнее.
              Это точно :)
                Цитата Ct757 @
                http://wasm.ru

                Скачал отсюда 9-версию MASM32.
                При установке ошибка вышла...
                Сейчас ищу на других сайтах.
                Цитата Ct757 @
                Не хочу спорить по этому поводу, пусть автор попробует разные компилеры и сам решит что ему удобнее.

                Все дело в том,что действительно,в книгах все почти основано на MASM и TASM.
                Я и так не бум-бум в ассемблере,поэтому пока придется придерживатся того что используется в учебнике. :ph34r:
                  Цитата MakedoneZ @
                  Все дело в том,что действительно,в книгах все почти основано на MASM и TASM.

                  Это в принципе не важно, к отличиям быстро привыкаешь. И плюс когда переводишь с одного синтаксиса в другой, а не тупо переписываешь - как-то лучше осознаешь весь код :)
                    мужиг, бери тасм и не парься.
                      Цитата Ct757 @
                      к отличиям быстро привыкаешь. И плюс когда переводишь с одного синтаксиса в другой, а не тупо переписываешь - как-то лучше осознаешь весь код :)

                      Ага, а потом на форуме и появляются вопросы, связанные с несовместимостью ;)
                      всетаки лучше для начала освоить классику - масм и тасм. Хотя бы основы.
                        Цитата MakedoneZ @
                        Цитата Ct757 @
                        http://wasm.ru

                        Скачал отсюда 9-версию MASM32.
                        При установке ошибка вышла...

                        MASM32 от его изобретателя Хатча
                        http://www.masm32.com/

                        При установке самое главное не мудрить с директориями, устанавливать по умолчанию в корень c:\masm32 иначе потом все инклуды провить прийдется.

                        Мне фасм тоже понравился, можно создавать конструкции которые более читабельны ИМХО
                          Цитата AlexJ @
                          Мне фасм тоже понравился, можно создавать конструкции которые более читабельны ИМХО

                          Ну приведи мне к примеру макрос, который будет оптимизировать условные переходы, так же как и тасм ;)

                          Добавлено
                          И заодно покажи мне как fаsm может определять какие инструкции какому процессору принадлежат ;)
                          Сообщение отредактировано: AndNot -
                            Цитата AndNot @
                            Ну приведи мне к примеру макрос, который будет оптимизировать условные переходы, так же как и тасм

                            FASM их и так оптимизирует...
                            Цитата AndNot @
                            И заодно покажи мне как fаsm может определять какие инструкции какому процессору принадлежат

                            А вот этого там нет.
                            Я помнится спорил уже с кем-то.
                            Ну приведут сейчас макрос для одной инструкции - и что? Это реализуемо в принципе.
                            Только вот кто будет такие макросы для каждой команды набивать?
                            Тогда уже проще самому следить...
                            Сообщение отредактировано: cppasm -
                              Цитата cppasm @
                              FASM их и так оптимизирует...

                              То есть если джампу не хватает диапозона, то фасм сам его заменит на два?
                              А как насчет 'LEA' и 'MOV reg, OFFSET'?
                              Цитата cppasm @
                              Я помнится спорил уже с кем-то.

                              Верно, там много недостатков фасма указано, и я там пару копеек вставил :D Ведь синтаксис масма/тасма (особенно у последнего) появился не с потолка, он довольно продуман, чего не скажешь о фасме.
                              У фасма одно преимущество - развитый макроязык. Но одними макросами всего не решишь. Они не так уж и часто нужны. И лучше когда высокоуровневые средства уже встроены в язык, так удобнее.
                              Впрочем это уже оффтоп. Меня просто поразило что в качестве учебного предлагают фасм, хотя он очень сильно отличается от масм/тасм, на которых все учебники базируются :D
                                Цитата MakedoneZ @
                                Хочу начать изучение Assembler'а.
                                Рекомендую начать с того, что ассемблер это не язык программирования, а компьютерная программа.
                                Затем рекомендую задать себе вопрос - зачем. От этого многое зависит.
                                Сообщение отредактировано: ANDLL -
                                  Цитата AndNot @
                                  То есть если джампу не хватает диапозона, то фасм сам его заменит на два?

                                  Нет, этого он не делает.
                                  Просто если переход попадает в границы -127..128 использует jmp short, иначе jmp near.
                                  Т.е. минимально возможную форму.
                                  А замену перехода на два я и в tasm не использую - не люблю когда компилятор умничает :)
                                  Цитата AndNot @
                                  Впрочем это уже оффтоп.

                                  А чего оффтоп? Человек почитает и сам решение примет.
                                  Цитата ANDLL @
                                  Рекомендую начать с того, что ассемблер это не язык программирования, а компьютерная программа.

                                  Да что вы говорите :)
                                  Если уж быть точным - то ассэмблер это как раз язык программирования, а то о чём вы говорите называется "транслятор с языка ассэмблер".
                                    Цитата ANDLL @
                                    Затем рекомендую задать себе вопрос - зачем. От этого многое зависит.

                                    это очень верно подмечено!
                                    Цитата cppasm @
                                    Если уж быть точным - то ассэмблер это как раз язык программирования

                                    а если ещё точнее, то это низкоуровневый язык программирования ;)
                                      Цитата cppasm @
                                      Если уж быть точным - то ассэмблер это как раз язык программирования, а то о чём вы говорите называется "транслятор с языка ассэмблер".
                                      Как раз наоборот, ассемблер - это программа переводящая код, написанный на особом языке(языке ассемблера) в машинный код :) Это общепринятая трактовка термина. Это вам скажет и википедия и любой другой качественный источник.
                                        MakedoneZ найди книгу Том Сван. Освоение Turbo Assembler, единственная, где ООП на тасме описано
                                          Цитата ANDLL @
                                          Как раз наоборот, ассемблер - это программа переводящая код, написанный на особом языке(языке ассемблера) в машинный код

                                          А язык тогда как по вашему называется? Язык ассемблера?
                                          А логика где?
                                          Или для вас и С - это компилятор, а язык называется "язык С"?
                                            Цитата cppasm @
                                            Язык ассемблера?
                                            вообще то да.
                                            Цитата cppasm @
                                            А логика где?
                                            Логика в том, что вещи называются так как они называются. Нет ну правда, по твоему на википедии вот так взяли и опечатались? А заодно и Юров и иже с ним?
                                            Цитата cppasm @
                                            Или для вас и С - это компилятор, а язык называется "язык С"?
                                            Нет. C это язык. И тем не менее ассемблер это программа. Удивительно, что человек с таким ником слышит это впервые
                                            Сообщение отредактировано: ANDLL -
                                              cppasm ANDLL
                                              Мож хватит?
                                              Или начнем рассуждать над тем,можно ли IDE Delphi назвать средой программирования,или программой,или штукой которая организует создание приложений итд итп...Честно говоря все равно как и что называется,мне главное этим владеть.

                                              А нужен мне asm,в связи с тем,что занимаюсь криптографией.
                                              Некоторые участки кода требуют высокой скорости,что просто недостижимо
                                              в языках высокого уровня.
                                              Цитата tDCKWL @
                                              найди книгу Том Сван. Освоение Turbo
                                              Assembler

                                              Спасибо,поищу. :yes: +++


                                              Скачал уже MASM32,нормалек.Приступим к созданию традиционного
                                              "Salam-Eleykim,World!" :D
                                              Сообщение отредактировано: MakedoneZ -
                                                ANDLL, ну и бред :ph34r:
                                                  Цитата cppasm @
                                                  Просто если переход попадает в границы -127..128 использует jmp short, иначе jmp near.

                                                  Странное решение. И ИМХО неверное. Вернее не всегда верное. Это глюк? Или разработчики поленились?
                                                  Цитата cppasm @
                                                  А замену перехода на два я и в tasm не использую - не люблю когда компилятор умничает

                                                  Обычно да. Но бывает что времени в обрез, и некогда возиться с такой мелочью. Или же пишешь "начерно", в целях "эксперимента", опять же не до диапозонов, не до оптимизации LEA и прочих прелестей, тем более знаешь, что тасм сам все оптимизирует.
                                                  Цитата rikitikitavi @
                                                  а если ещё точнее, то это низкоуровневый язык программирования

                                                  rikitikitavi, с одной стороны верно, а вот с другой стороны асм все больше и больше обрастает высокоуровневыми средствами. Немного медленно, но тенденция наблюдается. И насколько я знаю, уже предпринимаются попытки создать нечто новое, более удобное и в тоже время оставить низкоуровневые возможности.
                                                  Цитата tDCKWL @
                                                  единственная, где ООП на тасме описано

                                                  В доках к тасму 3.0 тоже доходчиво это разжевано :)
                                                    Цитата AndNot @
                                                    В доках к тасму 3.0 тоже доходчиво это разжевано :)

                                                    там режим masm, у Свана ideal
                                                      Цитата AndNot @
                                                      Странное решение. И ИМХО неверное. Вернее не всегда верное. Это глюк? Или разработчики поленились?

                                                      А что неверного?
                                                      Если ты явно не указал short/near, то будет тот, у которого короче машинная команда.
                                                      Т.е. short если допустимо.
                                                      Если указано явно то будет либо тот переход который указан, либо ошибка в случае невозможности его сгенерировать.
                                                      Цитата ANDLL @
                                                      И тем не менее ассемблер это программа. Удивительно, что человек с таким ником слышит это впервые

                                                      Спорить по просьбам трудящихся прекращаю. А про ники я бы особо не возмущался...
                                                      ПС: если тебе станет легче то на wiki можно за минуту всё поменять.
                                                      ППС: чтоб тут не флудить больше - самый реальный выход - создай голосовалку и посмотрим на результаты.

                                                      Добавлено
                                                      Цитата MakedoneZ @
                                                      А нужен мне asm,в связи с тем,что занимаюсь криптографией.
                                                      Некоторые участки кода требуют высокой скорости,что просто недостижимо
                                                      в языках высокого уровня.

                                                      ИМХО тогда стоит ещё скачать с сайта Intel или AMD мануалы по MX, SSE, SSE2 и т.д.
                                                      SIMD команды должны ощутимый прирост дать, смотря правда какие тебе алгоритмы нужны.
                                                        MakedoneZ,Абеля хорошая книга, а вообще посоветовалабы Кнут-Искусство программирования ну очень хорошая книга, там азы и архитектура и много много всего !
                                                        Цитата AndNot @
                                                        а вот с другой стороны асм все больше и больше обрастает высокоуровневыми средствами

                                                        это уже типа следствия, а вообще я просто написала так как во всех книгах везде именно так и пишут ;)
                                                          Цитата cppasm @
                                                          Если ты явно не указал short/near, то будет тот, у которого короче машинная команда.
                                                          Т.е. short если допустимо.

                                                          Просто лень в справочники заглядывать, у нас near переходы когда появились?

                                                          Добавлено
                                                          Цитата rikitikitavi @
                                                          это уже типа следствия

                                                          Увы, это уже вопрос выживания языка.
                                                          Цитата rikitikitavi @
                                                          а вообще я просто написала так как во всех книгах везде именно так и пишут

                                                          Это старые мастера писали. А за последнее время толковых книг по асму что то и не припомню :(
                                                            Цитата rikitikitavi @
                                                            там азы

                                                            Я бы не сказал что там азы. :wacko:
                                                            У меня есть все 3 тома.Требуется нехилое знаение матана.
                                                            Благо учусь на Прикладной.
                                                            Цитата cppasm @
                                                            ИМХО тогда стоит ещё скачать с сайта Intel или AMD мануалы по MX, SSE, SSE2 и т.д.
                                                            SIMD команды должны ощутимый прирост дать, смотря правда какие тебе алгоритмы нужны.

                                                            Я не особо силен в архитектуре процессоров,но кажется это все некие пртоколы... Так?
                                                            Все дело в том,что чувствую использование этих протоколов сделает программу машинно-зависимой.
                                                            У AMD ведь нет MX,SSE,SS2.У них если не ошибаюсь 3DNow! и прочее... :wacko:
                                                            Короче это все новая сфера,которую предстоит изучить.
                                                              Цитата AndNot @
                                                              Просто лень в справочники заглядывать, у нас near переходы когда появились?

                                                              С х386.
                                                              Цитата AndNot @
                                                              Это старые мастера писали. А за последнее время толковых книг по асму что то и не припомню

                                                              Зубков. "Assembler для DOS, Windows и Unix" - мне оч понравилась ;)
                                                              Цитата MakedoneZ @
                                                              Я не особо силен в архитектуре процессоров,но кажется это все некие пртоколы... Так?
                                                              Все дело в том,что чувствую использование этих протоколов сделает программу машинно-зависимой.
                                                              У AMD ведь нет MX,SSE,SS2.У них если не ошибаюсь 3DNow! и прочее...

                                                              Это не протоколы - это новые машинные команды.
                                                              Но в принципе да - зависимость будет.
                                                              MMX поддерживают все начиная с Pentium MMX и AMD K6.
                                                              Только врядли он тебе сильно поможет - это для параллельной обработки целых чисел.
                                                              А в криптографии ИМХО такое не часто встречается.
                                                              AMD поддерживает SSE, SSE2 начиная с Athlon, 3DNow! вроди на всех процах.
                                                              Intel 3DNow! не поддерживает.
                                                              Так что в принципе или писать несколько реализаций для каждого процессора, или отказаться от использования этих команд.
                                                              А поддержку того или другого набора процессором в принципе в программе определять можно...
                                                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                              0 пользователей:


                                                              Рейтинг@Mail.ru
                                                              [ Script execution time: 0.1426 ]   [ 15 queries used ]   [ Generated: 23.10.26, 22:00 GMT ]