PDA

Ver la Versión Completa : Bienvenido el foro ASM


egostar
15-02-2008, 20:09:00
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 (http://www.clubdelphi.com/foros/showpost.php?p=265059&postcount=266) :D:D:D

Salud OS

ixMike
15-02-2008, 20:12:17
Será que por este canal veremos la gran pelea (http://www.clubdelphi.com/foros/showpost.php?p=265059&postcount=266) :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, 20: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, 20:22:00
hace tanto tiempo que no veo ASM....

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

poliburro
15-02-2008, 20: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, 20: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, 20:31:52
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 (http://www.clubdelphi.com/foros/showpost.php?p=265059&postcount=266) :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, 20:39:05
Esto si que es todo un acontecimiento!!!


Y, ¿para cuando la pelea? :rolleyes:

enecumene
15-02-2008, 20: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, 20:49:47
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, 18: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)

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, 19: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, 19: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, 01:13:01
...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:

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, 01:21:08
...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, 03: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