Está en la página 1de 12

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE POCHUTLA


ASIGNATURA:

LENGUAJES DE INTERFAZ

TEMA:

1.- INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR

ACTIVIDAD:

T1-03 – EJERCICIOS

ALUMNO:

LEODEGARIO GARCIA RAMIREZ

NÚMERO DE CONTROL:

191160143

SEMESTRE:

GRUPO:

“A”

CARRERA:

INGENIERÍA EN SISTEMAS COMPUTACIONALES

DOCENTE:

ING. ORTEGA MENDEZ MANUEL DE JESUS

San Pedro Pochutla, Oaxaca, 07 de marzo, 2022.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx
Introducción
La memoria de acceso aleatorio, o RAM, es la memoria principal de una
computadora. Las aplicaciones son cargadas y ejecutadas en la memoria RAM. Los
modos de direccionamiento asignan memoria RAM en porciones que pueden ser
referenciadas individualmente para que la unidad central de procesamiento, o CPU,
pueda determinar qué ubicación de memoria está siendo utilizada por una instrucción de
la máquina.
Los modos de direccionamiento son las distintas formas de combinar los
operandos según el acceso que se hace a memoria. Es necesario mencionar que, al
realizar una operación, es posible realizarla entre registros o entre registros y memoria,
pero no es posible realizarla entre memoria y memoria.
En consecuencia, los modos de direccionamiento son quienes definen la ruta
hacia donde se accederá dependiendo de las instrucciones que le fueron dadas. Por ello,
en este presente documento se muestran cada uno de los tipos de direccionamiento, así
como ejercicios para comprender mejor este tema.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx
Modos De Direccionamiento
Un modo de direccionamiento especifica la forma de calcular la dirección de
memoria efectiva de un operando mediante el uso de la información contenida en
registros y/o constantes, contenida dentro de una instrucción de la máquina.
La arquitectura ARM dispone de un amplio conjunto de modos de direccionamiento.
Revisaremos brevemente a continuación los tres modos de direccionamiento de las
instrucciones de load/store que son más útiles para el desarrollo de esta práctica:
Indirecto De Registro
La dirección de memoria a la que deseamos acceder se encuentra en un registro
del banco de registros. En la Figura 1 se ilustra el resultado de realizar la operación ldr
r2, [r1].
Figura 1
Ejemplo de ejecución de instrucción ldr r2, [r1].

Indirecto De Registro Con Desplazamiento Constante


