Lenguaje Ensamblador

Páginas: 23 (5516 palabras) Publicado: 27 de agosto de 2011
BREVE RESUMEN DE LENGUAJE ENSAMBLADOR

0.- MOTIVACION.

El lenguaje ensamblador continúa siendo imprescindible para imple-
mentar fragmentos de código donde la velocidad del ejecutable y/o
su tamaño sean críticos. Afortunadamente, muchos compiladores per-
miten la inclusióndirecta en el código fuente de sentencias en
ensamblador, de forma que ya no es necesario en la mayor parte de
los casos el uso de ensambladores. Como ventaja adicional, no es
necesario conocer las directivas de ensamblador, ya que pueden es-
tablecerse desde el entorno de desarrollo y van implícitas en lasdirectivas del compilador, por ejemplo, el compilador Pascal de
Borland o el compilador C/C++ de la misma compañía.
Aún así, a muchos programadores les resulta difícil renunciar al
control absoluto de la máquina que permite el lenguaje ensambla-
dor.

1.-REGISTROS DEL 8086El 8086 dispone de ocho registros de propósito general, que pode-
mos considerar como memorias implementadas sobre la misma CPU de
acceso muy rápido. Estos registros reciben los nombres de AX, BX,
CX, DX, SI, DI, BP, SP. Existe tambien un registro IP (Instruction
Pointer)que apunta a la siguiente instruccióna ejecutar, formando
su dirección junto con el registro CS, que citaremos a
continuación. Aparte de los registros generales y de IP, existen
registros de segmento, llamados CS, DS, SS, ES y un registro de
flags, cuyos bits no son accesibles directamente y que reflejan
los resultados dedistintas operaciones.
Cualquiera de los registros de propósito general puede usarse para
escribir a/desde memoria, realizar operaciones, como punteros o
contadores, pero cada uno tiene una personalidad especial, y es
una buena práctica de programación usarlos para lo que fueron
principalmente concebidos.AX se usa siempre en multiplicaciones y divisiones y es el mas
eficiente para operaciones aritméticas y de movimiento de datos.
BX se usa como puntero, y junto con DS referencia posiciones de
memoria. Por ejemplo, para cargar en AL el contenido de la posi-
ción de memoria número 9:MOV AX,0
MOV DS,AX
MOV BX,9
MOV AL,[BX]

CX se usa principalmente como contador en los bucles. Estos son
tan frecuentes que existe una instrucción especial, LOOP, que
comprueba su valor, volviendo al principio del bucle si esdistinto de cero:

MOV CX,10
BUCLE:
instrucciones

LOOP BUCLE

DX es el único registro que puede usarse para acceder a puertos.
Por ejemplo, para escribir 62H en la dirección de puerto 1000H:MOV AL,62H
MOV DX,1000H
OUT DX,AL

SI se usa como puntero. Su nombre proviene de Source Index, y se
usa principalmente con instrucciones de cadena:

CLD
MOV AX,0
MOV DS,AX
MOV SI,20...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Lenguaje Ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Qué es el lenguaje ensamblador

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS