Realizar una investigación y en listar las principales instrucciones de programación en lenguaje ensamblador.
Las herramientas son de suma importancia ya que son las que se hacen cargo de convertir los archivos en código ASCII para que la maquina lo pueda comprender mejor.
En el lenguaje ensamblador existen 3 tipos de instrcciones:
Instrucciones con 2 operandos:
Mov AX, BX
Mov es el nemonico, Ax es el operando 1 y el BX es el operando 2.
Instrucciones con un operando:
INC BX
En este ejemplo INC es un nemonico, mientras que el unico operando es BX.
Intrucciones con 3 operandos:
PUSHF
Donde PUSHF es el nemonico y el unico elemento de nuestra instruccion.
Instrucciones de transferencia de datos: Estas instrucciones son como su nombre lo dice "transfieren datos" algunos ejemplos de ellas son:
- Mov: Copia o transfiere los datos, de OP2 a OP1, por ejemplo de
Mov AX,0 ; AX=0 - LEA : Carga un registro con la direccion de dezplazamiento de alguna variable en memoria. Su formato es LEA REG, Variable, por ejemplo
Data
Mensaje db ´Hola´, ´$´
Code
-------
Lea DX, Mensaje ; DS:DX -> Mensaje - LDS: Inicializa el registro DS.
- LES: Inicializa el registro ES.
las instrucciones LDS y LES modifican directamente el registro de segmento DS y ES por lo que solo es recomendable para programadores avanzados.
Instrucciones del ensamblador:
Transferencia: Mueve el contenido de los operandos
MOV
MOVS (MOVSB) (MOVSW).
Carga: Son las instrucciones especificas de los registros.
LODS (LODSB) (LODSW)
LAHF
LDS
LEA
LES
Pila: Permite almacenar datos a la pila.
POP
POPF
PUSH
PUSHF
NOTA: Todos los mencionados anteriormente tienen como finalidad transferir datos entre celdas de memoria, registros y acumuladores.
MOV Destino Fuente: Fuente es donde están los datos y destino es hacia donde se moveran.
Un ejemplo claro es
Un ejemplo claro es
MOV AX, 0006h
MOV BX,AX
MOV AX, 4C00H
INT 21 H
Instruccion LODS, LODSB, LODSW: El porposito de estos tipos de cadenas es que cargan de un byte o palabra al acumulador.
LODS: En esta instruccion la cadena que se encuentr en la direccion SI la carga al registro AK o AX y suma o resta 1 segun el estado del DF.
Por ejemplo tenemos MOV SI, OFFSET VAR1 LODS
Instruccion LAHF: verifica el estado de las banderas.
Por ejemplo el SF, ZF ?, PF, CF, el signo de interrogacion quiere decir los bits que abra de un valor. LDS destino fuente: Dice la palabra asociada y lo cambia al destino donde le marque el desplazamiento.
LEA: Carga direccion del operando fuente.
LES: Carga el registro del segmento extra.
POP: Recuperar un dato de pila.
POPF: Extrae las banderas almacenadas en la pila.
PUSH: Pone la palabra en la pila.
PUSHF: coloca el valor de la bandera en la pila
Fuentes:
http://moisesrbb.tripod.com/unidad3.htm
http://www.monografias.com/trabajos-pdf/programacion-ensamblador-procesadores/programacion-ensamblador-procesadores.pdf