dbo:abstract
|
- Az informatika területén az önmódosító kód (self-modifying code) olyan programkód, ami közben megváltoztatja saját utasításait – általában az csökkentése és a teljesítmény növelése céljából, vagy egyszerűen a különben ismétlődő jellegű kód rövidítése, így a karbantartás egyszerűsítése érdekében. Az önmódosítás a „-beállítást” követő alternatívája, általában abból a célból, hogy a feltételek tesztelésének számát csökkentsék. Az „önmódosító kód” kifejezést csak olyan programkódra használják, ami szándékoltan módosítja önmagát, a programozó szándékával ellentétesen (pl. puffertúlcsordulás miatt) módosuló kódra nem. A módszert gyakran használják teszt/debug célú kódrészletek az I/O ciklusokra eső többletszámítások (overhead) nélküli, feltételes előhívására. A módosítások történhetnek:
* kizárólag inicializálás közben – a bemeneti paraméterek alapján (ilyenkor a folyamat leírható úgy is, mint a szoftver konfigurálása és hardveres terminológiában nagyjából megfeleltethető a nyomtatott áramköri kártyákon a beállításának). A program belépési pontjaira mutató pointerek megváltoztatása az önmódosítással egyenértékű módszer, de szükségessé teszi a programkódban egy vagy több alternatív utasítás-útvonal létezését, növelve a bináris fájl méretét.
* futásidő alatt ('on-the-fly') – a futás során bekövetkező programállapotoktól függően A két eset bármelyikében a módosítások maguknak a gépi kódú utasításoknak a felülírásával végezhetők, például egy összehasonlítás és feltételes elágazás lecserélésével feltétel nélküli vezérlésátadásra vagy utasításra. Az IBM/360 és a utasításkészletében egy EXECUTE (EX) utasítás üzemszerűen felülírja a célutasítás második bájtját az 1. általános célú regiszter alsó 8 bitjével, a platformon ez az (időleges) utasításmódosítás standard és legitim módja. (hu)
- Az informatika területén az önmódosító kód (self-modifying code) olyan programkód, ami közben megváltoztatja saját utasításait – általában az csökkentése és a teljesítmény növelése céljából, vagy egyszerűen a különben ismétlődő jellegű kód rövidítése, így a karbantartás egyszerűsítése érdekében. Az önmódosítás a „-beállítást” követő alternatívája, általában abból a célból, hogy a feltételek tesztelésének számát csökkentsék. Az „önmódosító kód” kifejezést csak olyan programkódra használják, ami szándékoltan módosítja önmagát, a programozó szándékával ellentétesen (pl. puffertúlcsordulás miatt) módosuló kódra nem. A módszert gyakran használják teszt/debug célú kódrészletek az I/O ciklusokra eső többletszámítások (overhead) nélküli, feltételes előhívására. A módosítások történhetnek:
* kizárólag inicializálás közben – a bemeneti paraméterek alapján (ilyenkor a folyamat leírható úgy is, mint a szoftver konfigurálása és hardveres terminológiában nagyjából megfeleltethető a nyomtatott áramköri kártyákon a beállításának). A program belépési pontjaira mutató pointerek megváltoztatása az önmódosítással egyenértékű módszer, de szükségessé teszi a programkódban egy vagy több alternatív utasítás-útvonal létezését, növelve a bináris fájl méretét.
* futásidő alatt ('on-the-fly') – a futás során bekövetkező programállapotoktól függően A két eset bármelyikében a módosítások maguknak a gépi kódú utasításoknak a felülírásával végezhetők, például egy összehasonlítás és feltételes elágazás lecserélésével feltétel nélküli vezérlésátadásra vagy utasításra. Az IBM/360 és a utasításkészletében egy EXECUTE (EX) utasítás üzemszerűen felülírja a célutasítás második bájtját az 1. általános célú regiszter alsó 8 bitjével, a platformon ez az (időleges) utasításmódosítás standard és legitim módja. (hu)
|