Opcode: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
Labels: Bewerking via mobiel Bewerking via mobiele website |
→Ongedocumenteerde opcodes: nauwkeuriger |
||
Regel 18:
==Ongedocumenteerde opcodes==
De fabrikant van een computer of processor geeft documentatie uit waarin de opcodes beschreven worden, zodat het mogelijk is software te ontwikkelen. Nu zullen er haast altijd bitcombinaties zijn die niet beschreven zijn. Meestal zwijgt de fabrikant hierover, of hij beschrijft ongedocumenteerde opcodes met woorden als 'gereserveerd' of 'onvoorspelbaar gedrag'. Ook is het mogelijk dat een ongedocumenteerde opcode een gedocumenteerde [[interrupt]] veroorzaakt.
Natuurlijk zullen er altijd mensen zijn die deze ongedocumenteerde opcodes uitproberen. Soms blijkt dat ze hetzelfde doen als een andere, wel gedocumenteerde opcode. Meestal komt dat doordat de elektronica van de processor zo eenvoudig mogelijk is gehouden. Het komt ook weleens voor dat een ongedocumenteerde
Sommige softwareontwikkelaars gebruiken de ongedocumenteerde
Het is enigszins riskant een ongedocumenteerde
Een beroemde ongedocumenteerde instructie is [[LOADALL]]. Deze instructie is te vinden in de [[80286]] en de [[80386]] - niet in latere processors. De opcodes zijn niet gelijk: op de 80286 is het 0F05 en op de 80386 0F07, en het gedrag is ook niet gelijk. Het was vrijwel onmogelijk deze gecompliceerde instructie te ontdekken door het gedrag van de processor te onderzoeken, en hij is dan ook bekend geworden doordat een document van [[Intel]] is uitgelekt. De instructie was bedoeld om de processor te kunnen testen, maar hij bleek zeer bruikbaar om het volledige geheugen te adresseren terwijl de processor in [[real mode]] stond. De instructie werd dan ook in veel commerciële software toegepast.
|