nicka 24.02.2013 12:33 notebook

Известно, что одной инструкции условного перехода по вычитанию (вычисли a = a-b, и если это меньше или равно нуля, перейди в c) достаточно для Тьюринг-полноты. В этом хаке такая инструкция симулируется с помощью последовательности page faults (от невозможности загрузить данные), которая заканчивается double fault (когда указатель на стек уменьшается ниже нуля).
[...]
Любопытно, что ни один существующий эмулятор x86 не мог правильно запустить этот хак, потому что он опирается на слишком извращенную конфигурацию контрольных таблиц, и на тонкие нюансы поведения процессора в этой извращенной конфигурации.
[...]
у всего этого даже есть практические применения — обнаружение того, что программа бежит под отладчиком или в виртуальной машине.
< http://news.ycombinator.com/item?id=5261...
< http://en.wikipedia.org/wiki/One_instruc...
< https://github.com/jbangert/trapcc>
#tsogig

Do you really want to delete ?