MASM64 SDK

Тема в разделе "WASM.X64", создана пользователем Mikl___, 2 дек 2018.

  1. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    На сайте http://masm32.com в разделе Microsoft 64 bit MASM MASM64 SDK в топике New install появился файл install64.zip
    Рекомендация Стива Хатчинсона
    оригинал на английском
    Перевод
    win64.png
     
    Alex81524, Alexey, M0rg0t и 2 другим нравится это.
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    уже давно интересны перспективы ассемблера в современном мире... компиляторы ЯВУ уже давно генерируют хороший оптимизированный код, который иногда оказывается быстрее/компактнее написанного вручную на ассемблере... с каждым днем смысл юзать ассемблер все больше и больше теряется... даже среди ассемблеров зачем юзать масм, когда есть фасм и насм?
     
  3. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    А еще есть GAS, PoASM, UASM. Rel, наверное, вы хотели спросить о чем-то конкретном? :)
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    в чем преимущество масма в сравнении с фасмом и насмом?
     
  5. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    Rel,
    я не делал обзоров
    просто программировал на MASM/FASM/NASM/ PoAsm/GoAsm/RadAsm/TASM, в чем-то удобнее, в чем-то не очень, можно привыкнуть ко всему. Но вот доказывать, что "FASM это наше всё! И нет АСМ'а кроме FASM'а, а Tomasz Grysztar ― пророк его!" это какой-то юношеский максимализм :)
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    ну я то никакой ассемблер не юзал уже давно, кроме ассемблерных вставок в сишечке, но помню, что как минимум система макросов в том же фасме достаточно мощная... там люди умудрялись даж морферы и обфускаторы делать на одних макросах...
     
  7. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Курсы по ассемблеру точно никто не купит, так что пожалуй он и незачем :grin:
     
    M0rg0t нравится это.
  8. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    стоп-стоп, Товарищ.. асм есмь машинный язык и для нетипичных кодов/платформ он был/есть/будет единственным инструментом. другой Вопрос, когда на асме лабается типичка (особенно х86), вот тута действительно фиХЪня.
    окошки на асме действительн@ == лажа, а вот нормальный курс по созданию сверхбыстрых кодов под различные платформы был бы на вес золота.. сейчас в проганье жутко много гламура, практически и суперкомпы перешли в область гламура :)
     
  9. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Имхо не бывает никаких сверхбыстрых кодов на ассемблере, бывают программисты-недоучки и их высокоуровневые убожества. В 99.5% программ несколько сэкономленных машинных тактов на итерацию никакой погоды не сделают.
     
  10. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    сможешь ли ты делать полиморфные коды без асма ? а использовать векторные регистры для кэширования переменных в скалярных кодах? 3oe (out-of-order execution) тожЪ сомнительно без асма. вообще, реально толково выжимать из машины её возможности без асма практически не получится.. другой Вопрос, что можно замутить смарт генератор асм портянок, кой будет в авто-режиме тестировать различные вариации асм кода для заданной функции. Но трЭба, шобЪ он пахал с приемлемой скоростью, а тожЪ в комбинаторную яму зараза свалится :)
     
  11. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Если не путать понятия машинный код и ассемблер, то ассемблер полиморфному движку ни на входе ни на выходе не нужен. Генератор асм портянок - странная идея решать задачу, где все неизвестные заранее известны.
     
  12. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    под "асмом" я всё-таки подразумеваю машинный код :)
    почему странная 777 одно дело ты имеешь некую абстрактную функцию в виде псевдокода, а другое Дело == получить её Практическую реализацию под заданную платформу и с приемлемыми показателями скорости/размера/устойчивости работы/энергопотребления/..
     
  13. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Устойчивость работы и энергопотребление? То есть выбрать от 1 до 10 степень устойчивости работы? Скомпилить энергосберегающую функцию? С защитой от порчи и сглаза.
     
  14. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    какая проблема морфить исходники ЯВУ на этапе компиляции? в сишечке и плюсах можно вставить любую асм-вставку в кол... если нужно что-то более близкое к машине, то можно морфить скажем LLVM IR Сlang'a или GIMPLE у GCC... в GCC можно вклиниться даж на этапе распределения регистров и что-то поморфить через модификацию RTL (register transfer language)...
     
  15. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Так он уже заявил, что кодирование инструкции называет ассемблером. То есть вставил опкод нопа - уже считай ассемблер подрубил.
     
  16. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Векторизация по-прежнему хреновая и сложно поддаётся оптимизациям со стороны компилятора.
     
  17. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    также хреново дело обстоит с out-of-order execution, а про использование векторных регистров в качестве кэша в скалярных кодах совсем речи нет.
    1. речь идёт о том, чтобы морфить на-лету == в циклах зачастую остаются "мёртвые" ветвления, кои в пустую загружают проц, и динамические коды позволяют патчить эти места.
    1.2. асм является наиболее шустрым способом патчить код в озу на ран-тайме.
    2. если про высокоуровневый морф, то наилучшим вариантом являются указатели на функции в с/с++ и довольно неплохо себя может показывать скриптянка.
    ===
    но в любом случае №1 зер убер-гут :)
     
  18. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    насчет GCC не знаю, но в LLVM есть некая векторизация: https://llvm.org/docs/Vectorizers.html

    метаморф имеется ввиду? типа программа модифицирует сама себя и записывает в себя же?
     
  19. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    угу.
     
  20. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    ну кстати метаморф можно запилить и на ЯВУ, которые могут работать с кодом как с данными... например, .NET или Java компилятся в байт-код стековой виртуальной машины, можно из PE или JAR прочитать собственный байт-код, динамически его заморфить, записать байт-код обратно... ну или тот же Python, можно зачитать исполняемый скрипт, распарсить его модулем ast, отморфить его визиторами абстрактного синтаксического дерева и переписать собственный файл... но это все так для лулзов... вряд ли это окажется как то полезно на практике...