Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

jtcgomes

[ASM] Duvida Teorica... INT vs CALL FAR

Recommended Posts

jtcgomes

Olá pessoal alquem me explica Qual a diferença entre uma INT  (interrupção) e um call FAR?

Gostava de saber tambem como funcionam e quais os registos envolvidos...

Já agora, o que são vectores de interrupção??

thanka pelo help


© João Tomé Carvalho Gomes, 2006

Share this post


Link to post
Share on other sites
Njay

Quando executas uma INT, o processador usa o nº da INT para indexar a tabela de vectores de interrupção (ponteiros) e salta para o endereço que foi indexado. A INT também funciona como uma chamada de subrotina, no final da execução do código da INT há um "return" (embora seja um return especial, um IRET). Uma das diferenças principais é que quem invoca a instrução INT não precisa de saber qual é o endereço do código que irá ser executado, basta-lhe saber o indice. Desta forma o código pode até mudar de endereço sem que o programa que faz a chamada deixe de funcionar.

Para mais detalhes tens que pegar num livro sobre isso ou procurar info na net. Com falas em "CALL FAR" assumo que estás a falar de processadores Intel x86, e nesses as coisas também têm um funcionamento diferente dependendo do modo em que estão a executar.

Os vectores de interrupção são ponteiros (endereços) para código, que vivem numa tabela. Em alguns processadores essa tabela está num endereço fixo de memória, noutros existe um registo especial do processador que indica o endereço da tabela.


Blog: Tróniquices ~ Projecto: EmbeddedDreams.com

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.