ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Uso Del Debug En Microprocesadores


Enviado por   •  18 de Agosto de 2011  •  8.043 Palabras (33 Páginas)  •  992 Visitas

Página 1 de 33

LABORATORIO DE MICROPROCESADORES

Temas:

- Conjunto de instrucciones.

- Uso del Debug

- Programación básica en lenguaje ensamblador.

- Programación en lenguaje ensamblador del 8086

1.- CONJUNTO DE INSTRUCCIONES.

El juego completo de instrucciones reconocidas por los procesadores Intel 8086 a 80286,mas adelante se darán a conocer mas instrucciones del 8086 en forma mas detallada, junto con los coprocesadores 8087 y 80287, se enlistan en el apéndice E. Como puede verse en dicho apéndice, la mayoría de las instrucciones requieren algunos operandos o expresiones para trabajar, y lo cual es válido también para las directivas. Los operandos representan valores, registros o localidades de memoria a ser accedidas de alguna manera. Las expresiones combinan operandos y operadores aritméticos y lógicos para calcular en valor o la dirección a acceder.

Los operandos permitidos se enlistan a continuación:

Constantes.- Pueden ser números, cadenas o expresiones que representan un valor fijo. Por ejemplo, para cargar un registro con valor constante usaríamos la instrucción MOV indicando el registro y el valor que cargaríamos dicho registro.

mov ax,9

mov al,´c´

mov bx,65535/3

mov cx,count

para el último ejemplo count sólo será válido si este fue declarado con la directiva EQU.

Directos.- Aquí se debe especificar la dirección de memoria a acceder en la forma segmento:offset.

mov ax,ss:0031h

mov al,data:0

mov bx,DGROUP:block

Relocalizables.- Por medio de un símbolo asociado a una dirección de memoria y que puede ser usado también para llamados.

mov ax, value

call main

mov al,OFFSET dgroup:tabla

mov bx, count

para el último ejemplo count sólo será válido si fue declarado con la directiva DW.

Contador de localización.- Usado para indicar la actual localización en el actual segmento durante el ensamblado. Representado con el símbolo $ y también conocido como centinela.

help DB ´OPCIONES´,13,10

F1 DB ´ F1 salva pantalla´,13,10

.

.

.

F10 DB ´ F10 exit´,13,10,´$

DISTANCIA = $-help

Registros.- Cuando se hace referencia a cualquiera de los registros de propósito general, apuntadores, índices, o de segmento.

Basados.- Un operador basado representa una dirección de memoria relativa a uno de los registros de base (BP o BX). Su sintaxis es:

desplazamiento[BP]

desplazamiento[BX]

[desplazamiento][BP]

[BP+desplazamiento]

[BP].desplazamiento

[BP]+desplazamiento

en cada caso la dirección efectiva es la suma del desplazamiento y el contenido del registro.

mov ax,[BP]

mov al,[bx]

mov bx,12[bx]

mov bx,fred[bp]

Indexado.- Un operador indexado representa una dirección de memoria relativa a uno de los registros índice (SI o DI). Su sintaxis es:

desplazamiento[DI]

desplazamiento[SI]

[desplazamiento][DI]

[DI+desplazamiento]

[DI].desplazamiento

[DI]+desplazamiento

en cada caso la dirección efectiva es la suma del desplazamiento y el contenido del registro.

mov ax,[si]

mov al,[di]

mov bx,12[di]

mov bx,fred[si]

Base-indexados.- Un operador base-indexado representa una dirección de memoria relativa a la combinación de los registros de base e índice. Su sintaxis es:

desplazamiento[BP][SI]

desplazamiento[BX][DI]

desplazamiento[BX][SI]

desplazamiento[BP][DI]

[desplazamiento][BP][DI]

[BP+DI+desplazamiento]

[BP+DI].desplazamiento

[DI]+desplazamiento+[BP]

...

Descargar como (para miembros actualizados)  txt (52.3 Kb)  
Leer 32 páginas más »
Disponible sólo en Clubensayos.com