Tarea

Páginas: 6 (1471 palabras) Publicado: 9 de junio de 2012
4.1 Directivas para compilación híbrida:

La compilación hibrida es utilizada en lo que es conocida como programación hibrida (válgase la redundancia). 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 lenguajeensamblador y los lenguajes de alto nivel, todo esto con el fin escribir programas más rápidos y eficientes.

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;

En fin podemos mezclar el código ensamblador con el código de cualquier otro lenguaje que admita este procedimiento. En pascal antes de escribir el código en ensamblador ay que poner Asm y al final de nuestro código End.[1].

4.2. Funciones ensamblador

Las directivas de programación hibrida son aquellas que nospermiten ejecutar los comandos de ensamblador en un lenguaje de alto nivel.
 
Turbo Pascal permite escribir procedimientos y funciones en código ensamblador e incluirlas como parte de los programas en lenguaje Pascal; para esto, Turbo Pascal cuenta con dos palabras reservadas: Assembler y Asm .Assembler permite indicarle a Turbo Pascal que la rutina o procedimiento que se está escribiendo estátotalmente escrita en código ensamblador. 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. Ejemplo de un procedimiento hibrido:

Procedure Limpia_Pantalla;
Assembler;
AsmMov AX,0600h ; procedimiento Clr Scr de la unidad CRT de TurboPascal
Mov BH,18h
MovCX,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 elresultado en la variable Res y finalmente presenta el resultado en la pantalla.
 
Program hibrido;
Uses Crt;
VarN1,N2, Res :
integer;Begin
Writeln(“Introduce un número: “);
 Readln(N1);
Writeln(“Introduce un número: “);
 Readln(N2);AsmMov AX,N1;Add AX,N2;Mov Res,AXEnd;
Writeln(“El resultado de la suma es: “,Res);
 Readln;End

INT 21H

La mayoría de servicios ó funciones del sistemaoperativo MS-DOS se obtienen a través dela 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 defunciones. Cuando se accede a la INT 21H, hay que indicar el número de función quequeremos 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 entradaINT 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...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Mi tarea Tu tarea
  • tarea tarea
  • Tarea Tarea
  • Tarea
  • Tarea
  • Tarea
  • Tarea
  • Tarea

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS