Per quanto riguarda 0xCCe 0xCDin particolare, questi sono reperti del Intel 8088 / 8086 set di istruzioni del processore di nuovo nel 1980. 0xCCè un caso speciale del codice operativo di interruzione del software . La speciale versione a byte singolo consente a un programma di generare interrupt 3 .INT 0xCD0xCC
Sebbene i numeri di interruzione del software siano, in linea di principio, arbitrari, INT 3veniva tradizionalmente utilizzato per la funzione break o breakpoint del debugger , una convenzione che rimane fino ai giorni nostri. Ogni volta che viene avviato un debugger, viene installato un gestore di interruzioni in modo INT 3tale che quando viene eseguito quel codice operativo verrà attivato il debugger. In genere mette in pausa la programmazione in esecuzione e mostra un prompt interattivo.
Normalmente, il INTcodice operativo x86 è di due byte: 0xCDseguito dal numero di interruzione desiderato compreso tra 0 e 255. Ora anche se si potrebbe emettere 0xCD 0x03per INT 3, Intel ha deciso di aggiungere una speciale version-- 0xCCsenza ulteriore byte - perché un codice operativo deve essere un solo byte in modo da funzionare come un affidabile 'di riempimento byte' per la memoria inutilizzata.
Il punto qui è consentire un recupero corretto se il processore salta erroneamente nella memoria che non contiene alcuna istruzione prevista . Le istruzioni multi-byte non sono adatte a questo scopo poiché un salto errato potrebbe atterrare a qualsiasi possibile offset di byte in cui dovrebbe continuare con un flusso di istruzioni correttamente formato.
Ovviamente, i codici operativi a un byte funzionano in modo banale per questo, ma ci possono anche essere eccezioni bizzarre: ad esempio, considerando la sequenza di riempimento 0xCDCDCDCD(menzionata anche in questa pagina), possiamo vedere che è abbastanza affidabile poiché non importa dove il puntatore dell'istruzione atterra ( eccetto forse l'ultimo byte riempito), la CPU può riprendere l'esecuzione di un'istruzione x86 a due byte valida CD CD, in questo caso per la generazione dell'interrupt software 205 (0xCD).
Ancora più strano, mentre CD CC CD CCè interpretabile al 100% - dando una INT 3o INT 204- la sequenza CC CD CC CDè meno affidabile, solo il 75% come mostrato, ma generalmente il 99,99% quando ripetuto come riempitivo di memoria di dimensioni int.

Macro Assembler Reference , 1987