SlideShare una empresa de Scribd logo
1 de 5
LENGUAJE ENSAMBLADOR: DIRECCIONAMIENTO DE MEMORIA RAM.

La memoria RAM está seccionada en bytes. Por lo tanto, cada sección de la RAM,
o sea, cada byte (8 bits) puede almacenar un total de 28=256 distintos valores.
Desde el dato 00000000 hasta 11111111 o lo que es lo mismo: desde 00H hasta
FFH.

El microprocesador 8086 es un procesador de 16 bits, lo que significa que los
registros del procesador son de una capacidad de procesamiento de 16 bits. Esto
es, si deseamos almacenar en RAM el valor de un registro como el AX, será
necesario utilizar 2 bytes o lo que es lo mismo, 2 localidades de memoria.




Note que en memoria se almacenan de manera inversa los bytes.

¿Cómo se administra la memoria RAM?

Sabemos que el trabajar con lenguaje ensamblador supone conocer los registros
del microprocesador, sin embargo, es importante conocer el funcionamiento de la
memoria RAM, ya que los programas que nosotros creamos en ensamblador,
finalmente se almacena en memoria para ser ejecutados, además de eso, los
datos que han de ser o que fueron procesados también se almacenan en memoria
(esto sería, por ejemplo la equivalencia a guardar un valor en una variable).

Cuando nosotros creamos un programa en ensamblador, el MS-DOS almacena el
mismo en RAM, sin embargo, reserva 3 secciones de RAM, estas secciones se
conocen como segmentos:


ITSG. Ingeniería en sistemas computacionales.
Lenguajes de interfaz.
Ing. Alberto Valdez Sandoval.
El segmento de código: Guarda las instrucciones que han de ejecutarse (o sea el
cuerpo del programa).

El segmento de datos: Contiene datos, constantes y áreas de trabajo definidos por
el programa.

El segmento de pila: La pila es otro segmento de la RAM que permite, en tiempo
de ejecución de nuestro programa, almacenar temporalmente direcciones de
memoria y datos.

La manera de acceder a los segmentos (a la RAM) es por medio del
direccionamiento, es decir, el direccionamiento es indicar al procesador a que
dirección de memoria deseamos accesar para lectura o escritura de la misma.

Esto se logra gracias a los registros del microprocesador, específicamente los
registros de segmento (16 bits c/u) guardan la dirección inicial de cada segmento.




ITSG. Ingeniería en sistemas computacionales.
Lenguajes de interfaz.
Ing. Alberto Valdez Sandoval.
Para visualizarlo de una manera más clara debemos darnos cuenta que las
direcciones de memoria son de 5 dígitos hexadecimales, es decir, 20 bits.

Sin embargo, el microprocesador puede almacenar sólo 16 bits. ¿Cómo se
resuelve este problema de Hardware? Resulta que cada inicio de segmento de
memora termina con 0, por ejemplo, en la figura de arriba, el segmento de código
comienza en la dirección 25A40, por lo tanto, se sobreentiende que el último
dígito es cero, por lo que no hay necesidad de almacenarlo, se explica a
continuación:

Pensemos en un programa que hemos ensamblado, entonces las instrucciones
como MOV, ADD, etc. Se almacenarán en el segmento de código, es decir cada
instrucción como MOV AX,[25A4] se almacena en una dirección (inclusive una
instrucción puede requerir más de una dirección de memoria), pero se almacena
en binario.

Entonces, siguiendo el ejemplo de la figura, cuando ensamblemos el programa,
las instrucciones a ejecutar por el microprocesador se guardarán a partir de la
dirección 25A40 (en este ejemplo), pero, ¿Cuándo se ejecuta el programa, cómo
sabe la computadora donde buscarlo en la memoria para su ejecución?

Resulta que el encargado de guardar el programa en los segmentos de memoria
es el DOS, y cuando deseamos ejecutarlo, el DOS almacena en los registros de
segmento las localidades iniciales de los segmentos, de la siguiente manera:




ITSG. Ingeniería en sistemas computacionales.
Lenguajes de interfaz.
Ing. Alberto Valdez Sandoval.
Después de transferir las direcciones de inicio de segmento a los registros de
segmento, el DOS transfiere el control al programa mismo y es entonces cuando
se empiezan a ejecutar todas las instrucciones del mismo, una vez que se termina
de ejecutar el programa, el DOS vuelve a tomar el control de los recursos del
sistema.

