Lenguaje ensamblador

Solo disponible en BuenasTareas
  • Páginas : 6 (1471 palabras )
  • Descarga(s) : 0
  • Publicado : 5 de diciembre de 2009
Leer documento completo
Vista previa del texto
Unidad 4 - Programación híbrida

Al trabajar con un lenguaje de alto nivel, en ocasiones nos encontramos con el problema de que necesitamos que haga determinada función o trabajo pero desafortunadamente ésta solo existe en otro lenguaje que no es el que necesitamos utilizar, o simplemente, no encontramos esa función en ningún lenguaje de alto nivel.
En este momento el lenguaje ensambladorconstituye 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 cómo conectar ambos programas (el de alto y el de bajo niveles) y cómo pasar variables de un programa al otro.
Para conseguir nuestro objetivo se utilizan pseudo-operadores, es decir, instrucciones que aparecenen el código fuente del ensamblador pero que no generan ninguna instrucción de máquina, pero proporcionan directivas para que el ensamblador pueda operar con datos, ramificaciones condicionales, generación de listados y con macros durante el proceso de ensamble.
PUBLIC
El pseudo-operador que nos interesa es del tipo de pseudo-operadores para datos y se conoce como PUBLIC, el cual permite quesímbolos en el código fuente sean enlazados por otros programas que se van a enlazar juntos. Para esto, la información es pasada al linker (enlazador). PUBLIC permite el intercambio de información intersegmentos.
El formato de este pseudo-operador es PUBLIC número, variable o rótulo
Ejemplo de uso de PUBLIC:
|  |PUBLIC |nombre |
|  | |  |
|  |Instrucciones |  |
|  |  |  |
|  |RET |  |
|nombre |ENDP | |

4.1 Directivas para compilación híbrida:

La compilación hibrida es utilizada en lo que es conocidacomo programació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.

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.

Funciones en Ensamblador:
Bloques en Ensamblador:

Operadores:

Operadores Aritméticos:
Puedenemplearse libremente (+), (-), (*) y (/). En este último caso la división es siempre entera. También se admiten los operadores MOD (resto de la división) y SHL/SHR (desplazar a la izquierda/derecha cierto número de bits).

Operadores Lógicos:
Pueden ser el AND, OR, XOR y NOT. Realizan las operaciones lógicas en las expresiones

Operadores relacionales:
Devuelven condiciones de...
tracking img