Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capitulo 3-Repertorio Onstrucciones Lenguaje Ensamblador 2018
Capitulo 3-Repertorio Onstrucciones Lenguaje Ensamblador 2018
DE COMPUTADORAS - CAP 3
ITZEL DE JUÁREZ
Cada instrucción debe contener la información que necesita El CPU
para su ejecución:
• Memoria principal. En este caso debe indicarse la dirección de la celda que contiene el
operando
• Registro del CPU. Dependiendo de la arquitectura, el CPU contiene uno o más registros
que pueden ser referenciados por las instrucciones de máquina. Si sólo existe un registro,
la referencia al mismo puede ser implícita. Si existe más de uno, cada registro tendrá
asignado un número único, y la instrucción debe contener el número del registro deseado.
5
Criterios para el diseño de los formatos de las instrucciones
7
• Esta decisión afecta, y se ve afectada por:
o El tamaño de la memoria.
o La organización de la memoria.
o La estructura del bus.
o La complejidad de la CPU.
o La velocidad de la CPU.
8
Todas las
instrucciones
poseen la misma
longitud
9
Un aspecto difícil es cómo
asignar los bits en un formato.
Un mayor números de códigos
de operación reduce el número
de bits disponibles para el
direccionamiento.
10
• Número de modos de direccionamiento.
• Número de operandos.
• Registros frente a memoria.
• Número de conjuntos de registros.
• Rango de direcciones.
• Granularidad de las direcciones.
11
Las instrucciones que hacen
referencia a un registro pueden
contener tres bits que indican el
registro particular y el bit-w que
señala si el ancho es de un byte (0) o
de una palabra (1). Además, solo
ciertas instrucciones pueden accesar
los registros de segmentos.
12
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 aún no se contaba con los
potentes lenguajes de alto nivel.
13
El uso de comentarios a lo largo de
un programa puede mejorar su
claridad en especial en este lenguaje,
donde el propósito de un conjunto de
instrucciones con frecuencia no es
claro.
14
FORMATO GENERAL DE DE
CODIFICACIÓN
Las directivas de impresión del
listado de un programa, incluyendo la
inicialización y la terminación de su
ejecución. Los dos programas
básicos de programas ejecutables
son EXE. Y COM.
15
REQUISITOS PARA DEFINIR
ELEMENTOS DE DATOS:
El ensamblador permite la definición
de elemento de varias longitudes de
acuerdo con el conjunto de directivas
que defina datos.
16
Primero se debe diseñar los algoritmos que
utilizará el programa, luego se realiza su
codificación en algún lenguaje de programación,
luego se traduce a código de máquina (Cuando se
trabaja en asembler, éste proceso se llama
ensamblar, cuando es otro lenguaje se llama
compilar) y al formato que entiende el programa
que cargará el programa a crear, se prueba el
programa y si hay errores se depura (Consiste en
eliminarle los errores al programa), cuando hay
un error generalmente se vuelve a repetir el paso
1 o el 2.
17
Consiste en la traducción del código fuente en
código objeto y la generación de un archivo
objeto .OBJ (objeto) o modulo. Una de las tareas
del ensamblador es calcular el desplazamiento de
cada elemento en el segundo de datos y de cada
instrucción en el segmento de código. El
ensamblador también crea un encabezado al
frente del modulo .OBJ generado; parte del
encabezado tiene información acerca de
direcciones incompletas. El modulo objeto aún no
está en forma ejecutable.
18
Implica convertir el modulo .OBJ en un modulo de
código de máquina .EXE (ejecutable). Una de las
tareas del enlazador es combinar los programas
ensamblados en forma separada en un modulo
ejecutable.
19
El enlazador fusiona los espacios de
direcciones de los módulos objeto en un
solo espacio de direcciones lineal
siguiendo estos pasos:
20
El cargador conoce donde está el
programa a punto de ser cargado,
puede completar las direcciones
indicadas en el encabezado que
estaban incompletas. El cargador
desecha el encabezado y crea PSP
inmediatamente antes del programa
cargado en memoria.
21
La ejecución, una vez enlazado y
ensamblado un programa, ahora puede al
fin ejecutarlo. Si el archivo .EXE está en la
unidad por omisión, podría usar el dos para
cargarlo para su ejecución introduciendo:
PO5ASM1.EXE o PO5ASM1
22
Si se omite la extensión del archivo, es dos
supone que es .EXE, sin embargo, ya que
este programa no produce resultados
visibles, se sugiere que lo ejecute con
DEBUG y avance paso por paso en su
ejecución con comandos de rastreo(T). se
teclean lo siguiente incluyendo la extensión
.EXE:
23
DEBUG carga el modulo del programa .EXE y muestra su
indicación. Para ver el segmento de pila teclee:
D SS: O
La pila solo contiene cero ya que fue la forma de inicializarla.
Para ver el segmento de datos, teclee:
D DS: O
La operación muestra tres elementos de datos FA 00 7D 00 00
00, con los bits de cada palabra en orden inverso. Para ver el
segmento de código teclee:
D CS: O
24
Compare el código de maquina mostrado con el de
segmento de código en el listado del ensamblado:
B8 - - - - 8ED8A10000
En este caso el listado de ensamblado no muestra
de manera precisa el código de máquina, ya que el
ensamblador no conoce la dirección del operando
de la primera instrucción.
25
• https://silvamondragon.wordpress.com/2010/
11/29/4-2-2-conjunto-de-instrucciones/