Pero…En el caso del segmento de código, si el DOS coloca sólo la dirección de
inicio ¿cómo es que se ejecutan las instrucciones siguientes?

Para eso se utilizan los registros de desplazamiento, por ejemplo:

Si la dirección de inicio del segmento de código es 25A4[0] y el registro IP
contiene 412H, entonces, la siguiente instrucción a ejecutar será:



ITSG. Ingeniería en sistemas computacionales.
Lenguajes de interfaz.
Ing. Alberto Valdez Sandoval.
25A40H
+ 412H
------------
25E52H


Los registros asociados con el desplazamiento son:

IP para CS

SP para SS




ITSG. Ingeniería en sistemas computacionales.
Lenguajes de interfaz.
Ing. Alberto Valdez Sandoval.

Más contenido relacionado

La actualidad más candente

Capacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoCapacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoRosangelGarca
 
Ejecuta dani&esti
Ejecuta dani&estiEjecuta dani&esti
Ejecuta dani&estiDaniDuff95
 
Sistema digitales 2.
Sistema digitales 2.Sistema digitales 2.
Sistema digitales 2.PedroGalue
 
Componerntes internos
Componerntes internosComponerntes internos
Componerntes internoscintiacaceres
 
componentes internos
componentes internoscomponentes internos
componentes internoscintiacaceres
 
Registros de los Microprocesadores
Registros de los MicroprocesadoresRegistros de los Microprocesadores
Registros de los Microprocesadoresjosep urdaneta
 
Memoria de la computadora
Memoria de la computadoraMemoria de la computadora
Memoria de la computadorakarenmatallana1
 
Registro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorRegistro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorAnderson Gutierrez
 
T22 ejecutainstruccion sergiosoto
T22 ejecutainstruccion sergiosotoT22 ejecutainstruccion sergiosoto
T22 ejecutainstruccion sergiosotossotor
 
Capacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maicaCapacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maicaAndresMaica28
 
capacidad de unidad de procesamiento, universidad santiago mariño
capacidad de unidad de procesamiento, universidad santiago mariño capacidad de unidad de procesamiento, universidad santiago mariño
capacidad de unidad de procesamiento, universidad santiago mariño MiguelSifontes6
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpujomapuga
 
Memoria del computador
Memoria del computadorMemoria del computador
Memoria del computadorSofylutqm
 
Que es la cpu
Que es la cpuQue es la cpu
Que es la cpueljhanca
 
Previo3 - Dispositivos de E/S
Previo3 - Dispositivos de E/SPrevio3 - Dispositivos de E/S
Previo3 - Dispositivos de E/SBertha Vega
 
Capacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoCapacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoJehisglayOliveros
 

La actualidad más candente (19)

Capacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoCapacidad de la unidad de procesamiento
Capacidad de la unidad de procesamiento
 
Ejecuta dani&esti
Ejecuta dani&estiEjecuta dani&esti
Ejecuta dani&esti
 
Sistema digitales 2.
Sistema digitales 2.Sistema digitales 2.
Sistema digitales 2.
 
Gestion de memoria en unix y solaris
Gestion de memoria en unix y solarisGestion de memoria en unix y solaris
Gestion de memoria en unix y solaris
 
Componerntes internos
Componerntes internosComponerntes internos
Componerntes internos
 
componentes internos
componentes internoscomponentes internos
componentes internos
 
Registros de los Microprocesadores
Registros de los MicroprocesadoresRegistros de los Microprocesadores
Registros de los Microprocesadores
 
Memoria de la computadora
Memoria de la computadoraMemoria de la computadora
Memoria de la computadora
 
Registro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorRegistro e intrucciones de microprocesador
Registro e intrucciones de microprocesador
 
T22 ejecutainstruccion sergiosoto
T22 ejecutainstruccion sergiosotoT22 ejecutainstruccion sergiosoto
T22 ejecutainstruccion sergiosoto
 
Unidad de procesamiento
Unidad de procesamientoUnidad de procesamiento
Unidad de procesamiento
 
Capacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maicaCapacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maica
 
capacidad de unidad de procesamiento, universidad santiago mariño
capacidad de unidad de procesamiento, universidad santiago mariño capacidad de unidad de procesamiento, universidad santiago mariño
capacidad de unidad de procesamiento, universidad santiago mariño
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpu
 
Memoria del computador
Memoria del computadorMemoria del computador
Memoria del computador
 
Que es la cpu
Que es la cpuQue es la cpu
Que es la cpu
 
