1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

вопрос экспертам, как изучать асм

Тема в разделе "WASM.ASSEMBLER", создана пользователем chainick, 16 фев 2012.

  1. ava

    ava New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2003
    Сообщения:
    169
    Правильно, смысла нет. Поэтому желательно сначала научиться программировать, а потом уже изучать ассемблер.

    Это зависит от того, какую часть ОС и насколько глубоко нужно изучить. К примеру, для понимания назначения конкретных ключей реестра знание структуры дескриптора страницы не очень-то и нужно.

    Для написания приложений совершенно необязательно знать, к примеру, особености реализации стека TCP, интерфейса драйверов и планировщика задач.

    И что? Сначала ведь нужно научиться ходить, а уже потом бежать марафонскую дистанцию. Или ты уже умеешь ходить?

    Но для написания (и чтения) программ для конкретной архитектуры на конкретном ассемблере необходимо знать эту архитектуру и этот ассемблер.
     
  2. chainick

    chainick New Member

    Публикаций:
    0
    Регистрация:
    31 янв 2012
    Сообщения:
    61
    насколько я понял Вы имеете в виду программировать на языке высокого уровня?
    хотя, мне кажется, программирование на ассемблере в корне отличается от программирования на ЯВУ.
    на ЯВУ программировать могу.
    если например, меня не очень интересует реестр, ~UserMode, а нужны глубокие знания на уровне ядра (~что-то в этом роде), тогда в какую сторону посоветуете развиваться?
     
  3. totimoud

    totimoud New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2012
    Сообщения:
    78
    Это двусмысленная фраза. Один смысл это способность к алгоритмическому решению, второй это способность описать решение некоторым определённым языком/способом описания.

    Мод особо значения не имеет. Разграничение по модам введено в целях защиты. В принципах разницы нет какой мод.
     
  4. ava

    ava New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2003
    Сообщения:
    169
    И чем же? Программирование - это формализация задачи, разбиение ее на подзадачи, выделение сущностей, с которыми нужно работать, определение возможных состояний этих сущностей, построение (или выбор) алгоритмов для задачи и подзадач, создание каркаса программы в виде набора переменных, объектов, подпрограмм, запись алгоритмов на ЯП, и т. д. и т. п. Конечно, язык програмирования влияет на результат, но коренных различий между (императивными) ЯВУ и ассемблером я не вижу.

    Странный вопрос. Звучит примерно, как "мне очень нужен молоток - скажите, что с его помощью можно делать?". Может, лучше сперва определиться, в каком направлении развиваться, а потом уже думать, что для этого нужно?
     
  5. chainick

    chainick New Member

    Публикаций:
    0
    Регистрация:
    31 янв 2012
    Сообщения:
    61
    всем спасибо
     
  6. Pavlus

    Pavlus New Member

    Публикаций:
    0
    Регистрация:
    23 дек 2010
    Сообщения:
    18
    У меня ещё один вопросик.
    Какой диалект лучше выбрать?
    Я уже несколько лет программирую, асм читать могу немного, писАть всё хотелось и вот, решил начать.
    Мне хотелось бы, чтобы использовался именно чистый асм, как можно меньше макросов и "плюшек" и как можно ближе к машинным кодам.
    NASM, например, подойдёт моим "запросам"?
     
  7. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Pavlus
    FASM например.
    push
    push
    push
    call
     
  8. Pavlus

    Pavlus New Member

    Публикаций:
    0
    Регистрация:
    23 дек 2010
    Сообщения:
    18
    K10, "имеет богатый и ёмкий макро-синтаксис, позволяющий автоматизировать множество рутинных задач"(Википедия), а мне хотелось бы чего-то ближе к самому исполняемому коду, хочу эмулятор 8086 написать, познать именно как простой процессор его исполняет.
     
  9. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    Pavlus
    Имеет богатый макро-язык - так это любой ассемблер его имеет. Фишка в чем: не нравится - не используй! Хочешь писать быстро и по делу - пиши с макросами. Хочешь изучать и детально понимать без макросов - пиши без макросов.

    Эмуляторы есть, минимум 3 приличных существует. Может лучше с существующим поиграться?
     
  10. Dmitry_Milk

    Dmitry_Milk Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    535
    Pavlus, дык, никто ж под страхом смертной казни Вас не заставляет использовать макросы - используйте чистые мнемоники. Любой асм годится.
     
  11. Pavlus

    Pavlus New Member

    Публикаций:
    0
    Регистрация:
    23 дек 2010
    Сообщения:
    18
    А, ну тогда ясно.
    А про эмулятор - это я для себя, хочу разобраться поглубже.
    Тогда спасибо!
    Попробую FASM и NASM.
     
  12. MMIX

    MMIX New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2011
    Сообщения:
    385
    А чо собственно макросы не нравятся ?
     
  13. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    Советую начать с Z80. Для спекки есть годные эмули. Там система команд проста - нет никаких конвееров, подкачек и прочих блинов, для начала идеально. Я с этого начинал, в общем щас не нуб :D
     
  14. MMIX

    MMIX New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2011
    Сообщения:
    385
    Malfoy
    Вы шибко скромничаете :D
     
  15. Pavlus

    Pavlus New Member

    Публикаций:
    0
    Регистрация:
    23 дек 2010
    Сообщения:
    18
    MMIX, я уже писал, что хочу и асм изучить в чистом виде, во-первых так мне будет проще писать тот-же эмулятор (больше понимания происходящего), а во-вторых - будет проще писать на разных диалектах, даже если там нет тех или иных фич.
    Malfoy, в 8086 конвеер простой, исполнение по-очерёдное, в эмуле даже не вижу смысла его использовать, а вот с портами по-сложнее - их много, я один. Тяжеловато будет.

    Ой, чего-то мои сообщения попахивают эгоцентризмом :/
     
  16. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.552
    Адрес:
    Russia
    Pavlus
    я уже писал что это фетишизм
     
  17. Pavlus

    Pavlus New Member

    Публикаций:
    0
    Регистрация:
    23 дек 2010
    Сообщения:
    18
    Rockphorr, ну и пусть, мне от этого ни холодно - ни жарко. Моё ведь дело, Вас никто не заставляет делать так.
     
  18. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    Pavlus
    Инструкции знать явно не достаточно. Это как знать алфавит, не зная языка. Вот например мы вчера обсуждали дебаг Int 0x2B. Что толку от того, что вы прочитали в мане на камень про инструкцию Int. Чтобы знать что она делает нужно знать ядро. Аналогичным образом и всё остальное. В утверждении "хочу знать асм" фактически смысла мало. Что толку от знания мнемоник, без знания среды.
     
  19. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.552
    Адрес:
    Russia
    Pavlus
    критерии вашей чистоты асма хотя-бы расскажите
     
  20. MMIX

    MMIX New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2011
    Сообщения:
    385
    Pavlus
    Эмулятор Интеловских процев чтоле ? Затрахаетесь писать.