main() { printf(“Hola Mundo!”); } Código de Máquina Llamada a API del S.O. para imprimir carácter en pantalla ISFDyT Nº189 – Programación I – Lic. Guillermo R. Cherencio"> main() { printf(“Hola Mundo!”); } Código de Máquina Llamada a API del S.O. para imprimir carácter en pantalla ISFDyT Nº189 – Programación I – Lic. Guillermo R. Cherencio">

La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Problema a Resolver: mostrar por pantalla el mensaje “Hola Mundo!”

Presentaciones similares


Presentación del tema: "Problema a Resolver: mostrar por pantalla el mensaje “Hola Mundo!”"— Transcripción de la presentación:

1 Problema a Resolver: mostrar por pantalla el mensaje “Hola Mundo!”
Programa escrito en lenguaje Ensamblador (Assembler) Vs Programa escrito en lenguaje C Problema a Resolver: mostrar por pantalla el mensaje “Hola Mundo!” ISFDyT Nº189 – Programación I – Lic. Guillermo R. Cherencio

2 El mismo problema resuelto en Ensamblador y C
Ensamblador (Macro Assembler) Lenguaje C (GCC) .MODEL SMALL .STACK .CODE START: JMP BEGIN MyMessage db "Hola Mundo!$" BEGIN: MOV DX,OFFSET MyMessage MOV AX,SEG MyMessage MOV DS,AX MOV AH,9 MOV AX,4c00h INT 21h END START #include <stdio.h> main() { printf(“Hola Mundo!”); } Código de Máquina Llamada a API del S.O. para imprimir carácter en pantalla ISFDyT Nº189 – Programación I – Lic. Guillermo R. Cherencio

3 COMPILADOR ENSAMBLADOR
Compilación .MODEL SMALL .STACK .CODE START: JMP BEGIN MyMessage db "Hola Mundo!$" BEGIN: MOV DX,OFFSET MyMessage MOV AX,SEG MyMessage MOV DS,AX MOV AH,9 MOV AX,4c00h INT 21h END START #include <stdio.h> main() { printf(“Hola Mundo!”); } COMPILADOR LENGUAJE C (GCC) COMPILADOR ENSAMBLADOR (MACRO ASSEMBLER) Lenguaje de Máquina ISFDyT Nº189 – Programación I – Lic. Guillermo R. Cherencio

4 Compilación y Linkedición
PROGRAMA FUENTE (SOURCE) Ejemplo de Compilación y Linkedición en Lenguaje C COMPILADOR LIBRERIAS o BIBLIOTECAS PROGRAMA COMPILADO (OBJETO) gcc -o p1.exe p1.c Ejecutable Fuente LINKEDITOR PROGRAMA EJECUTABLE ISFDyT Nº189 – Programación I – Lic. Guillermo R. Cherencio

5 Compilación y Linkedición en Lenguaje C
Ejecutable Fuente gcc -o p1.exe p1.c Compilado Fuente gcc -c -o p1.o p1.c ISFDyT Nº189 – Programación I – Lic. Guillermo R. Cherencio

6 Compilación en Lenguaje C
PROGRAMA FUENTE (SOURCE) Se resuelven las sentencias de tipo #... Ej: #define, #include y luego se compila 1º) PREPROCESADOR *.obj *.o *.h 2º) COMPILADOR PROGRAMA COMPILADO (OBJETO) Proceso de Compilación “en dos pasadas” ISFDyT Nº189 – Programación I – Lic. Guillermo R. Cherencio

7 Linkedición LIBRERIAS PROGRAMA o COMPILADO BIBLIOTECAS (OBJETO)
Ejemplo de Compilación y Linkedición en Lenguaje C, usando una librería propia (libmycode.a) Núcleo Lenguaje C (ANSI) De Terceros Propias *.obj *.o gcc -o p1.exe p1.c -lmycode *.lib *.a LIBRERIAS o BIBLIOTECAS PROGRAMA COMPILADO (OBJETO) Librería Reutilización de código Ejecutable LINKEDITOR Fuente PROGRAMA EJECUTABLE *.exe ISFDyT Nº189 – Programación I – Lic. Guillermo R. Cherencio

8 Ensamblado de Librerías estáticas
Objetos standard. Escritos en distintos lenguajes. Ejemplo de Ensamblado de Librería estática *.obj *.o ar rcs libmycode.a prog1.o prog2.o LIB.EXE (DOS,WIN) ar (UNIX, LINUX) Objetos con funciones PROGRAMAS COMPILADOS (OBJETOS) Librería a crear Administrador de Librería ADMNISTRADOR DE LIBRERIA Librería estática lista para ser usada en distintos proyectos *.lib *.a LIBRERÍA ISFDyT Nº189 – Programación I – Lic. Guillermo R. Cherencio


Descargar ppt "Problema a Resolver: mostrar por pantalla el mensaje “Hola Mundo!”"

Presentaciones similares


Anuncios Google