E altamirano tarea2
E altamirano tarea2E altamirano tarea2
E altamirano tarea2
 
Previo3 - Dispositivos de E/S
Previo3 - Dispositivos de E/SPrevio3 - Dispositivos de E/S
Previo3 - Dispositivos de E/S
 
Capacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoCapacidad de la unidad de procesamiento
Capacidad de la unidad de procesamiento
 

Destacado

Tabla comparativa teorías de cv
Tabla comparativa teorías de cvTabla comparativa teorías de cv
Tabla comparativa teorías de cvJose Acosta
 
CD DESPEDIDA DE SEXTO/ CD COMIAT DE SISÈ
CD DESPEDIDA DE SEXTO/ CD COMIAT DE SISÈCD DESPEDIDA DE SEXTO/ CD COMIAT DE SISÈ
CD DESPEDIDA DE SEXTO/ CD COMIAT DE SISÈserxmarza
 
Greece and European Union
Greece and European UnionGreece and European Union
Greece and European UnionJuraj Kucera
 
Mesa participacion social y comunitaria 2010
Mesa  participacion social y comunitaria 2010Mesa  participacion social y comunitaria 2010
Mesa participacion social y comunitaria 2010Rubiela Arce Peñaranda
 
Lluvia de ideas (2)
Lluvia de ideas (2)Lluvia de ideas (2)
Lluvia de ideas (2)yokicarlos
 
Power point educacion_inclusiva
Power point educacion_inclusivaPower point educacion_inclusiva
Power point educacion_inclusivaIriquin Nora
 
Housekeeping in-jeddah-saudi-arabia
Housekeeping in-jeddah-saudi-arabiaHousekeeping in-jeddah-saudi-arabia
Housekeeping in-jeddah-saudi-arabiamslmsaudi
 
Huauchinango
HuauchinangoHuauchinango
Huauchinangoabnermora
 
TRIBUTARIO DERECHO FINANCIERO
TRIBUTARIO DERECHO FINANCIEROTRIBUTARIO DERECHO FINANCIERO
TRIBUTARIO DERECHO FINANCIEROcacc93
 
Political Science Newsletter - Fall 2016
Political Science Newsletter - Fall 2016Political Science Newsletter - Fall 2016
Political Science Newsletter - Fall 2016Kristin Wichmann
 
June 2016 - Addressing the water and sanitation déficit
June 2016 - Addressing the water and sanitation déficitJune 2016 - Addressing the water and sanitation déficit
June 2016 - Addressing the water and sanitation déficitFGV Brazil
 

Destacado (20)

Tabla comparativa teorías de cv
Tabla comparativa teorías de cvTabla comparativa teorías de cv
Tabla comparativa teorías de cv
 
CD DESPEDIDA DE SEXTO/ CD COMIAT DE SISÈ
CD DESPEDIDA DE SEXTO/ CD COMIAT DE SISÈCD DESPEDIDA DE SEXTO/ CD COMIAT DE SISÈ
CD DESPEDIDA DE SEXTO/ CD COMIAT DE SISÈ
 
Greece and European Union
Greece and European UnionGreece and European Union
Greece and European Union
 
Mesa participacion social y comunitaria 2010
Mesa  participacion social y comunitaria 2010Mesa  participacion social y comunitaria 2010
Mesa participacion social y comunitaria 2010
 
Presentación1
Presentación1Presentación1
Presentación1
 
Lluvia de ideas (2)
Lluvia de ideas (2)Lluvia de ideas (2)
Lluvia de ideas (2)
 
Diseno 12
Diseno 12Diseno 12
Diseno 12
 
Danielyapocalipsis 090601151959-phpapp01
Danielyapocalipsis 090601151959-phpapp01Danielyapocalipsis 090601151959-phpapp01
Danielyapocalipsis 090601151959-phpapp01
 
Power point educacion_inclusiva
Power point educacion_inclusivaPower point educacion_inclusiva
Power point educacion_inclusiva
 
Panamericana 27 olga
Panamericana 27 olgaPanamericana 27 olga
Panamericana 27 olga
 
Housekeeping in-jeddah-saudi-arabia
Housekeeping in-jeddah-saudi-arabiaHousekeeping in-jeddah-saudi-arabia
Housekeeping in-jeddah-saudi-arabia
 
Hviezdoslav
HviezdoslavHviezdoslav
Hviezdoslav
 
Huauchinango
HuauchinangoHuauchinango
Huauchinango
 
