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

 

Responder a