Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > ASM y Microcontroladores
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 16-02-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Hola!

Felicidades por la nueva sección. Creo que se verán cosas muy interesantes por aquí. Mis nociones de ensamblador son muy reducidas, pero siempre me ha llamado la atención el tema. Debido a que Andreano no me ha conseguido todavía información sobre la siguiente función, tal vez entre Javier, Domingo y otros maestros de esta disciplina, junto con algunos curiosos como yo podamos indagar un poco más sobre qué pretendía Borland con esta rutina:

(en System.pas de Delphi 7 y algunas otras versiones)
Código Delphi [-]
procedure       _CopyObject{ dest, source: Pointer; vmtPtrOffs: Longint; typeInfo: Pointer };
asm
        { ->    EAX pointer to dest             }
        {       EDX pointer to source           }
        {       ECX offset of vmt in object     }
        {       [ESP+4] pointer to typeInfo     }

        ADD     ECX,EAX                         { pointer to dest vmt }
        PUSH    dword ptr [ECX]                 { save dest vmt }
        PUSH    ECX
        MOV     ECX,[ESP+4+4+4]
        CALL    _CopyRecord
        POP     ECX
        POP     dword ptr [ECX]                 { restore dest vmt }
        RET     4

end;

Tuve la ocasión de estudiarla, junto con _CopyRecord. Ésta última me deja tranquilo respecto a su funcionamiento y uso por parte del compilador, pero sospecho que _CopyObject no hace lo que se esperaría con todos los campos de la clase que llevan contadores de referencia, además de que no parece haber instrucción Pascal que el compilador convierta a una implícita llamada a _CopyObject.

Un abrazo ensamblado.

Al González.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Adios DTG bienvenido Code Gear. Epachsoft Noticias 5 17-11-2006 04:07:34
¡Bienvenido al ClubDelphi! dec La Taberna 14 19-07-2006 01:31:49
PHP 5 RC1: Bienvenido al maravilloso mundo de los objetos kinobi PHP 1 20-03-2004 21:32:51


La franja horaria es GMT +2. Ahora son las 08:19:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi