Nel mio portatile x86_64, per eseguire salti di lunghezza arbitraria rispetto alla posizione corrente, non conoscendo a priori: ne l'indirizzo dell'istruzione di salto, ne la sua distanza in byte da una label; utilizzo una spiazzamento rispetto all'indirizzo dell'ip register, in questo modo,Cosi avremmo ip <- ip+spiaz.codice:jmpq *spiaz(%rip)
Quest'oggi ho provato a eseguire quest'istruzione, sotto un'architettura i686,ma, l'assemblatore m'ha informato dell'illegalità dell'istruzione( ora non ricordo l'errore ). In sostanza non è possibile leggere il puntatore di programma. Sapreste suggerirmi qualche raggiro per sapere l'indirizzo contenuto nell'ip, o come saltare rispettando le condizioni su dette, con un'architettura i686?codice:jmp *spiaz(%eip)

Rispondi quotando