x86 mov - тьюринг полная

Тема в разделе "WASM.HEAP", создана пользователем problemaker, 21 янв 2018.

  1. problemaker

    problemaker New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2012
    Сообщения:
    26
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    problemaker,

    Ну и зачем вам это ?
    Обфускация - это чистая сигнатура, думаю авер будет смеяться с такой генерации.
     
  3. problemaker

    problemaker New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2012
    Сообщения:
    26
    Мне плевать на аверов, я просто удивился подобной штуке.
     
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    problemaker,

    А что именно вас удивило, авторы используют пересылки данных для элементарных логических операций. Через это вы косинус не вычислите, так же как и простое деление сделать не сможите, ибо у проца гранулярность байтовая, через пересылку данных битами манипулировать нельзя. А что касается этих тьюрингов - имхо бред полный и древний как говно мамонта. Во времена Тьюринга небыло нормальных вычислительных систем, зачем вспоминать динозавров.
     
    Последнее редактирование: 21 янв 2018
    unc1e нравится это.
  5. unc1e

    unc1e Active Member

    Публикаций:
    2
    Регистрация:
    28 июл 2017
    Сообщения:
    287
    Indy_,
    а если принять байт за бит, при этом условно ограничить диапазон значений до {0, 1}, при этом интерпретировать полученную байтовую последовательность, как последовательность бит?
     
  6. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.329
    Полнота по Тьюрингу означает, что на таком языке можно написать все, что угодно. Т.е. используя одну лишь инструкцию mov, можно написать любую программу для x86.
     
  7. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    rmn,

    Этот критерий был составлен когда небыло CPU. Для любого из современных это смысла не имеет. Понятие вымерло как динозавры.
     
  8. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.329
    Смысл имеет, если у тебя есть ограниченный набор инструкций и нужно решить ими какую-то задачу (абстрагируемся по полной). Доказать, что этим набором инструкций в принципе можно решить эту задачу намного проще, чем пытаться ее решить напрямую.
     
  9. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    rmn,

    Практически пример приведите. Как игры разума можно любую бредовую задачу придумать. Вот только какой в этом смысл.
     
  10. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.329
    Indy_,
    Ну, например, захотел ты написать протектор на базе вм и стать богатым и знаменитым. Какой минимальный набор инструкций должна иметь твоя вм? Тест этого набора на тьюринг-полноту будет достаточным (и необходимым); не нужно будет пытаться завиртуалить (на этапе проектирования) каждую из 2к возможных инструкций x86-64.
     
  11. __sheva740

    __sheva740 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2017
    Сообщения:
    310
    ну вот же ...
    [​IMG]

    скорость вычислений растет из-за большей предсказуемости кода видимо
     
  12. zerodawn

    zerodawn Member

    Публикаций:
    0
    Регистрация:
    16 янв 2018
    Сообщения:
    94
    А ветвления как? :lol:

    Какая-то странная тьюринг полнота происходит раз даже квадратное уравнение не решить
     
  13. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.329
    Как в брейнфаке :)