Microprocesadores

Anuncio
DELTA – MASTER
FORMACIÓN UNIVERSTARIA
C/ Gral. Ampudia, 16
Teléf.: 91 533 38 42 - 91 535 19 32
28003 MADRID
FORMULARIO DE: MICROPROCESADORES (UPS)
ORGANIZACIÓN DE MEMORIA
A0
FFFE
FFFF
A0-A19
1H
BHE
Dirección
PAR
A0
0
IMPAR
1
D8-D15
Direcciones
Impares
0H
D0-D7
Direcciones
Pares
BHE
Acceso
0
A una WORD que comienza en dirección par.
1
A un byte que está en dirección par por D0-D7
0
A un byte que está en dirección impar por D8-D15
1
NO USADO
TIPOS DE DATOS
Sin
Signo
ENTEROS
Binario Natural. Tamaños:
BCD natural tamaño Byte
Con Signo: Convenio de Ca2. Tamaños:
Byte
Word
DobleWord
Empaquetado
Desempaquetado
Byte
Word
DobleWord
DIRECCIONES
Lógicas:
Es la que manejan los programas. Consta de dos parámetros: segmento y offset, cada uno de ellos de
16 bits. Se suele representar como segmentos:offset.
El segmento sirve para identificar la zona de memoria. El offset indica una dirección relativa a esa
zona de memoria.
Física:
Es la que se utiliza para realizar los accesos a memoria mediante el bus de direcciones. En el 8086 es
un número fijo de 20 bits. Para calcular la dirección física a partir de la lógica:
DIR_FIS = 16 * SEGMENTO + OFFSET
REGISTROS
Registros de segmento:
CS (Code): Apunta al segmento donde se encuentra el programa.
DS (Data): Apunta al segmento donde residen los datos del programa.
ES (Extra): Registro utilizado en algunas instrucciones de tratamiento de cadenas.
SS (Snack): Apunta al segmento donde se encuentra la pila del programa.
1
DELTA – MASTER
FORMACIÓN UNIVERSTARIA
C/ Gral. Ampudia, 16
Teléf.: 91 533 38 42 - 91 535 19 32
28003 MADRID
Registros de propósito general (todos de 16 bits):
AX AH AL Acumulador
BX
BH BL Propósito general o registro base para direccionamiento de memoria
CX
CH CL Propósito general o contador
DX DH DL Propósito general, usualmente utilizado varias instrucciones para direcciones E/S
SI
Registros índices
DI
Registro base de la pila
BP
Puntero de pila. Offset del segmento SS
SP
Puntero de instrucción. Offset del segmento CS
IP
Registro de flags del estado del procesador.
PSW
MODOS DE DIRECCIONAMIENTO
Inmediato
Directo por registro
Directo por valor
Indirecto por registro
Se da el valor del operando en la propia instrucción
Se indica a la instrucción el registro donde está el operando
Se indica a la instrucción la dirección del dato
Se indica a la instrucción el registro que contiene la dirección de
memoria donde está el operando
Se indica el registro base y el índice. La dirección total viene dada
por la suma de las dos.
Instrucciones que no necesitan operando o que vienen implícitos.
Indirecto por sumas de registros
Implícito
DECLARACIÓN DE VARIABLES
Sin inicializar
Enteros
Datos
Punteros
Strings
Múltiples
Duplicados
Dato DB 11B
Sin codificar
Codificados
Near
Far
Reales
Simples
Dato DB ?
Str1 DB ‘Prueba’
Str2 DB ‘Prueba’,0
Var1 DB 10 (‘Z’)
ESTRUCTURAS
DECLARACIÓN DEL TIPO
NombreEstructura STRUC
{Declaración de campos}
NombreEstructura ENDS
DECLARACIÓN DE VARIABLES
var1 NombreEstructura <> ; sin inicialización
var2 NombreEstructura<val1,val2,…> ; con inicialización
REGISTROS
Se almacenan grupos de bits d una variable. El tamaño depende de los bits necesarios para almacenar
los campos con un máximo de 16 bits.
Declaración del tipo:
NombreRegistro RECORD nomCampo1:anchura{=valor}, nomCampo2:anchura{=valor}…
Declaración de variables:
Var1 NombreRegistro <> ; sin inicialización
Var1 NombreRegistro <val1,val2,…> ; con inicialización
MACROS
Trozos de código predefinido, que se copia tal cual cuando se realiza la llamada. Es por lo tanto un
método más rápido que las rutinas (puesto que no es necesario el paso de parámetros mediante pilas)
2
DELTA – MASTER
FORMACIÓN UNIVERSTARIA
C/ Gral. Ampudia, 16
Teléf.: 91 533 38 42 - 91 535 19 32
28003 MADRID
pero que conlleva el problema de la existencia de etiquetas duplicadas, etc (puesto que el código se
copia tal cual).
NombreMacro
MACRO {param1, param2,…}
{Código}
ENDM
Se puede utilizar la directiva LOCAL para definir etiquetas y variables locales y evitar la repetición
(y consiguiente error al ensamblar).
SYSTEM CALLS
Las System Calls son un mecanismo de acceso al hardware, que proporciona el DOS. A diferencia de
otros métodos de acceso que actúan a un nivel más bajo, las System Calls proporcionan mayor
independencia del hardware (ya que estas llamadas de sistema son comunes a dispositivos de la
misma familia) y por lo tanto otorgan mayor flexibilidad y sencillez a la programación de operaciones
sobre los mismos.
A cambio de estas características, se pierde rapidez y seguridad sobre el manejo de estos dispositivos.
Las System Call se basa en las funciones que proporciona la interrupción 21H. Para acceder a las
distintas funciones que proporciona esta interrupción se utiliza el registro AH como sistema d paso d
parámetros de la interrupción. Añadido a esto se suelen utilizar ciertos registros como mecanismo de
E/S para resultados y parámetros adicionales.
3
Descargar