Title: LENGUAJE ENSAMBLADOR
1LENGUAJE ENSAMBLADOR
2ENSAMBLADOR
- Es un lenguaje de programación de bajo nivel
para los computadores, microprocesadores,
microcontroladores y otros circuitos integrados
programables. Implementa una representación
simbólica de los códigos de máquina binarios y
otras constantes necesarias para programar una
arquitectura dada de CPU y constituye la
representación más directa del código máquina
específico para cada arquitectura legible por un
programador
3(No Transcript)
4Cobol Pascal Basic Java
Alto nivel
C BCPL
Mediano nivel
Bajo nivel
Ensamblador
Maquina
001110011010100
5- Los lenguajes de bajo nivel son mas fáciles de
utilizar que los lenguajes máquina, pero, al
igual que ellos, dependen de la máquina en
particular. El lenguaje de bajo nivel por
excelencia es el ensamblador.
6- Las instrucciones en lenguaje ensamblador son
instrucciones conocidas como nemotécnicos.
7- Por ejemplo, nemotécnicos típicos de operaciones
aritméticas son en inglés, ADD, SUB, DIV, etc.
en español, SUM, RES, DIV,etc. Una instrucción
típica de suma sería - ADD M, N, P
- Esta instrucción podría significar sumar el
número contenido en la posición de memoria M al
número almacenado en la posición de memoria N y
situar el resultado en la posición de memoria P.
- Evidentemente es mucho más sencillo recordar la
instrucción anterior con un nemotécnico que su
equivalente en código máquina. - 0110 1001 1010 1011
8- Un programa escrito en lenguaje ensamblador no
puede ser ejecutado directamente por la
computadora en esto se diferencia esencialmente
del lenguaje máquina, sino que requiere una fase
de traducción al lenguaje máquina.
9- El programa original escrito en lenguaje
ensamblador se denomina programa fuente y el
programa traducido en lenguaje máquina se conoce
como programa objeto, ya directamente entendible
por la computadora.
10- El traductor de programas fuente a objeto es un
programa llamado ensamblador, existente en casi
todos los computadores.
11Ventajas del lenguaje ensamblador.
- Los lenguajes ensambladores presentan la ventaja
frente a los lenguajes máquina de su mayor
facilidad de codificación y, en general, su
velocidad de cálculo. - La segunda razón es el control total de la PC que
se tiene con el uso del mismo. - El ensamblador permite una optimización ideal en
los programas tanto en su tamaño como en su
ejecución.
12Desventajas del lenguaje ensamblador.
- Dependencia total de la máquina lo que impide la
transportabilidad de los programas. El lenguaje
ensamblador del PC es distinto del lenguaje
ensamblador del Apple Macintosh. - La formación de los programadores es más compleja
que la correspondiente a los programadores de
alto nivel, ya que no sólo las técnicas de
programación, sino también el conocimiento del
interior de la máquina.
13ESCALABILIDAD
- Es la propiedad deseable de un sistema, una red o
un proceso, que indica su habilidad para extender
el margen de operaciones sin perder calidad, o
bien manejar el crecimiento continuo de trabajo
de manera fluida.
14MICROPROCESADOR
- El microprocesador o simplemente procesador, es
el circuito integrado central y más complejo de
una computadora - El procesador es un circuito integrado
constituido por millones de componentes
electrónicos integrados.
15- Su arquitectura interna consta de las siguientes
partes - Unidad de control
- Unidad Aritmética lógica
- Registros Internos
- Buses internos
- Interrupciones
16Arquitectura Interna del microprocesador
17Secuencia de acciones
- Se inicia en una posición de memoria definida
- Se lee el dato de esa posición y se manda al
control - La unidad de control decodifica la instrucción y
la ejecuta en señales adecuadas - Se incrementa el contador del programa (registro
que indica a que posición se debe dirigir) - Se repite proceso desde el punto 2, hasta
recibir unas señal del exterior
18Arquitectura del microprocesador
19ALU
- Circutito digital que realiza operaciones
artimeticas y logicas
20Unidad de control
- Cerebro del microprocesador, genera señales de
control interno y externo. - Recibe códigos los cuales decodifica y ejecuta.
- Los códigos pueden ser
- Operaciones aritmético lógicas
- Cargar o leer datos
- Saltos o interrupciones
21Regsitros internos
- Posiciones de memoria con utilidad general o
especifica. - Tipos
- Registros de datos operaciones aritméticas
lógicas y manipulación de datos - Registros de Direcciones para acceder a
posiciones de memoria - - Contador de programa leer o escribir datos de
programa - - Puntero de pila Recuperar y guardar datos de
uso interno - - índices para acceder a posiciones de memoria
en forma relativa - 3. Registro de estado para información
especifica
22Interrupciones
- Utilizadas para interrumpir la secuencia del
programa.
23Buses Internos
- Caminos de comunicación que conectan dos o mas
dispositivos o acceder a diferentes partes del
circuito - 1. Bus de dirección para seleccionar posición
de memoria para leer o escribir datos - 2. Bus de datos transmitir datos
- El microprocesador se dividen por el numero de
bits que conforman el dato - 4, 8 , 16, 32, 46 bits
24- 3. Bus de control para sincronizar actividades
y transacciones con los periféricos del sistema
25CLASIFICACION DEL MICROPROCESADOR
- Una forma es en función de las instrucciones que
son capaces de ejecutar. - Microprocesadores con tecnología CISC y RISC
- CISC (Complex Instructions Set Computer)
Interpreta y ejecuta un gran numero de
instrucciones, lo cual los hace lentos - RISC ( Reduced Instructios Set Computer)
Interpreta y ejecuta solo instrucciones
reducidas, son mas rápidos que los CISC
26Von Neumann
- Es una de las arquitecturas mas primitivas,
cuando se invento los programas eran muy pequeños
y los costos de memoria eran muy altos. En esta
estructura, tanto datos como programa son
guardados en la misma memoria y accesados en el
mismo bus. - Cada instrucción es leída de memoria,
decodificada y ejecutada. - Durante el estado de decodificación algunos
operadores son leídos de la misma memoria. - Las computadoras Von Neumann son llamadas también
computadoras de almacenamiento de programas,
porque los programas son guardados en ROM, la
cual no se cambia durante el tiempo de ejecución.
27(No Transcript)
28Arquitectura Harvard
- Esta es una modificación de la arquitectura Von
Neumann, en esta arquitectura se separa la
salida (direcciones y bus de datos) de datos para
accesar al código (programa) y datos
(operadores). - Esto hace posible leer datos e instrucciones al
mismo tiempo (en diferentes buses) - Desde que las instrucciones tienen un bus de
datos separados, la siguiente instrucción puede
ser leída mientras se decodifica y ejecutan las
instrucciones actuales
29(No Transcript)
30Derivados de la arquitectura Harvard
- Existen algunos derivados de la arquitectura
Harvard, las cuales tienen múltiples buses de
datos para accesar datos, tales arquitecturas son
mas aplicadas para aplicaciones intensivas de
datos (como procesos de señales digitales) las
cuales requieren múltiples operadores de datos
para la ejecución de cada instrucción. - Desde que estos operadores son leídos en
paralelo se logro una gran mejora en ejecución.
31Complex Instruction Set Computer (CISC)
- En los inicios de la computación, se codificaba
en código ensamblador o maquina. - Para hacer rápida y fácil la programación las
computadoras soportaban un gran numero de
instrucciones. Estas instrucciones podían hacer
operaciones complejas, una sola instrucción podía
leer uno o mas operadores y hacer una o mas
operaciones con esos operadores. - Esto hacia la programación fácil y con menos
código. - Otro factor favorable fue el costo de memoria,
las memorias eran costosas, por lo que los
diseñadores hacían juegos de instrucciones densos
32Reduced Instruction Set (RISC)
- Es un tipo de microprocesador con las siguientes
características fundamentales - Instrucciones de tamaño fijo y presentadas en un
reducido número de formatos. - Sólo las instrucciones de carga y almacenamiento
acceden a la memoria de datos. - Además estos procesadores suelen disponer de
muchos registros de propósito general. - El objetivo de diseñar máquinas con esta
arquitectura es posibilitar la segmentación y el
paralelismo en la ejecución de instrucciones y
reducir los accesos a memoria. - Esta surge con los lenguejes de alto nivel
33(No Transcript)
34Procesador digital de señal
- Es un sistema basado en un procesador que posee
un juego de instrucciones, un hardware y un
software optimizados para aplicaciones que
requieran operaciones numéricas a muy alta
velocidad. Debido a esto es especialmente útil
para el procesado y representación de señales
analógicas en tiempo real en un sistema que
trabaje de esta forma (tiempo real) se reciben
muestras normalmente provenientes de un conversor
analógico/digital (ADC).
35- Caracteristicas
- Necesita una memoria donde almacenar los datos
con los que trabajará y el programa que ejecuta - Puede trabajar con varios datos en paralelo y un
diseño e instrucciones específicas para el
procesado digital.
36(No Transcript)
37VLIW PROCESADOR
- Very Long Instruction Word. Esta arquitectura de
CPU implementa una forma de paralelismo a nivel
de instrucción. Es similar a las arquitecturas
superescalares, ambas usan varias unidades
funcionales (por ejemplo varias ALUs, varios
multiplicadores, etc) para lograr ese
paralelismo.
38- Los procesadores con arquitecturas VLIW se
caracterizan, como su nombre indica, por tener
juegos de instrucciones muy simples en cuanto a
número de instrucciones diferentes, pero muy
grandes en cuanto al tamaño de cada instrucción.
39- Ventajas
- Simplificación de la arquitectura hardware al no
tener que planificar el código. - Menor potencia y consumo.
- Inconvenientes
- Requiere compiladores mucho más complejos.
- Cualquier mejora en la arquitectura hardware
implica un cambio en el juego de instrucciones
(compatibilidad hacia atrás nula).
40(No Transcript)
41SMID
- Single Instruction, Multiple Data es una técnica
empleada para conseguir paralelismo a nivel de
datos. - SIMD consisten en instrucciones que aplican una
misma operación sobre un conjunto más o menos
grande de datos. Es una organización que influye
muchas unidades de procesamiento bajo la
supervisión de una unidad de control común. - Todos los procesadores reciben la misma
instrucción de la unidad de control, pero operan
sobre diferentes conjuntos de datos. Es decir la
misma instrucción es ejecutada de manera síncrona
por todas las unidades de procesamiento.
42(No Transcript)
43MULTICORE-PROCESADOR
- A multi-core processor Es un componente de
computadora con dos o mas procesadoresindependient
es (called "cores"), los cuales son unidades que
leen y ejecutan isntrucciones de programas. Los
datos en la instruccion le dicen al procesador
que hacer. Las instrucciones hacen cosas muy
basicas como leer datos de meoria o mandar datos
a un display, pero son procesados rapidamente.
44(No Transcript)
45PROCESADOR STREAM
- El procesador STREAM, acrónimo de Sistema de
Tiempo Real para la Extracción y Análisis de
Movimiento, es una arquitectura de procesamiento
de imágenes implementada - en una tarjeta PCI
46(No Transcript)
47- Desde el punto de vista funcional es,
básicamente, el encargado de realizar toda
operación aritmético-lógica, de control y de
comunicación con el resto de los componentes
integrados que conforman un PC, siguiendo el
modelo base de Von Neumann. - También es el principal encargado de ejecutar los
programas, sean de usuario o de sistema sólo
ejecuta instrucciones programadas a muy bajo
nivel, realizando operaciones elementales,
básicamente, las aritméticas y lógicas, tales
como sumar, restar, multiplicar, dividir, las
lógicas binaris y accesos a memoria.
48- Esta unidad central de procesamiento está
constituida, esencialmente - por registros,
- una unidad de control
- y una unidad aritmético lógica (ALU)
- .
49(No Transcript)
50TIPOS DE ENSAMBLADORES
Aunque todos los ensambladores realizan
básicamente las mismas tareas, podemos
clasificarlos de acuerdo a características. Así
podemos clasificarlos en
-Ensambladores Cruzados (Cross-Assembler). -
Ensambladores Residentes. - Macroensambladores.
- Micro ensambladores. - Ensambladores de una
fase. - Ensambladores de dos fases.
51Ensambladores Cruzados (Cross-Assembler).
Se denominan así los ensambladores que se
utilizan en una computadora que posee un
procesador diferente al que tendrán las
computadoras donde va a ejecutarse el programa
objeto producido. El empleo de este tipo de
traductores permite aprovechar el soporte de
medios físicos (discos, impresoras, pantallas,
etc.), y de programación que ofrecen las máquinas
potentes para desarrollar programas que luego los
van a ejecutar sistemas muy especializados en
determinados tipos de tareas.
52Ensambladores Residentes.
Son aquellos que permanecen en la memoria
principal de la computadora y cargan, para su
ejecución, al programa objeto producido. Este
tipo de ensamblador tiene la ventaja de que se
puede comprobar inmediatamente el programa sin
necesidad de transportarlo de un lugar a otro,
como se hacía en cross-assembler, y sin necesidad
de programas simuladores. Sin embargo,
puede presentar problemas de espacio de memoria,
ya que el traductor ocupa espacio que no puede
ser utilizado por el programador. Asimismo,
también ocupará memoria el programa fuente y el
programa objeto. Esto obliga a tener un espacio
de memoria relativamente amplio. Es el indicado
para desarrollos de pequeños sistemas de control
y sencillos automatismo empleando
microprocesadores
53MACROENSAMBLADORES.
Son ensambladores que permiten el uso de
macroinstrucciones (macros). Debido a su
potencia, normalmente son programas robustos que
no permanecen en memoria una vez generado el
programa objeto. Puede variar la complejidad de
los mismos, dependiendo de las posibilidades de
definición y manipulación de las
macroinstrucciones, pero normalmente son
programas bastantes complejos, por lo que suelen
ser ensambladores residentes.
54MICRO ENSAMBLADORES.
Generalmente, los procesadores utilizados en las
computadoras tienen un repertorio fijo de
instrucciones, es decir, que el intérprete de las
mismas interpretaba de igual forma un determinado
código de operación. El programa que indica al
intérprete de instrucciones de la UCP cómo debe
actuar se denomina microprograma. El programa que
ayuda a realizar este microprograma se llama
micro ensamblador. Existen procesadores que
permiten la modificación de sus microprogramas,
para lo cual se utilizan micro ensambladores.
55ENSAMBLADORES DE UNA FASE.
Estos ensambladores leen una línea del programa
fuente y la traducen directamente para producir
una instrucción en lenguaje máquina o la ejecuta
si se trata de una pseudoinstrucción. También va
construyendo la tabla de símbolos a medida que
van apareciendo las definiciones de variables,
etiquetas, etc. Debido a su forma de traducción,
estos ensambladores obligan a definir los
símbolos antes de ser empleados para que, cuando
aparezca una referencia a un determinado símbolo
en una instrucción, se conozca la dirección de
dicho símbolo y se pueda traducir de forma
correcta. Estos ensambladores son sencillos,
baratos y ocupan poco espacio, pero tiene el
inconveniente indicado
56- Los microprocesadores poseen dos tipos de
memoria interna - Memoria RAM (memoria de acceso aleatoria)
- Memoria ROM (memoria de solo lectura)
57- Los bytes en memoria se numeran de forma
consecutiva, iniciando con 00, de modo que cada
localidad tiene un un numero de direccion unico.
64 k sistema base ROM 1924 k area de
expansion De memoria (ROM) 128 k area de
despliegue de video (RAM) 640 k memoria (RAM)
Inicio Direccion Dec Hex 960 k
F0000
58 CLASIFICACION DE MEMORIAS.
-
- Las memorias se clasifican, por la tecnología
empleada y según la forma en la que se puede
modificar su contenido. - Las cuales son
- Memoria RAM (memoria de acceso aleatorio)
- Memoria ROM (memoria de solo lectura)
59CLASIFICACION DE MEMORIA RAM
- EDO RAM. (Memoria de acceso aleatorio con salida
de datos extendida). - DRAM. (Memoria dinámica de acceso aleatorio).
- SDRAM. (Memoria dinámica de paginación de acceso
aleatorio). - RDRAM. (Memoria dinámica de acceso aleatorio para
tecnologías rambus). - SRAM. (Memoria estática de acceso aleatorio.
RAM
60CLASIFICACION DE MEMORIA ROM
- PROM. (Memoria programable de solo lectura).
- EPROM. (Memoria de solo lectura programable y
borrable). - EEPROM. (Memoria de solo lectura programable y
borrable eléctricamente). - Memoria flash.
ROM
61SEGMENTOS Y DIRECCIONAMIENTO
62- El procesador se divide en dos unidades lógicas
- Unidad de ejecución (EU)
- Unidad de interfaz del bus (BIU)
63- El papel de la EU es ejecutar instrucciones,
contiene el ALU, CU y varios registros
64- El BIU envía instrucciones y datos a la EU.
- La función mas importante del BIU es manejar la
unidad de control del bus, los registros de
segmentos, y la cola de instrucciones. - La BIU controla los buses que transfieren los
datos a la EU, a la memoria y a los dispositivos
de E/S externos, mientras que los registros de
segmentos controlan el direccionamiento de memoria
65- El BIU permite acceso a las instrucciones, puede
acceder a estas desde la memoria y colocarlas en
la cola de instrucciones. Tamaño de la cola de 4
a 32 bytes
66- La EU y la BIU trabajan en paralelo, La EU
notifica al BIU cuando necesita acceso a los
datos en memoria o a dispositivos de E/S - La EU solicita instrucciones de maquina de la
cola de instrucciones de la BIU - Mientras la EU esta ocupada ejecutando una
instriccion el BIU busca otra en la memoria, esto
aumenta la velocidad de procesamiento.
67- Un segmento es un area especial en un programa
que incia en un limite de una localidad
regularmente divisible entre 16 o 10 hex - Un segmento, puede estar ubucado casi en
cualquier lugar y puede ser hasta de 64 K
68- Se puede tener cualquier numero de segmentos,
para direccionar un segmento en particular basta
cambiar la direccion en el registro del segmento
apropiado
69- Los tres segmentos principales son
- Segmentos de código
- Segmentos de datos
- Segmentos de pila
70Segmentos de codigo (CS)
- Contiene instrucciones de maquina que son
ejecutadas. - Comúnmente la primera instrucción ejecutable esta
en el inicio del segmento, el SO enlaza a esa
localidad para iniciar la ejecución del programa
71Segmento de datos (DS)
- Contiene datos, constantes y areas de trabajo
definidos por el proograma - El registro del DS direcciona al segmento de datos
72Segmento de pila (SS)
- La pila contiene los datos y direcciones que se
necesitan guardar temporalmente o para el uso de
sus llamadas subrutinas. - El registro del segmento de la pila (SS)
direcciona el segmento de la pila
73- Los registros de segmentos contienen la direccion
inicial de cada segmento
74REGISTROS
75- Los registros del procesador se emplean para
controlar las instrucciones en ejecucion, manejar
direccionamiento, y proporcionar capacidad
aritmetica. - Son direccionables por medio de un nombre, los
bits se numeran de derecha a izquierda
76REGISTRO DE SEGMENTO
- Un registro de segmento tiene 16 bits de
longitud y facilita un area de memoria para el
direccionamiento conocida como el segmento actual.
77REGISTRO CS
- Registro CS
- El DOS almacena la dirección inicial del
segmento de código de un programa en el registro
CS -
78REGISTRO DS
- La dirección inicial de un segmento de programa
es almacenada en el registro DS
79REGSITRO SS
- El registro SS permite la colocacion en memoria
de una pila para almacenamiento temporal de
direcciones y datos.
80REGISTRO ES
- Algunas operaciones con cadenas de caracteres
utilizan regsitro extra de segmento para manejar
el direccionamiento de memoria. - Un registro ES esta asociado con un registro DI
(indice)
81REGISTRO FS y GS
- Son registros extras de segmento en los
procesadores 80386 y posteriores.
82REGISTRO DE APUNTADOR DE DIRECCIONES
- El registro apuntador de instrucciones (IP)
contiene el desplezamiento de direcciones de la
siguiente direccion que se ejecuta.
83REGISTROS APUNTADORES
- Los registros apuntador de pila (SP) y BP
(apuntador base) estan asociados con el registro
SS y permiten al sistema acceder a datos de la
pila
84REGISTRO BP
- Facilita la referencia de parametros los cuales
son datos y direcciones transmitidos via pila
85REGISTROS DE PROPOSITO GENERAL
- Los registros de proposito general AX, BX, CX, y
DX, con caballos de batalla del sistema, en el
sentido que se puede direccionar como una
palabara o como una parte de un byte. - La parte izquiera es la parte alta
- La parte derecha es la parte baja
86Registro AX
- Es el acumulador principal, usado para
operaciones de E/S y la mayor parte de la
aritmetica
87REGISTRO BX
- Es conocido como registro base y es el unico de
proposito general, usado para la transferencia de
datos entre la memoria y el procesador
88REGISTRO CX
- Se utiliza como contador de bucles, operaciones
con cadenas y desplazamientos
89REGISTRO DX
- Se utiliza para operaciones de multiplicacion y
division junto con AX y en operaciondes de
entrada y salida de puertos, su mitad inferior
contiene el numero de puertos
90REGISTROS INDICE
- REGISTRO SI (indice fuente) y DI (indice destino)
- Requerido para operaciones con cadenas
91REGISTROS DE BANDERAS
- Sirven para indicar el estado actual de la
maquina y el resultado del procesamiento.
92- OF (overflow) overflow indica desbordamiento
- DF (dirección) Designa dirección hacia la
izquierda o hacia la derecha para mover o
comparar cadenas de caracteres. - IF (Interrupción) indica una interrupción
externa - TF (trampa) Permite la operación del procesador
en modo de un paso - SE (signo) Contiene el signo resultante de una
operación aritmética - ZF (cero) Indica el resultado de una operación
aritmética o de una comparación.
93- AF (acarreo auxiliar) contiene el acarreo del
bit 3 de un dato de 8 bits, para aritmética
especializada - PF (paridad) Indica paridad, par o impar
- CF (acarreo) Contiene el acarreo de un orden
mas alto, despues de una operación aritemtica.
94DIRECCIONAMIENTO
- El campo de operación de una instrucción
especifica la operación que se debe realizar.
Esta debe ser ejecutada sobre algunos datos
almacenados en registros de la computadora, o
sobre operandos almacenados en memoria
95- El modo de direccionamiento especifica la forma
de interpretar la información contenida en cada
campo de operando para localizar, en base a esta
información, el operando
96- Entonces los modos de direccionamiento de un
procesador son las diferentes formas de
transformación del campo operando de la
instrucción en la dirección del operando
97- Las técnicas de direccionamiento se utilizan con
la siguiente finalidad - Dar versatilidad
- Reducir el numero de bits del campo del operando
98- La disponibilidad de diferentes esquemas de
direccionamiento da al programador flexibilidad
para escribir programas eficientes en cuanto la
numero de instrucciones y el tiempo de ejecución.
99Autoincremental
Autodecremental
100- Los modos de direccionamiento también pueden
clasificarse en propios e impropios - Propios es cuando el operando esta en una
dirección concreta - Impropio es cuando puede estar en registros del
procesador.
101Direccionamiento implícito
- El operando se especifica en la misma definición
de la instrucción. - La instrucción no lleva parámetros.
- Particularmente en instrucciones que no accesan
memoria, o bien, tienen una forma específica de
accesarla. - Ejemplos PUSHF, POPF, NOP
102Direccionamiento inmediato
- El operando figura en la instrucción no el la
dirección - Ejemplo
- MOV AH, 9
103Direccionamiento por registro
- El operando esta especificado con el
direccionamiento directo por registro - Usa solamente registros como operandos
- Es el más rápido, pues minimiza los recursos
necesarios (toda la información fluye dentro del
EU del CPU) - Ejemplo
- MOV AX, BX
104Direccionamiento directo
- Uno de los operandos involucra una localidad
específica de memoria - El valor constante se tiene que buscar en
memoria, en la localidad especificada. - Es más lento que los anteriores, pero es el más
rápido para ir a memoria, pues ya sabe la
localidad, la toma de la instrucción y no la
tiene que calcular. - Ejemplo
- MOV AH, Variable
105Direccionamiento indirecto
- Se usan los registros SI, DI como apuntadores
- El operando indica una localidad de memoria, cuya
dirección está en SI o DI. - Es más lento que los anteriores, pues tiene que
calcular la localidad - Ejemplos
- MOV AL, SI
106Direccionamiento relativo
- No es necesario utilizar todos los bits de la
dirección de memoria en el campo operando, basta
con usar los bits precisos. - Esto es debido a que las direcciones
referenciadas por el programa no están alejadas
unas de las otras.
107Direccionamiento por base y desplazamiento
- Formato
- BX o BP SI o DI (opcionales)constante
(opcional) - BX o BP indica una localidad base de la memoria
- A partir de BX o BP, se puede tener un
desplazamiento variable y uno constante - La diferencia es el segmento sobre el que
trabajan por defecto - BX por defecto en el segmento de datos
- BP por defecto en el segmento de pila.
- Ejemplos
- MOV AX, BX
- MOV DX, BX2
- MOV CX, BXDI
- MOV DL, BXSI3
108Direccionamiento indexado
- La dirección del operando también se calcula
sumando un registro del CPU al campo del operando
109Direccionamiento postincremental
- La dirección del operando se encuentra en un
registro y este es incremental después de acceder
al operando.
110Direccionamiento autodecremental
- Para obtener la dirección del operando hay que
decrementar un registro en el tamaño del operando.
111(No Transcript)
112MODOS UTILIDADES
Inmediato Operaciones con constantes
Directo por registro Variables locales de procedimientos no recursivos
Indirecto por registro Variables referenciadas a través de apuntadores
Absoluto Direcciones del sistema
Relativo Variables globales
Indexado Acceso a vectores, matrices y cadenas
Autoincremental Desapilar parámetros de procedimientos Recorrido de vectores y cadenas
Autodecremental Apilar parámentros de procedimientos Recorrido de vectores y cadenas hacia atrás
113- .386
- MODEL FLAT, STDCALL
- .DATA
- lttu data (información) inicializadagt
- .DATA?
- lttu data no inicializadagt
- .CODE
- ltEtiquetagt
- lttu códigogt
- End ltetiquetagt
-