La dirección de memoria a la que deseamos acceder se calcula sumando una
constante a la dirección almacenada en un registro del banco de registros. El
desplazamiento se codifica con 12 bits en el convenio complemento a 2.
En la Figura 2 se ilustra el resultado de realizar la operación ldr r2, [r1, #12].
Figura 2
Ejemplo de ejecución de instrucción ldr r2, [r1, #12].

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx
Indirecto De Registro Con Desplazamiento Por Registro
La dirección de memoria a la que deseamos acceder se calcula sumando la
dirección almacenada en un registro (base) al valor entero almacenado en otro registro
(offset). Este segundo registro puede estar opcionalmente multiplicado/dividido por una
potencia de 2. En realidad, hay cinco posibles operaciones que se pueden realizar sobre
el registro de offset, pero sólo veremos dos de ellas:
• Desplazamiento aritmético a la derecha (ASR). Equivalente a dividir por una
potencia de 2
• Desplazamiento lógico a la izquierda (LSL). Equivalente a multiplicar por una
potencia de 2. En la Figura 3 se ilustra el resultado de realizar la operación str r3,
[r5, r1, LSL#2].
Figura 2
Ejemplo de ejecución de instrucción str r3, [r5, r1, LSL#2].

Ejemplos

Este último modo de direccionamiento es el más adecuado para recorrer arrays:


en un registro mantendremos la dirección de comienzo del array mientras en otro registro

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx
mantenemos el índice del array que queremos acceder. Bastará con multiplicar dicho
registro (usando LSL) por el tamaño adecuado del dato (4 para números enteros) para
conseguir la dirección del elemento deseado. El siguiente ejemplo ilustra la utilidad de
este modo direccionamiento al recorrer un array:

En el caso de los arrays para poder recorrerlos es necesario tener almacenada en un


registro la dirección de comienzo del array (r1, en el ejemplo anterior). Para ello resulta
necesaria la pseudoinstrucción:
LDR R<n>, = ETIQUETA
Guarda en el registro R<n> la dirección asociada a Etiqueta, como podemos ver
en la figura 4. La variable A ha sido previamente inicializada usando la directiva A: .word
6, que guarda en la dirección de memoria 0x208 el valor 6 y asocia esa dicha dirección
a la etiqueta A.
Figura 4
Ejemplo de ejecución de la instrucción ldr r3, = A.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx
Ejercicio 1
Crear un proyecto y simular el funcionamiento del siguiente programa que
compara dos números A y B. Si A=B, el resultado es 0. Si A > B, el resultado es A-B. Si
A < B el resultado es A+B. Hay que destacar que, al no haber instrucciones de
comparación, ésta se realiza mediante restas.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx
Ejercicio 2
Crear un proyecto y simular el funcionamiento del siguiente programa que
almacena el patrón 33 en 15 posiciones contiguas de la memoria de datos, empezando
desde la dirección 0x10.

Ejercicio 3
Crear un proyecto y simular el funcionamiento del siguiente programa que realiza
el producto de dos números de 8 bits generando un resultado de 16 bits. El programa
emplea la misma mecánica que al hacer un producto sobre el papel. Hay que destacar
que el programa se ejecuta siempre en el mismo intervalo de tiempo, sean cuales fueren
los operandos.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx
Ejercicio 4
Incrementa el acumulador A en 1.
(AC) + 1 >(AC)
Diagrama esquemático.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx
Las ventajas de este tipo de acceso son:
a) Rapidez, el operando está en CPU y no se requieren ciclos de búsqueda de
direcciones u operandos en memoria.
b) Basta una sola palabra para especificar toda la instrucción (economía en la
memoria de programa).
En general todos los MP tienen este modo de direccionamiento.
Ejercicio 5
(Reg.X) > (Reg.Y)
Transfiere el contenido de un Registro (fuente) a otro Registro (destino); el código
de operación identifica que la operación a realizar es una transferencia, en el 2do byte
se especifica cual es el Registro fuente y cuál es el destino.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx
Ejercicio 6
Cargar el acumulador, con direccionamiento directo pleno.

En general todos los MP poseen este modo de direccionamiento (salvo el SC/MP).


Ejercicio 7
Cargar el AC directo con Registro de Página.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx
Conclusión
En consecuencia, los modos de direccionamiento son las diferentes formas de
definir la ubicación de un operando en memoria, para que de esta forma el programa sea
capaz de encontrarlo durante el tiempo de ejecución.
Como vemos, existen distintos modos de direccionamiento con características
particulares que las distinguen unas de otras. Así mismo, permiten al procesador elegir
uno u otro para que el programa se pueda ejecutar de manera correcta y sin
interrupciones.
Por todo lo anterior, para un ingeniero en sistemas computacionales es
fundamental conocer estos modos de direccionamiento porque puede mejorar su lógica
de programación e incluso enfocarse en el lenguaje de ensamblado.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx
Referencias
Anónimo. (s.f.). dea. Obtenido de
http://dea.unsj.edu.ar/mp1/APUNTES/Catedra%20Modos%20de%20Direcciona
miento.pdf
Anónimo. (s.f.). Lenguajes de interfaz. Obtenido de
https://ittlenguajesdeinterfaz.wordpress.com/1-8-modos-de-direccionamiento/
Anónimo. (s.f.). LGIAO2018. Obtenido de
https://sites.google.com/site/lgiao2018/unidad-1/1-6-modos-de-direccionamiento
Ingeniería de sistemas y automática. (s.f.). coolab. Obtenido de
http://coolab.umh.es/sea/microcontroladores_old_0809/practicas2C/P2/PRACTI
CA2.pdf
Irvine, K. R. (2008). Lenguaje ensamblador para computadoras basadas en Intel.
México: Pearson Educación.
Laboratorio de fundamentos de computadoras. (s.f.). fdi. Obtenido de
https://www.fdi.ucm.es/profesor/rhermida/FC_practica2.pdf

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: dir_pochutla@tecnm.mx
www.tecnm.mx | www.pochutla.tecnm.mx

También podría gustarte