Fórum Delphi e Compilação #224331
04/04/2004
0
Olá.......
Almirus sou. Gostaria de saber como poderia redirecionar a execução de um programa para um ponto específico do mesmo (sem usar coisas do tipo [b:0aaf7f8699]case[/b:0aaf7f8699], [b:0aaf7f8699]go to[/b:0aaf7f8699], etc., mas com base no código já compilado). Sei que isso deve ser feito em Assembler, mas sei tb que Delphi tem um Assembler embutido (tipo [b:0aaf7f8699]asm[/b:0aaf7f8699] ... [b:0aaf7f8699]end[/b:0aaf7f8699]). Help-me Please
Almirus sou. Gostaria de saber como poderia redirecionar a execução de um programa para um ponto específico do mesmo (sem usar coisas do tipo [b:0aaf7f8699]case[/b:0aaf7f8699], [b:0aaf7f8699]go to[/b:0aaf7f8699], etc., mas com base no código já compilado). Sei que isso deve ser feito em Assembler, mas sei tb que Delphi tem um Assembler embutido (tipo [b:0aaf7f8699]asm[/b:0aaf7f8699] ... [b:0aaf7f8699]end[/b:0aaf7f8699]). Help-me Please
Almirus
Curtir tópico
+ 0
Responder
Posts
05/04/2004
Nildo
Você deve usar o JMP (Jump) do assembler, mas para isso você deve saber o local específico da memória que deseja executar.
Você tem que trocar este $12345678 para o local específico (endereço da memória) do ponde de execução onde deseja executar.
Mas se você usar um [b:195204827e]Go to[/b:195204827e], o compilador já troca automaticamente para um JMP internamente.
Só não sei se vai funcionar pois nunca testei, mas se você falou em assembler esta é a unica maneira que conheço.
asm jmp $12345678 end;
Você tem que trocar este $12345678 para o local específico (endereço da memória) do ponde de execução onde deseja executar.
Mas se você usar um [b:195204827e]Go to[/b:195204827e], o compilador já troca automaticamente para um JMP internamente.
Só não sei se vai funcionar pois nunca testei, mas se você falou em assembler esta é a unica maneira que conheço.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)