PROGRAMACION HIBRIDA
Enviado por raulfenix121 • 9 de Junio de 2014 • 1.258 Palabras (6 Páginas) • 549 Visitas
UNIDAD VI PROGRAMACION HIBRIDA
4.1 Directivas para Compilación Hibrida
La programación hibrida es utilizada en los casos en donde el código en ensamblador dificulta la estructuración del programa. La programación híbrida 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 más rápidos y eficientes.
Las directivas de programación hibrida son aquellas que nos permiten ejecutar los comandos de ensamblador en un lenguaje de alto nivel.
Ejemplo: la red es el siguiente donde utilizamos código en ensamblador y código pascal. El siguiente código sirve para limpiar pantalla, está escrito en ensamblador dentro de una función en pascal, lo que es lo mismo a la función ClrScr en pascal.
Procedure
Limpia_Pantalla;
Assembler;
Asm
Mov AX, 0600h
Mov BH, 18h
Mov CX, 0000h
Mov DX, 184Fh
Int 10h
End;
4.2 Funciones en Lenguaje Ensamblador
Las directivas de programación hibrida son aquellas que nos permiten ejecutar los comandos de ensamblador en un lenguaje de alto nivel.
Turbo Pascal permite escribir procedimientos y funciones en códigoensamblador e incluirlas como parte de los programas en lenguaje Pascal; paraesto, Turbo Pascal cuenta con dos palabras reservadas: Assembler y Asm.
Assembler permite indicarle a Turbo Pascal que la rutina oprocedimiento que se está escribiendo está totalmente escrita en códigoensamblador. Por otro lado, Asm nos permite incluir bloques de instruccionesen lenguaje ensamblador en cualquier parte del programa sin necesidad deescribir procedimientos completos en ensamblador.
Ejemplo de un procedimiento hibrido:
Procedure Limpia_Pantalla;
Assembler;
AsmMov AX,0600h ; procedimiento Clr Scr de la unidad CRT de TurboPascal
Mov BH,18h
Mov CX,0000h
Mov DX,184Fh
Int 10h
End;
Ejemplo de un programa con un bloque de instrucciones en ensamblador:
; El programa solicita que se introduzcan dos números, después calcula la suma por medio de la instrucción Add de ensamblador y finalmente imprime el resultado en la pantalla.
; realiza la suma de dos cantidades enteras (N1 y N2) introducidas previamente por el usuario, después almacena el resultado en la variable Res y finalmente presenta el resultado en la pantalla.
Program hibrido;
Uses Crt;
Var
N1,N2,Res : integer;
Begin
Writeln(“Introduce un número: “);
Readln(N1);
Writeln(“Introduce un número: “);
Readln(N2);
Asm
Mov AX,N1;
Add AX,N2;
Mov Res,AX
End;
Writeln(“El resultado de la suma es: “,Res);
Readln;
End
4.2. Funciones ensamblador
INT 21H
La mayoría de servicios ó funciones del sistema operativo MS-DOS se obtienen a través de la interrupción software 21H. Es por esto que se le denomina DOS-API: DOS-APPLICATION-PROGRAM-INTERFACE La INT 21H está compuesta por un grupo de funciones. Cuando se accede a la INT 21H, hay que indicar el número de función que queremos ejecutar. La llamada a la INT 21H se realizará como sigue:
INT 21H Función 01H
Entrada de Carácter con eco (ó salida)
INT 21H Función 02H
Salida de Carácter
INT 21H Función 05H
Envío de Carácter a la Impresora
INT 21H Función 06H
Envío de Carácter a la pantalla como símbolo
INT 21H Función 09H
Visualización de una cadena de caracteres
INT 21H Función 0AH
Leer cadena de símbolos desde teclado y su código se almacena al buffer
INT 21H Función 0BH
Comprobación del estado de la entrada
INT 21H Función 0EH
Selección de disco
INT 21H Función 19H
Obtener disco actual
INT 21H Función 39H
Crear directorio
INT 21H Función 3AH
Borrar directorio
INT 21H Función 3BH
Establecer directorio actual
INT 21H Función 47H
Obtener directorio actual
INT 21H Función 3CH
Crear Fichero
INT 21H Función 3DH
Abrir Fichero
INT 21H Función 3EH
Cerrar Fichero
INT 21H Función 3FH
...