Pregunta¿Buenos recursos para usar Assembly en Delphi?
¿Hay algún recurso para aprender a usar el ensamblaje en Delphi?
Antecedentes
que he encontrado y leído algunos de la Asamblea General y del conjunto de instrucciones referencias (x86, MMX, SSE, etc). Pero me resulta difícil aplicar esa información en Delphi. Aspectos generales, como cómo obtener el valor de una propiedad de clase, etc.
Me gustaría tener la opción para utilizar el ensamblaje al optimizar el código.
entiendo:
- será difícil de batir el compilador.
- Es mucho más probable que las técnicas de optimización de alto nivel aumenten el rendimiento en varios órdenes de magnitud sobre las optimizaciones de ensamblaje de bajo nivel. (Como elegir diferentes algoritmos, almacenamiento en caché, etc.)
- La creación de perfiles es vital. Estoy usando Sampling Profiler para el análisis del rendimiento en el mundo real y recuentos de ciclo de CPU para detalles de bajo nivel.
estoy interesado en aprender cómo utilizar el montaje en Delphi porque:
- No se pierde nada con tener una herramienta más en la caja de herramientas.
- Esto ayudará a comprender la salida del conjunto generado por el compilador.
- Entender lo que hace el compilador puede ayudar a escribir un mejor código pascal.
- Tengo curiosidad.
Solo escribirlo en ensamblaje, no lo hará más rápido. Escribirlo en ensamblaje de una manera más inteligente/más rápida que el compilador pensó, podría. Es probable que la funcionalidad de obtener una propiedad de clase no ocupe su tiempo; es probable que las manipulaciones sobre el valor de la propiedad sean lo que desea intentar en el ensamblaje. – PtPazuzu
No creo que haya libros Delphi-plus-assembler. Tomaría los valores de las propiedades de la clase, usando el código pascal normal, almacenando el resultado en una variable local, y luego usaría la referencia de variable local en mi ensamblador en línea, por ejemplo. Pregunta relacionada para libros generales sobre X86 asm; http: //stackoverflow.com/questions/4845/good-x86-assembly-book –
@PtPazuzu: Sí, la manipulación de valores es el objetivo. Pero ayudaría a entender lo básico primero. En definitiva, estoy buscando SSE como una fuente de posibles aceleraciones. Delphi no aprovecha las instrucciones de SSE en absoluto, ¿verdad? – Shannon