Pergunta

Na montagem x86, como posso realizar um salto incondicional de uma seção outra?

Por exemplo:

.section .text
main:    ...
         jmp here
         ...

.section .another
here:    ...

Eu acho que isso é um salto longe. Eu recebo um segfault ao tentar executar isso. Alguma solução alternativa?

Foi útil?

Solução

Como você não especificou qual tipo de montagem (NASM, GAS, MASM, TASM)

Se você sabe qual segmento é o here a parte é, por exemplo, se o .section A parte está no segmento de código 0x8, então você pode fazer isso:

jmp 0x8:here

Você pode definir a constante para especificar o segmento e usá -lo também ... novamente sua milhagem variará dependendo do assembler.

Espero que isso ajude, cumprimentos, Tom.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top