Gosto de saber a fundo... Esse asm é simples assim ou ele está chamando dunçoes externas ?
asm { -> FST(0) Extended argument } { <- EDX:EAX Result } SUB ESP,12 FNSTCW [ESP].Word // save FNSTCW [ESP+2].Word // scratch FWAIT OR [ESP+2].Word, $0F00 // trunc toward zero, full precision FLDCW [ESP+2].Word FISTP qword ptr [ESP+4] FWAIT FLDCW [ESP].Word POP ECX POP EAX POP EDX end; Marcelo Silva Cel. 11 9693-4251 ICQ - 49224093 MSN [EMAIL PROTECTED] ----- Original Message ----- From: Marcelo Almeida To: [EMAIL PROTECTED] Sent: Friday, September 17, 2004 9:20 AM Subject: Re: [delphi-br] OFF: Uma função com 2408 linhas! Marcelo Silva wrote: >Claro que não é só para esta função ... pois lá tem muitas outras funções ... na verdade a função Trunc nem está na Unit citada que é a System.pas mas deve estar em uma dll veja: > >function _ftruncate(Handle: Integer; Filesize: Integer): Integer; cdecl; > external libc name 'ftruncate'; > > ftruncate não é trunc. Se vc reparar este ftruncate, ele chama a libc, que só existe no linux. O Trunc fica mesmo na system.pas e o código é : asm { -> FST(0) Extended argument } { <- EDX:EAX Result } SUB ESP,12 FNSTCW [ESP].Word // save FNSTCW [ESP+2].Word // scratch FWAIT OR [ESP+2].Word, $0F00 // trunc toward zero, full precision FLDCW [ESP+2].Word FISTP qword ptr [ESP+4] FWAIT FLDCW [ESP].Word POP ECX POP EAX POP EDX end; -- Marcelo Almeida -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: ------------------------------------------------------------------------------ Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html