Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   ASM y Microcontroladores (https://www.clubdelphi.com/foros/forumdisplay.php?f=44)
-   -   Bienvenido el foro ASM (https://www.clubdelphi.com/foros/showthread.php?t=53265)

egostar 15-02-2008 19:09:00

Bienvenido el foro ASM
 
Hola

Pues nada, recien entro al club y veo el nuevo foro ASM, espero que tenga muchos hilos y sobre todo, que nos deje mucho pero mucho conocimiento.....

Será que por este canal veremos la gran pelea :D:D:D

Salud OS

ixMike 15-02-2008 19:12:17

Cita:

Empezado por egostar (Mensaje 266205)
Será que por este canal veremos la gran pelea :D:D:D

¡Me has leído el pensamiento! :D:D

Me gustará aprender, no sé nada de nada de Assembler :(


Salu2!!! ;)

eduarcol 15-02-2008 19:15:03

Hombre por fin, un foro de Aerosol Sin Marca, ya no sabia que hacer con tantos conocimientos al respecto :rolleyes::D

BlueSteel 15-02-2008 19:22:00

hace tanto tiempo que no veo ASM....

quizás podamos recordar viejos tiempos.....

poliburro 15-02-2008 19:27:55

ASM, caramba precisamente hace un par de días al estar desarrollando un cliente SOAP en delphi, me puse a curiocear en una unidad llamada RIO que se carga con el componente HTTPPRIO.

Esta unidad contiene código ensamblador. :P

felipe88 15-02-2008 19:30:59

Assembler ???, ese si que me gustaria conocerlo un poco... es bueno aprender algo nuevo, aunque no lo sea tanto ;)

Delphius 15-02-2008 19:31:52

Cita:

Empezado por egostar (Mensaje 266205)
Hola

Pues nada, recien entro al club y veo el nuevo foro ASM, espero que tenga muchos hilos y sobre todo, que nos deje mucho pero mucho conocimiento.....

Será que por este canal veremos la gran pelea :D:D:D

Salud OS

Puede ser... yo tengo una idea...
¿Que tal que implementen en assembler una de estas dos cosas?
http://www.clubdelphi.com/foros/showthread.php?t=53205
http://www.clubdelphi.com/foros/showthread.php?t=52999

:D:eek::rolleyes::p

¿Se abre la votación?:D

Saludos,

Gabo 15-02-2008 19:39:05

Esto si que es todo un acontecimiento!!!


Y, ¿para cuando la pelea? :rolleyes:

enecumene 15-02-2008 19:46:45

Bueno, bueno, esto esta interesante, pero les diré que por aquí ni me asomo, eso es chino para mí :D:D

Saludos.

felipe88 15-02-2008 19:49:47

Cita:

Empezado por enecumene (Mensaje 266221)
Bueno, bueno, esto esta interesante, pero les diré que por aquí ni me asomo, eso es chino para mí :D:D

Saludos.

Igual para mi... pero igual se da uno su pasoncito de lectura; eso si por nada metere las narices :D

Al González 16-02-2008 17:56:21

¡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.

Delphius 16-02-2008 18:11:00

Podríamos llamar, si no es muy atrevido de mi parte, a este misterio ensamblado como la "búsqueda del santo grial de Delphi".:)

¿No habrá quedado en desuso? ¿De alguna versión vieja?¿O ya desde la versión 1 que tiene su enigmático significado? Quizás, desistieron de la idea de usarla y quedó allí.:confused:

EDITO:
Me informó ixMike que esta función no está presente en la 3.

Saludos,
PD: A mi también me resulta chino mandarín avanzado.

ixMike 16-02-2008 18:24:05

Esto... tengo que informar que esa función en Delphi 3 no existe. Me picó la curiosidad, quisa llamarla... :eek:¡y no estaba!:confused:

¿Por qué la incluyeron después, entonces?

Yo creo que la tenían para hacer pruebas, y olvidaron borrarla :D


Salu2.

Al González 17-02-2008 00:13:01

Cita:

Empezado por ixMike (Mensaje 266399)
...informar que esa función en Delphi 3 no existe. Me picó la curiosidad, quisa llamarla... :eek:¡y no estaba!:confused:

¿Por qué la incluyeron después, entonces?...

¡Momento! Esta no es una función que podamos llamar escribiendo su nombre. Es parte de la nombrada Magia del Compilador, una serie de funciones "privadas" que el compilador usa en sustitución de estructuras de código comunes.

Por ejemplo, sé que si escribimos una sentencia como:
Código Delphi [-]
Record1 := Record2;
El compilador la transformará en una llamada a la función _CopyRecord.

La función _CopyObject me despierta dos dudas fundamentales:
1. ¿Dónde/cuándo/cómo/para qué la usa el compilador?
2. ¿Por qué _CopyObject llama una sola vez a _CopyRecord, cuando, analizando el código de ambas funciones y haciendo pruebas, tal parece que eso no es suficiente y pareciera que debería llamar a _CopyRecord por cada clase en la herencia del objeto en cuestión?

Desconozco qué versiones de Delphi no incluyen el código fuente de la emblemática unidad System, pero lo que sí es seguro es que en varias versiones, como la 7 y algunas anteriores, podremos encontrar el código fuente de tales funciones si abrimos ese archivo .pas.

Saludos.

Al González. :)

Al González 17-02-2008 00:21:08

Cita:

Empezado por Delphius (Mensaje 266392)
...Podríamos llamar, si no es muy atrevido de mi parte, a este misterio ensamblado como la "búsqueda del santo grial de Delphi".:)...

No creo que sea para tanto Marcelo. Como dices, podría tratarse de algo que dejaron pendiente o a medio terminar. Pero entonces ¿por qué lleva/llevó varias versiones dentro de System.pas? Y sobre todo la curiosidad de saber cómo imaginaban los ingenieros que podría realizarse el copiado "nativo" (o de bajo nivel) de objetos.

Es tema para una interesante investigación. :)

Saludos.

Al.

REHome 17-02-2008 02:53:38

Hola.

Por una vez que pregunto algo de asm del 16F84A en este foroy ni siquiera sabía donde ponerlo, automaticamente ya se abrió esta sección. Espero que crezca. No sólo es el ASM del 8085, 8086, es para cualquier ensamblador de cualquier tipo aunque yo empecé con los PIC.

Un saludos


La franja horaria es GMT +2. Ahora son las 12:07:59.

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