Sui processori che non supportano Intel MPX la documentazione dice che tutte le istruzioni MPX sono NOP. Vale a dire, poiché ho visto tutte queste istruzioni, sembrano tutte 0F 1A /r
o 0F 1B /r
non prefissate o con prefisso F3
, F2
o 66
byte, a seconda dell'istruzione. Inoltre, ci sono dichiarazioni come per BNDMK
:Come mai `0F 1A/r` e` 0F 1B/r` sono stati NOP prima di Intel MPX?
La forma reg-reg di questa istruzione mantiene il comportamento legacy (NOP).
Ho provato a cercare questi codici operativi a PDF (vale a dire la mia stringa di ricerca è stata 0F 1
), ma tutto quello che ho trovato c'era solo descrizione delle istruzioni MPX. Osservando il riferimento alle istruzioni dell'insieme di febbraio 2014, ho trovato molte istruzioni di questo modulo, ma non erano NOP, ad es. F2 0F 12 /r
è MOVDDUP
. E cercando specificamente per 0F 1A
e 0F 1B
non ho trovato nulla lì.
In cerca di NOP ho trovato multibyte NOP 0F 1F /0
, ma non coincide con il modulo di istruzioni MPX.
Quindi la mia domanda è, dove è documentato che il comportamento legacy di 0F 1A /r
e 0F 1B /r
è NOP? È una regola generale per questa forma di istruzioni, o forse rappresentano alcune istruzioni non NOP in forma NOP (come 90
in piedi per xchg eax,eax
)?
Quindi ho concluso che si trattava di un documento non documentato per la funzione di pubblico generale, implementato in modo coerente da Intel e AMD fino a MPX e AMD ha appena rilasciato la documentazione per esso. Capito grazie! – Ruslan