Я хочу создать минимальное универсальное в вычислительном отношении подмножество буквенно-цифровых кодов операций x86. В конце концов я хочу, чтобы подмножество содержало как можно меньше инструкций, и если есть несколько минимальных подмножеств, я также хочу это знать. Подмножество должно быть в состоянии имитировать любую программу, которая может быть написана с полным набором буквенно-цифровых инструкций. Инструкции должны охватывать только те инструкции, которые соответствуют символам «A-Z», «a-z» и «0-9».
На данный момент я думаю, что push
, pop
, inc
, dec
, cmp
и je
будет достаточно, но я уверен, что есть меньший набор. Как мне доказать, что сгенерированный мной набор способен имитировать любую программу, использующую все буквенно-цифровые инструкции? Как доказать, что такое множество минимально? Кто-нибудь знает, существует ли такое подмножество инструкций?
inc
, либоdec
, вам не обязательно иметь оба. :) - person Alexey Frunze   schedule 23.05.2012inc
иdec
заменить одним отрицательным числомadd
? - person Nyerguds   schedule 04.07.2012inc
илиdec
, потому что в конечном итоге произойдет переполнение. - person cytinus   schedule 05.07.2012andn
). Вы можете эмулировать добавление с помощью цикла, который генерирует и распространяет перенос до тех пор, пока вы не обработаете все переносы. - person Peter Cordes   schedule 09.02.2021vextractf128
иxchg
, который имеет неявный префиксlock
, что делает его атомарным RMW. (В отличие отcmpxchg8b
и других инструкций, которые принимаютlock
.) Иvfmadd132ps
FP FMA. Вы имели в виду, что запрещаете пробел в мнемонике, то есть без префиксов? - person Peter Cordes   schedule 09.02.2021