Plano seriado
Plano seriadoPlano seriado
Plano seriado
 
Tecnologia.pptx
Tecnologia.pptxTecnologia.pptx
Tecnologia.pptx
 
TRIBUTARIO DERECHO FINANCIERO
TRIBUTARIO DERECHO FINANCIEROTRIBUTARIO DERECHO FINANCIERO
TRIBUTARIO DERECHO FINANCIERO
 
13A Erika Martinez
13A Erika Martinez13A Erika Martinez
13A Erika Martinez
 
Clorato de potasio
Clorato de potasioClorato de potasio
Clorato de potasio
 
Political Science Newsletter - Fall 2016
Political Science Newsletter - Fall 2016Political Science Newsletter - Fall 2016
Political Science Newsletter - Fall 2016
 
June 2016 - Addressing the water and sanitation déficit
June 2016 - Addressing the water and sanitation déficitJune 2016 - Addressing the water and sanitation déficit
June 2016 - Addressing the water and sanitation déficit
 

Similar a Clase 3.ram (segmentos), direccionamiento miento.

Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorInfomania pro
 
Lenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - MemoriaLenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - Memoriasirfids
 
5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas5154 Tema3 Jose Rojas
5154 Tema3 Jose RojasJose Rojas
 
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOSCOMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOSSpacetoshare
 
Diagrama de bloque procesador intel
Diagrama de bloque procesador intelDiagrama de bloque procesador intel
Diagrama de bloque procesador intelCristian Paredes
 
Arquitectura de una computadora
Arquitectura de una computadoraArquitectura de una computadora
Arquitectura de una computadorajessiicasaldana
 
El Procesador o CPU 2
El Procesador o CPU 2El Procesador o CPU 2
El Procesador o CPU 2Jorge Pulido
 
INTRODUCCION A LOS SISTEMAS OPERATIVOS
INTRODUCCION A LOS SISTEMAS OPERATIVOSINTRODUCCION A LOS SISTEMAS OPERATIVOS
INTRODUCCION A LOS SISTEMAS OPERATIVOSAnel Sosa
 
Estructura del computador kayori
Estructura del computador kayoriEstructura del computador kayori
Estructura del computador kayoriLic_Kayori_Salas
 
Ensamblador
EnsambladorEnsamblador
EnsambladorBlan Kis
 

Similar a Clase 3.ram (segmentos), direccionamiento miento. (20)

Tutorial ensamblador
Tutorial ensambladorTutorial ensamblador
Tutorial ensamblador
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Logica digital
Logica digitalLogica digital
Logica digital
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 
Lenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - MemoriaLenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - Memoria
 
5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas
 
Unidad I.pdf
Unidad I.pdfUnidad I.pdf
Unidad I.pdf
 
Evolución de la programación
Evolución de la programaciónEvolución de la programación
Evolución de la programación
 
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOSCOMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
 
Diagrama de bloque procesador intel
Diagrama de bloque procesador intelDiagrama de bloque procesador intel
Diagrama de bloque procesador intel
 
Data segment
Data segmentData segment
Data segment
 
Arquitectura de una computadora
Arquitectura de una computadoraArquitectura de una computadora
Arquitectura de una computadora
 
Ec2
Ec2Ec2
Ec2
 
El Procesador o CPU 2
El Procesador o CPU 2El Procesador o CPU 2
El Procesador o CPU 2
 
INTRODUCCION A LOS SISTEMAS OPERATIVOS
INTRODUCCION A LOS SISTEMAS OPERATIVOSINTRODUCCION A LOS SISTEMAS OPERATIVOS
INTRODUCCION A LOS SISTEMAS OPERATIVOS
 
00026966
0002696600026966
00026966
 
Assambler
AssamblerAssambler
Assambler
 
Estructura del computador kayori
Estructura del computador kayoriEstructura del computador kayori
Estructura del computador kayori
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 

