Académique Documents
Professionnel Documents
Culture Documents
Carrera
Ingeniera en Sistemas Computacionales
Docente
Enrique Ponce Rivera
Trabajo
Programacin Hibrida
Alumnos
Hctor Manuel Gutirrez Zapata Alejandro Calzada Rodrguez Jos Antonio Romero Gonzlez
Programacin Hibrida
La programacin hbrida proporciona un mecanismo por medio del cual podemos aprovechar las ventajas del lenguaje ensamblador y los lenguajes de alto nivel, todo esto con el fin de escribir programas ms rpidos y eficientes. Por otro lado, Asm nos permite incluir bloques de instrucciones en lenguaje ensamblador en cualquier parte del programa sin necesidad de escribir procedimientos completos en ensamblador. En la programacin software, sistemas hbridos inteligentes denotan a los sistemas software que emplean, en paralelo, una combinacin de modelos de inteligencia artificial, mtodos y tcnicas de stos subcampos. Cada sistema inteligente natural es un hbrido porque stos desarrollan operaciones mentales tanto en niveles simblicos como sub-simblicos. Desde hace pocos aos se ha ido desarrollando una discusin sobre la importancia en la inteligencia artificial de la integracin de todos stos sistemas. Basados en las nociones de que se haban ya creado simples y especficos sistemas de inteligencia artificial (como sistemas para la visin de computadores, sntesis del habla, etc., o software que emplean alguno de los modelos mencionados arriba) algunos autores proponen a que es ahora el momento de la integracin para crear complejos, grandes sistemas de inteligencia artificial.
La programacin en lenguaje ensamblador proporciona un mayor control sobre el hardware de la computadora, pero tambin dificulta la buena estructuracin de los programas. La programacin hbrida proporciona un mecanismo por medio del cual podemos aprovechar las ventajas del lenguaje ensamblador y los lenguajes de alto nivel, todo esto con el fin escribir programas ms rpidos y eficientes
SumarDosEnteros( int a, int b ) { int result; __asm { mov eax, a add eax, b mov result, eax } return result; }
int main(array<System::String ^> ^args) { int a = 300, b = 255, c = 0; c = SumarDosEnteros(a,b); Console::WriteLine(c); getch(); return 0; }
En este momento el lenguaje ensamblador constituye una herramienta no solo eficaz, sino simple para producir un parche para el compilador de nuestro lenguaje preferido. Tal vez el mayor problema con el que nos enfrentemos sea el de cmo conectar ambos programas (el de alto y el de bajo niveles) y cmo pasar variables de un programa al otro. Para conseguir nuestro objetivo se utilizan pseudo-operadores, es decir, instrucciones que aparecen en el cdigo fuente del ensamblador pero que no generan ninguna instruccin de mquina, pero proporcionan directivas para que el ensamblador pueda operar con datos, ramificaciones condicionales, generacin de listados y con macros durante el proceso de ensamble.
Bibliografa
Steve McConnell: Code Complete.Estados Unidos: Microsoft Press, 1994. SBN 1-55615-4844. http://www.monografias.com/trabajos11/lenen/lenen2.shtml. Microprocesadores: El 8088/86. F. Remiro Domnguez y A. Martn Garca. Ed. AKAL-Biblioteca Tecnolgica