1.-¿Que es lenguaje ensambledor?
Es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador.
Fue usado principalmente en los inicios del desarrollo de software, cuando aun no se contaba con los potentes lenguajes de alto nivel. Actualmente se utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la manipulación directa de hardware, se pretenden altos rendimientos o un uso de recursos controlado y reducido.

2.-¿para que te sirve el lenguaje ensamblador?
Es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador.
Fue usado principalmente en los inicios del desarrollo de software, cuando aun no se contaba con los potentes lenguajes de alto nivel. Actualmente se utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la manipulación directa de hardware, se pretenden altos rendimientos o un uso de recursos controlado y reducido.
La entrada para un ensamblador es un programa fuente escrito en lenguaje ensamblador. La salida es un programa objeto, escrito en lenguaje de máquina. El programa objeto incluye también la información necesaria para que el cargador pueda preparar el programa objeto para su ejecución.
Motivos para utilizarlo.
Rapidez: Como el programador directamente selecciona las instrucciones que se ejecutan en el programa, el programa final queda mas optimizado que un programa generado por un compilador.
Mayor control de la computadora: Un programa puede acceder directamente cualquier componente y periférico de la computadora.
Independencia del lenguaje: No depende de librerías o del lenguaje mismo para realizar una tarea específica. Lenguajes como el Basic limitan al programador a lo que el lenguaje puede hacer.
La mayoría de las computadoras pueden ensamblar: Los recursos necesarios para ensamblar un programa son mucho menores que los compiladores o intérpretes. El ensamblador generalmente es más rápido ensamblando un programa que un compilador generando un archivo ejecutable.
.jpg)
3.-¿Menciona almenos dos ejemplos de donde se puede aplicar el lenguaje ensamblador?
Ejemplo: El siguiente es un ejemplo del programa clásico Hola mundo escrito para la arquitectura de procesador x86 (bajo el sistema operativo DOS).
.model small
.stack .data
Cadena1 DB 'Hola Mundo.$'
.code
programa:
mov ax, @data
mov ds, ax
mov dx, offset Cadena1
mov ah, 9
int 21h
end programa
Ejemplo: Código en lenguaje ensamblador para µC Intel 80C51:
ORG 8030H
T05SEG:
SETB TR0
JNB uSEG,T05SEG ;esta subrutina es utilizada
CLR TR0 ;para realizar una cuenta de
CPL uSEG ;0,5 segundos mediante la
MOV R1,DPL ;interrupción del timer 0.
MOV R2,DPH
CJNE R2,#07H,T05SEG
CJNE R1,#78H,T05SEG
MOV DPTR,#0000H
RET
4.-¿Como se realisa el manejo de memoria?
La unidad de manejo de memoria (Lat.) o unidad de gestión de memoria (Esp.) (en inglés: Memory Management Unit o simplemente MMU) es un dispositivo de Hardware formado por un grupo de circuitos integrados, responsable del manejo de los accesos a la memoria por parte de
Entre las funciones de este dispositivo se encuentran la traducción de las direcciones lógicas (o virtuales) a direcciones físicas (o reales), la protección de la memoria, el control de caché y, en arquitecturas de computadoras más simples (especialmente en sistemas de 8 bits), Bank switching.
Cuando la CPU intenta acceder a una dirección de memoria lógica, la MMU realiza una búsqueda en una memoria caché especial llamada Buffer de Traducción Adelantada (TLB, Translation Lookaside Buffer), que mantiene la parte de la tabla de páginas usada hace menos tiempo. En esta memoria se mantienen entradas de la tabla de páginas (llamadas PTE por sus siglas en inglés, Page Table Entry), donde se pueden rescatar las direcciones físicas correspondientes a algunas direcciones lógicas, de forma directa. Cuando la dirección requerida por la CPU se encuentra en el TLB, su traducción a dirección real o física es entregada, en lo que se conoce como 'acierto en el TLB' ('TLB hit'). En otro caso, cuando la dirección buscada no se encuentra en el TLB (fallo en el TLB), el procesador busca en la tabla de páginas del proceso utilizando el número de página como entrada a la misma.

