Jump to content

Dúvida na conversão de procedure de .dll para .exe


Recommended Posts

Posted
procedure Validate; assembler;

asm

mov eax,ADDRESS

call eax

end;

seu fazer isso em uma dll funfa corretamente,porém se usar isso em um .exe da aparece ''acesso violado''... Usando Written e Creathread como fica em .exe ?

Posted (edited)

Olá rubens, eu aqui estou tentando entender, o que você esta chamando.

assim MOV EAX,ADDRESS esta falando para o compilador MOVA O CONTEUDO DE ADDRESS PARA EAX, ao invés de passar o endereço,

que eu lembre a diretiva assembly e só usada no turbo pascal no delphi que utiliza o BASM para compilar não e mais necessário.

Exemplo de código

program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
function Soma(Z,X:integer):integer;
var
 Aux:integer;
begin
ASM
   MOV EAX,Z
   ADD EAX,X
   MOV Aux,EAX
END;
  Soma:=Aux;
end;
begin
writeln(Soma(1,6));
  readln;
end.

testado em delphi 5 e lazarus, no lazarus tem que colocar a diretiva {$ASMMODE intel} para funcionar.

Edited by Maou

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
×
×
  • Create New...

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.