Clase 3.ram (segmentos), direccionamiento miento.

  • 1. LENGUAJE ENSAMBLADOR: DIRECCIONAMIENTO DE MEMORIA RAM. La memoria RAM está seccionada en bytes. Por lo tanto, cada sección de la RAM, o sea, cada byte (8 bits) puede almacenar un total de 28=256 distintos valores. Desde el dato 00000000 hasta 11111111 o lo que es lo mismo: desde 00H hasta FFH. El microprocesador 8086 es un procesador de 16 bits, lo que significa que los registros del procesador son de una capacidad de procesamiento de 16 bits. Esto es, si deseamos almacenar en RAM el valor de un registro como el AX, será necesario utilizar 2 bytes o lo que es lo mismo, 2 localidades de memoria. Note que en memoria se almacenan de manera inversa los bytes. ¿Cómo se administra la memoria RAM? Sabemos que el trabajar con lenguaje ensamblador supone conocer los registros del microprocesador, sin embargo, es importante conocer el funcionamiento de la memoria RAM, ya que los programas que nosotros creamos en ensamblador, finalmente se almacena en memoria para ser ejecutados, además de eso, los datos que han de ser o que fueron procesados también se almacenan en memoria (esto sería, por ejemplo la equivalencia a guardar un valor en una variable). Cuando nosotros creamos un programa en ensamblador, el MS-DOS almacena el mismo en RAM, sin embargo, reserva 3 secciones de RAM, estas secciones se conocen como segmentos: ITSG. Ingeniería en sistemas computacionales. Lenguajes de interfaz. Ing. Alberto Valdez Sandoval.
  • 2. El segmento de código: Guarda las instrucciones que han de ejecutarse (o sea el cuerpo del programa). El segmento de datos: Contiene datos, constantes y áreas de trabajo definidos por el programa. El segmento de pila: La pila es otro segmento de la RAM que permite, en tiempo de ejecución de nuestro programa, almacenar temporalmente direcciones de memoria y datos. La manera de acceder a los segmentos (a la RAM) es por medio del direccionamiento, es decir, el direccionamiento es indicar al procesador a que dirección de memoria deseamos accesar para lectura o escritura de la misma. Esto se logra gracias a los registros del microprocesador, específicamente los registros de segmento (16 bits c/u) guardan la dirección inicial de cada segmento. ITSG. Ingeniería en sistemas computacionales. Lenguajes de interfaz. Ing. Alberto Valdez Sandoval.
  • 3. Para visualizarlo de una manera más clara debemos darnos cuenta que las direcciones de memoria son de 5 dígitos hexadecimales, es decir, 20 bits. Sin embargo, el microprocesador puede almacenar sólo 16 bits. ¿Cómo se resuelve este problema de Hardware? Resulta que cada inicio de segmento de memora termina con 0, por ejemplo, en la figura de arriba, el segmento de código comienza en la dirección 25A40, por lo tanto, se sobreentiende que el último dígito es cero, por lo que no hay necesidad de almacenarlo, se explica a continuación: Pensemos en un programa que hemos ensamblado, entonces las instrucciones como MOV, ADD, etc. Se almacenarán en el segmento de código, es decir cada instrucción como MOV AX,[25A4] se almacena en una dirección (inclusive una instrucción puede requerir más de una dirección de memoria), pero se almacena en binario. Entonces, siguiendo el ejemplo de la figura, cuando ensamblemos el programa, las instrucciones a ejecutar por el microprocesador se guardarán a partir de la dirección 25A40 (en este ejemplo), pero, ¿Cuándo se ejecuta el programa, cómo sabe la computadora donde buscarlo en la memoria para su ejecución? Resulta que el encargado de guardar el programa en los segmentos de memoria es el DOS, y cuando deseamos ejecutarlo, el DOS almacena en los registros de segmento las localidades iniciales de los segmentos, de la siguiente manera: ITSG. Ingeniería en sistemas computacionales. Lenguajes de interfaz. Ing. Alberto Valdez Sandoval.
  • 4. Después de transferir las direcciones de inicio de segmento a los registros de segmento, el DOS transfiere el control al programa mismo y es entonces cuando se empiezan a ejecutar todas las instrucciones del mismo, una vez que se termina de ejecutar el programa, el DOS vuelve a tomar el control de los recursos del sistema. Pero…En el caso del segmento de código, si el DOS coloca sólo la dirección de inicio ¿cómo es que se ejecutan las instrucciones siguientes? Para eso se utilizan los registros de desplazamiento, por ejemplo: Si la dirección de inicio del segmento de código es 25A4[0] y el registro IP contiene 412H, entonces, la siguiente instrucción a ejecutar será: ITSG. Ingeniería en sistemas computacionales. Lenguajes de interfaz. Ing. Alberto Valdez Sandoval.
  • 5. 25A40H + 412H ------------ 25E52H Los registros asociados con el desplazamiento son: IP para CS SP para SS ITSG. Ingeniería en sistemas computacionales. Lenguajes de interfaz. Ing. Alberto Valdez Sandoval.