Halt and Catch Fire: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile
Nessun oggetto della modifica
Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile
Riga 27:
<code>lock cmpxchg8b eax</code>
 
L'istruzione comparerebbe il valore dei registri ''edx'' e ''eax'' con un valore a 8 byte di una locazione di memoria, ma in questo caso al posto della locazione di memoria è usato un registro della CPU. In circostanze normali, l'istruzione provocherebbe un'eccezione, ma l'uso del prefisso ''lock'' (che di solito previene l'accesso contemporaneo di due processiprocessori alla stessa locazione di memoria) spinge la CPU ad utilizzare una modalità di accesso al bus non consentita, bloccando l'esecuzione immediatamente dopo.
Tale comportamento è conosciuto con il nome ''Pentium F00F bug''. Sebbene nessun compilatore generi codice macchina con tale istruzione, un hacker può inserirla appositamente in un programma causando il blocco del computer dove questo venga eseguito.