Sto cercando di creare un sottoinsieme minimo universale di opcode alfanumerici x86. Alla fine voglio che il sottoinsieme contenga il minor numero possibile di istruzioni, e se ci sono più sottoinsiemi minimi, voglio saperlo anche io. Il sottoinsieme dovrebbe essere in grado di simulare qualsiasi programma che possa essere scritto con l'intera serie di istruzioni alfanumeriche. Le istruzioni devono riguardare solo le istruzioni che corrispondono ai caratteri "A-Z", "a-z" e "0-9".Set completo di istruzioni alfanumeriche x86 di Turing (sottoinsieme)
Finora penso che un push
, pop
, inc
, dec
, cmp
, e je
sarebbe sufficiente, ma sono sicuro che ci sia un insieme ridotto. Come potrei provare a dimostrare che un set che ho generato è in grado di simulare qualsiasi programma utilizzando tutte le istruzioni alfanumeriche? Come potrei dimostrare che un tale insieme è minimo? Qualcuno sa se esiste un sottoinsieme di istruzioni di questo tipo?
È possibile eliminare "inc" o "dec' dall'elenco, non è necessario averli entrambi. :) –
Can not 'inc' e' dec' essere sostituito da un 'numero negativo' che accetta? Add'? – Nyerguds
Come ha detto Alexey, solo uno di 'inc' o' dec' è necessario, perché alla fine si verificherà un overflow. – cytinus