Está en la página 1de 3

ENSAMBLADORES E INTERPRETES.

Alumna: Estefanía Rodríguez Sánchez.

Facilitador: Elsa Viveros Galván.

Carrera: Ingeniería en sistemas computacionales.

Ciclo:10.

Tarea 7: Instrucciones de acceso a memoria.

Fecha: 19 de noviembre del 2023.


Instrucciones de acceso a la memoria

La importancia del lenguaje de ensamblador radica en el hecho de que es el


lenguaje simbólico que trabaja más cerca del procesador. Prácticamente todas
las instrucciones de ensamblador tienen una correspondencia directa con las
instrucciones binarias del código máquina que utiliza directamente el
procesador. Esto lleva a que el lenguaje sea relativamente sencillo, pero que
tenga un gran número de excepciones y reglas definidas por la misma
arquitectura del procesador, y a la hora de programar, además de conocer las
especificaciones del lenguaje, hay que conocer también las especificaciones de
la arquitectura.
Así pues, este lenguaje permite escribir programas que pueden aprovechar
todas las características de la máquina, lo que facilita la comprensión de la
estructura interna del procesador. También puede aclarar algunas de las
características de los lenguajes de alto nivel que quedan escondidas en su
compilación.

Programa en ensamblador en el que se define en una tabla la memoria del


programa de 10 números enteros diferentes en el rango [0 ... 20].

;
; programaquesumadieznumerosenteros.asm
;--------------------------------------------------
; Created: 18/11/2023 12:13:10 AM
; Author : Fanny Rodriguez
;;programa que suma diez numeros enteros.asm
;-----------------------------------------------------
;
.LIST
;salta a la funcion principal del programa
;
;
.cseg ; Seccion de codigo
;
.org 0x0000 ; Direccion de inicio
;
; Inicializa a los registros r16, r17 y r18
ldi R16, 0 ; se carga el valor 0 para indice de la tabla
ldi R17, 0 ; Inicializa un registro para guardar la suma
ldi R18, 10 ; se establece el numero de elementos en la tabla
; Arreglo de los numeros
Numbers:
.db 5, 8, 12, 4, 15, 10, 7, 18, 3, 6
;
;bucle para realizar la suma de los numeros
SumLoop:
lds R19, Numbers ; Carga el valor de la tabla en R19 en contador temporal
add R17, R19 ; Suma sin acarreo de R19 a R17
dec R18 ; Decrementa el contador de elementos
brne SumLoop ; si R18 no es igual a cero se repite el bucle
; R17 contiene la suma de los numeros de la tabla
;
loop:
rjmp loop ; Bucle infinito
;

Captura de pantalla

Referencias

Electronics, A. (13 de octubre de 2022). Microcontroladores AVR para procesamiento de 8 bits


de alto rendimiento y consumo eficiente de energía. Obtenido de
https://www.arrow.com/es-mx/research-and-events/articles/avr-microcontrollers-for-
high-performance-and-power-efficient-8-bit-processing

Martínez., J. N. (25 de enero de 2021). Curso Programación de AVR en ensamblador (subrutina


para display de 7 segmentos, 1 dígito) [Vídeo]. YouTube. Obtenido de
https://www.youtube.com/watch?v=1Cd6uUoDd1I

Prof3_Flow3rs_Conch0dril0. (15 de marzo de 2022). Suma en ensamblador [Vídeo]. YouTube.


Obtenido de https://www.youtube.com/watch?v=zlmppA2bVKU

También podría gustarte