En informática, una direccionamiento es un identificador para una localización de memoria con la cual un programa informático o un dispositivo de hardware pueden almacenar un dato para su posterior reutilización.
Una forma común de describir la memoria principal de un ordenador es como una colección de celdas que almacenan datos e instrucciones. Cada celda está identificada unívocamente por un número o dirección de memoria. La información que se almacena en cada celda es un byte (conjunto de ocho bits), que es la unidad mínima de almacenamiento de datos e instrucciones, ya que un bit solo puede contener el valor cero o uno y eso no es suficiente para guardar datos o instrucciones, por lo que se debe almacenar en bytes.
Para poder acceder a una ubicación específica de la memoria, la CPU genera señales en el bus de dirección, que habitualmente tiene un tamaño de 32 bits en la mayoría de máquinas actuales. Un bus de dirección de 32 bits permite especificar a la CPU 232 = 4.294.967.296 direcciones de memoria distintas.
Aplicación informática
En aplicaciones informáticas las direcciones son asignadas por el sistema operativo a cada programa en ejecución, asegurándose éste, comúnmente por medio de un daemon, que las direcciones utilizadas por un ejecutable u otro proceso no se solapen o se escriba en posiciones protegidas de memoria, por ejemplo, en el sector de arranque.
Los sistemas operativos actuales son comúnmente diferenciados según el ancho de palabra soportado por sus registros, es decir 32 y 64 bits.

Directo: El campo de operando en la instrucción contiene la dirección en memoria donde se encuentra el operando.
En este modo la dirección efectiva es igual a la parte de dirección de la instrucción. El operando reside en la memoria y su dirección es dada directamente por el campo de dirección de la instrucción. En una instrucción de tipo ramificación el campo de dirección especifica la dirección de la rama actual.
Con este tipo de direccionamiento, la dirección efectiva es contenida en la misma instrucción, tal como los valores de datos inmediatos que son contenidos en la instrucción. Un procesador de 16 bits suma la dirección efectiva al contenido del segmento de datos previamente desplazado en 4 bits para producir la dirección física del operando.
Indirecto: El campo de operando contiene una dirección de memoria, en la que se encuentra la dirección efectiva del operando.
Direccionamiento relativo: Cuando para direccionar una posición de memoria se hace referencia a otra sobre la cual se especifica un incremento o decremento, es decir, se requiere otro dato para el cálculo de la dirección efectiva.
Generalmente se usan los direccionamientos relativos ya que, al ejecutar un cierto programa se cumple la proximidad espacial y temporal, lo que implica que datos que ya han sido usados o que se encuentran en posiciones cercanas al PC tendrán una alta probabilidad de ser referenciados próximamente.
Inmediato: En la instrucción está incluido directamente el operando.En este modo el operando es especificado en la instrucción misma. En otras palabras, una instrucción de modo inmediato tiene un campo de operando en vez de un campo de dirección. El campo del operando contiene el operando actual que se debe utilizar en conjunto con la operación especificada en la instrucción. Las instrucciones de modo inmediato son útiles para inicializar los registros en un valor constante.
Cuando el campo de dirección especifica un registro del procesador, la instrucción se dice que está en el modo de registro.
Indexado: En el direccionamiento indexado como en el relativo, la parte dirección de la instrucción contiene un número N que puede ser positivo o negativo. Sin embargo para utilizar el direccionamiento indexado, el computador debe estar equipado con un registro especial empleado para permitir direccionamiento indexado, y denominado naturalmente registro índice. La posición de memoria donde se localiza el operando se encuentra mediante la suma I + N.
Inherente: Ordinariamente una dirección que es parte de una instrucción se refiere a una posición de memoria. Cuando una instrucción indica una fuente o un destino de datos y no se direcciona específicamente, ya no se hace referencia a la posición de memoria, se dice que la instrucción tiene una dirección inherente.

Un formato de archivo o programa informático (o formato de fichero informático) es una manera particular de codificar información para almacenarla en un archivo informático.
Dado que una unidad de disco, o de hecho cualquier memoria sólo puede almacenar bits, la computadora debe tener alguna manera de convertir la información a ceros y unos y viceversa. Hay diferentes tipos de formatos para diferentes tipos de información. Sin embargo, dentro de cada tipo de formato, por ejemplo documentos de un procesador de texto, habrá normalmente varios formatos diferentes, a veces en competencia.
mi hermano sigue asi
ResponderEliminar