Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lenguajesdeinterfaz 140305185358 Phpapp02
Lenguajesdeinterfaz 140305185358 Phpapp02
DE
FELIPE CARRILLO PUERTO
INVESTIGACIN:
U1 Introduccin al Lenguaje Ensamblador
D O C E N T E:
Ing. Marcos Gaspar Pech Cruz.
PRESENTA
Angulo Estrella Jess Alberto
Lara Domnguez Efran
Yama May Jos Luis
Aula: J2
Grupo: B
C A R R E R A:
Ingeniera en sistemas computacionales
M A T E R I A:
Lenguajes de Interfaz
Contenido
1.1 Importancia de la programacin en Lenguaje Ensamblador ....................................... 3
1.2 El procesador y sus registros internos ................................................................................... 4
1.3 La memoria principal (RAM) .................................................................................................... 7
1.4 Concepto De Interrupcin. ............................................................................................................ 8
1.5 Llamadas A Servicios Del Sistema. ........................................................................................ 9
1.6 Modos De Direccionamiento. ................................................................................................. 10
Direccionamiento Directo. ................................................................................................. 11
Direccionamiento Relativo................................................................................................. 12
Direccionamiento Indirecto. .............................................................................................. 12
Direccionamiento Implcito. ............................................................................................... 13
Direccionamiento de Registro. ......................................................................................... 13
Direccionamiento Indirecto por Registro. ..................................................................... 13
1.7 Proceso de ensamblado y ligado .......................................................................................... 14
1.8 Desplegado de mensajes en el monitor ............................................................................... 15
Lenguajes De Interfaz
2
ISC-6B
Lenguajes De Interfaz
3
ISC-6B
Registros de segmento
Un registro de segmento tiene 16 bits de longitud y facilita un rea de memoria
para direccionamiento conocida como el segmento actual.
Lenguajes De Interfaz
4
ISC-6B
Lenguajes De Interfaz
5
ISC-6B
Lenguajes De Interfaz
6
ISC-6B
Lenguajes De Interfaz
7
ISC-6B
que hay una cabeza lectograbadora que tiene que ubicarse en la posicin deseada
antes de leer el dato deseado.
Se dicen "de acceso aleatorio" porque los diferentes accesos son
independientes entre s. Por ejemplo, si un disco rgido debe hacer dos accesos
consecutivos a sectores alejados fsicamente entre s, se pierde un tiempo en mover
la cabeza hasta la pista deseada (o esperar que el sector pase por debajo, si ambos
estn en la misma pista), tiempo que no se pierde en la RAM.
Las RAM se dividen en estticas y dinmicas. Una memoria RAM esttica
mantiene su contenido inalterado mientras est alimentada. La informacin
contenida en una memoria RAM dinmica se degrada con el tiempo, llegando sta
a desaparecer, a pesar de estar alimentada. Para evitarlo hay que restaurar la
informacin contenida en sus celdas a intervalos regulares, operacin denominada
refresco.
Las memorias se agrupan en mdulos, que se conectan a la placa base del
computador. Segn los tipos de conectores que lleven los mdulos, se clasifican en
Mdulos SIMM (Single In-line Memory Module), con 30 o 72 contactos,
mdulos DIMM (Dual In-line Memory Module), con 168 contactos y
mdulos RIMM (RAMBUS In-line Memory Module) con 184 contactos.
Lenguajes De Interfaz
8
ISC-6B
Este "hilo" es, de hecho, una lnea fsica que conecta cada ranura de
expansin as como cada interfaz E/S a la placa madre. Para una ranura ISA de 8
bits, por ejemplo, hay 8 lneas IRQ que unen ranuras ISA de 8 bits a la placa madre
(IRQ0 a IRQ7). Estos IRQ estn controlados por un "controlador de interrupcin"
que se encarga de cederle la palabra al IRQ que posee la mayor prioridad.
Al aparecer las ranuras de 16 bits, se agregaron IRQ 8 a 15. En
consecuencia, fue necesario agregar un segundo controlador de interrupcin. Los
dos grupos de interrupciones estn unidos por IRQ 2 el cual se conecta (o "produce
una cascada") a IRQ 9. En cierto modo, esta cascada "inserta" IRQ 8 a 15 entre
IRQ1 y 3:
Dado que la prioridad va del IRQ inferior al superior y que se insertan IRQ 8
a 15 entre IRQ 1 y 3, el orden de prioridad es el siguiente:
0 > 1 > 8 > 9 > 10 > 11 > 12 > 13 > 14 > 15 > 3 > 4 > 5 > 6 > 7
Lenguajes De Interfaz
9
ISC-6B
Lenguajes De Interfaz
10
ISC-6B
Direccionamiento Directo.
Es directo cuando la instruccin contiene el lugar donde se encuentra el
operando. Segn el lugar donde se encuentra el operando puede ser:
Direccionamiento directo a registro.
Direccionamiento directo a memoria
Direccin completa (p. ej. Z80 sobre 64 Kb con 16 bits)
Direccin sobre una pgina del mapa de memoria; tambin se
conoce como direccionamiento de pgina base.
Lenguajes De Interfaz
11
ISC-6B
Direccionamiento Relativo.
La instruccin indica el desplazamiento del operando con respecto a un
puntero:
La direccin efectiva es calculada por la unidad de control sumando, o
restando, el desplazamiento al puntero de referencia que suele estar en un registro.
Dependiendo del puntero se tienen diferentes modos de direccionamiento.
Direccin efectiva = Reg. Referencia + desplazamiento.
Modo de direccionamiento / Registro de referencia / Clculo direccin efectiva:
Relativo a contador de programa Contador de programa (CP) DE = CP +
desplazamiento.
Relativo a registro base Un registro base (R B) DE = RB + desplazamiento.
Relativo a registro ndice Un registro ndice (R I) DE = RI +
desplazamiento.
Relativo a pila Registro de pila (SP) DE = SP + desplazamiento.
Ventajas
Las instrucciones son ms compactas.
El cdigo puede cambiar de lugar en el mapa de memoria con cambiar el
valor del puntero.
Gran facilidad de manejo de estructuras de datos.
Inconvenientes
Se requiere una operacin adicional para el clculo de la direccin del
operando.
Direccionamiento Indirecto.
La posicin indicada por la instruccin no es el operando sino la direccin de
memoria en la que se encuentra, por lo que se necesita un acceso adicional a
memoria.
ITS Carrillo Puerto
Lenguajes De Interfaz
12
ISC-6B
Direccionamiento Implcito.
En este modo de direccionamiento no es necesario poner ninguna direccin
de forma explcita, ya que en el propio cdigo de operacin se conoce la direccin
del (de los) operando(s) al (a los) que se desea acceder o con el (los) que se quiere
operar. Requiere que el programador conozca con que operandos se est
trabajando.
Direccionamiento de Registro.
Sirve para especificar operandos que estn en registros.
Lenguajes De Interfaz
13
ISC-6B
de nuevo para leer una direccin efectiva. Unos pocos modos de direccionamiento
requieren que el campo de direccin de la instruccin sea sumado al control de un
registro especificado en el procesador. La direccin efectiva en este modo se
obtiene del siguiente clculo:
Dir. Efectiva = Dir. de la parte de la instruccin + Contenido del registro del
procesador.
Lenguajes De Interfaz
14
ISC-6B
primero
Identificadores.
Un identificador es un nombre que se aplica a elementos en el programa. Los
dos tipos de identificadores son: nombre, que se refiere a la direccin de un
elemento de dato y etiqueta, que se refiere a la direccin de una instruccin. Un
identificador puede usar los siguientes caracteres:
ITS Carrillo Puerto
Lenguajes De Interfaz
15
ISC-6B
Lenguajes De Interfaz
16
ISC-6B
SEGMENT
alineacin
combinar
Lenguajes De Interfaz
' clase
17
ISC-6B
PARA
STACK
SEGMENT
PARA
STACK
'Stack'
Directiva Assume.
Un programa utiliza el registro SS para direccionar la pila, al registro DS para
direccionar el segmento de datos y el registro CS para direccionar el segmento de
cdigo. Para este fin, usted tiene que indicar al ensamblador el propsito de cada
segmento en el programa.
La directiva para este propsito es ASSEME, codificada en el segmento de
cdigo como sigue:
Operacin Operando.
ASSUME
Lenguajes De Interfaz
18
ISC-6B
...
STACKSG ENDS
------------------------------------------------------------------------------DATASG SEGMENT PARA 'Data'
...
DATASG ENDS
;------------------------------------------------------------------------------CODESG SEGMENT PARA 'Code'
BEGIN
PROC
FAR
ASSUME
SS:STACKSG, DS:DATASG,CS:CODESG
MOV
AX, DATASG
;Obtiene la direccin del segmento de datos
MOV
DS, AX
;Almacena direccin en DS
...
MOV
AX, 4C00H
;Peticion
INT
21H
;Salida al DOS
BEGIN
ENDP
CODESG ENDS
END
BEGIN
Lenguajes De Interfaz
19
ISC-6B
.STACK [tamao]
.DATA
.CODE [nombre]
Cada una de estas directivas hace que el ensamblador genere el enunciado
SEGMENT necesario y su correspondiente ENDS. Los nombres por omisin de los
segmentos (que usted no tiene que definir) son STACK, DATA y TEXT (para el
segmento de cdigo).
Lenguajes De Interfaz
20
ISC-6B