Академический Документы
Профессиональный Документы
Культура Документы
Reglamento
Art. 37: El alumno deber asistir regular y puntualmente
a sus clases.
Art. 38: Es obligacin de los alumnos:
EVALUACIN
40%
50%
10%
Examen parcial
Examen final (80% Terico y 20% prctico)
Evaluacin continua (Prcticas)
Prcticas
Cada prctica a entregar (Blackboard) debe
contenerlos siguientes elementos:
Caratula
Objetivo
Diagrama de flujo
Cdigo
Resultados
Conclusiones
Bibliografa
Cartula
Objetivo
Diagrama de flujo
Cdigo
Resultados
Conclusiones
Bibliografa
Archivo asm
Archivo .obj
Archivo .exe
Bibliografa
1. Irvine, Kip R.
Lenguaje ensamblador: para computadoras basadas en intel.
Pearson, 2008.
2. Louden, Kenneth C.
Lenguajes de programacin: Principios y Prctica
Thompson, 2004.
3. Tanenbaum, Andrew S.
Organizacin de computadoras: un enfoque estructurado.
Prentice Hall, 2000
OBJETIVOS GENERALES
DESCRIBIR LOS ELEMENTOS, FUNCIONES Y ARQUITECTURA
DE LOS MICROPORCESADORES
TEMARIO
1. Conceptos bsicos
TEMARIO
2. Programacin en ensamblador
TEMARIO
3. Instrucciones
3.1 Instrucciones
4. Interrupciones
4.1 Introduccin
TEMARIO
TEMARIO
6. Macros y procedimientos
6.1 Procedimientos
6.2 Macros
Antes de comenzar
Bit: Es la unidad ms pequea de informacin
que tiene una computadora (0,1).
Byte: Es el conjunto de ocho bits.
Nmero binarios
Nmeros hexadecimales
Aritmtica Binaria
1.
2.
3.
4.
5.
Ejercicios:
1010+1100=
1111+1111=
10101*10=
1101-100=
1101+0110=
UNIDAD 1. CONCEPTOS
BSICOS
TEMAS
Conceptos bsicos
TEMAS
1.2 Mtodos de representacin de datos en la
computadora
1.2.1 Cdigo ASCII
1.2.2 Mtodo BCD
Unidades de informacin
Unidades de informacin
Unidades de informacin
Byte: Consiste de 8 bits. Las referencias hacia cierta
localidad de memoria en todos los microprocesadores
nunca es menor que un byte, por lo tanto, se considera
el dato localizable ms pequeo.
Los bits de un byte normalmente se numeran desde 0
hasta 7. El bit 0 se le llama bit de ms bajo orden o
menos significante, el bit 7 se considera el bit de ms
alto orden o el ms significante.
Unidades de informacin
Un byte consta tambin de 2 nibbles, los bits 0, 1, 2 y 3
forman el llamado nibble de menor orden, y los bits 4, 5,
6 y 7 forman el nibble de mayor orden. Como un byte
est formado de exactamente dos nibbles, es posible
representar
cualquier
valor
con
dos
dgitos
hexadecimales.
Unidades de informacin
Sistemas numricos
Sistema Decimal
Sistema Octal
Sistema Hexadecimal
Sistema Decimal
Es un sistema de numeracin posicional en el
que las cantidades se representan utilizando
como base aritmtica las potencias del nmero
diez. El conjunto de smbolos utilizado se
compone de diez cifras : cero (0) - uno (1) dos (2) - tres (3) - cuatro (4) - cinco (5) - seis (6)
- siete (7) - ocho (8) y nueve (9).
Sistema Octal
Es un sistema numrico en base 8 y utiliza los
dgitos del 0 al 7.
A veces se utiliza la numeracin octal en vez de
la hexadecimal. Ya que tiene la ventaja de que
no requiere utilizar otros smbolos diferentes de
los dgitos.
Conversin de nmeros
binarios a decimales
100100112 =
111100112 =
11001112 =
100111112 =
Conversin de nmeros
decimales a binarios
Sistema Hexadecimal
Es el sistema de numeracin posicional que tiene como
base el 16. Su uso actual est muy vinculado a
la informtica y ciencias de la computacin, pues
las computadoras utilizan el byte u octeto como unidad
bsica de memoria; y, debido a que un byte representa
28 valores posibles, y esto puede representarse como ,
que equivale al nmero en base 16 , dos dgitos
hexadecimales corresponden exactamente a un byte.
Ejemplos:
Ejemplos:
Convertir el nmero binario 11111101011100112 a su
equivalente hexadecimal:
Ejemplos:
Convertir
un
nmero
hexadecimal
(9DB.A5)16 a su equivalente binario:
Ejercicios
Mtodos de representacin de
datos en la computadora
Cdigo ASCII
Acrnimo ingls de American Standard Code
for Information Interchange (Cdigo Estndar
Estadounidense para el Intercambio de
Informacin).
Fue creado en 1963 por el Comit
Estadounidense de Estndares como una
evolucin de los conjuntos de cdigos utilizados
entonces en telegrafa.
Mtodo BCD
Mtodo BCD
An cuando este mtodo es mucho mas
prctico para representacin de nmeros en la
memoria en comparacin al ASCII, todava se
queda por debajo del binario, ya que con un
byte en el mtodo BCD solo podemos
representar dgitos del 0 al 99, en cambio, en
formato binario podemos representar todos los
dgitos desde 0 hasta 255.
Ejemplos
Ejercicio
Transformar los
decimales a BCD:
73=
142=
25=
41=
33=
siguientes
55=
251=
62=
1328=
99=
nmeros
Proceso de creacin de un
programa
Segmento de cdigo
Segmento de datos
Segmento de pila
Registros
Registros de segmento
Registros de segmento
Registro DS: Esta direccin de segmento, ms un valor
de desplazamiento en una instruccin, indica la
referencia de un byte especifico en el segmento de
datos.
Registro SS: Permite la colocacin en memoria de una
pila, para el almacenamiento temporal de direcciones y
datos. Esta direccin de segmento, ms un valor de
desplazamiento en el registro apuntador de pila (SP),
indica la palabra actual en la pila que esta siendo
direccionada.
Registro apuntador
El registro apuntador de instrucciones (IP) de 16
bits contiene el desplazamiento de direccin de
la siguiente instruccin que se ejecuta.
El registro IP esta asociado con el registro CS
en el sentido de que el IP indica la instruccin
actual dentro del segmento de cdigo que se
esta ejecutando actualmente.
Registro apuntador
En el ejemplo siguiente, el registro CS contiene
25A40H y el IP contiene 412H. Para encontrar la
siguiente instruccin que ser ejecutada el
procesados combina las direcciones en el CS y
el IP as:
25A40H
+
412H
25E52H
Registro BX.
El BX es conocido como el registro base
ya que es el nico registro de propsitos
generales que pueden ser unos ndices
para direccionamiento indexado. Tambin
es comn emplear al BX para clculos.
Registro DX
El DX es conocido como el registro de
datos.
Algunas
operaciones
de
entrada/salida requieren su uso, y las
operaciones de multiplicacin y divisin
con cifras grandes suponen al DX y al AX
trabajando juntos. Puede usar los
registros de propsitos para suma y resta
de cifras de 8, 16, 32 bits.
Registros de banderas
Los registros de banderas sirven parar indicar el
estado actual de la maquina y el resultado del
procesamiento, Cuando algunas instrucciones piden
comparaciones o clculos aritmticos cambian
el
estado
de
las
banderas.
Las banderas estn en el registro de banderas en las
siguientes posiciones:
Registros de banderas
Las banderas ms comunes son las siguientes:
OF (Over flow flag, desbordamiento). Indica el desbordamiento
de un bit de orden alto (mas a la izquierda) despus de una
operacin aritmtica.
DF (Direction flag, Direccion). Designa la direccin hacia la
izquierda o hacia la derecha para mover o comparar cadenas de
caracteres.
IF (Interruption flag, Interrupcion): Indica que una interrupcin
externa, como la entrada desde el teclado sea procesada o
ignorada.
TF (Trap flag, Trampa). Examina el efecto de una instruccin sobre
los registros y la memoria. Los programas depuradores como
DEBUG, activan esta bandera de manera que pueda avanzar en la
ejecucin de una sola interrupcin a un tiempo.
Modos de direccionamiento
Son las diferentes maneras de especificar un
operando dentro de una instruccin en lenguaje
ensamblador.
Un modo de direccionamiento especifica la
forma de calcular la direccin de memoria
efectiva de un operando mediante el uso de la
informacin contenida en registros y / o
constantes, contenida dentro de una instruccin
de la mquina o en otra parte.
Tipos de
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.
Supongamos una arquitectura de pila, las operaciones
aritmticas no requieren direccionamiento explcito por
lo que se ponen como:
add
sub
Inmediato
En este modo el operando es especificado en la
instruccin misma. En otras palabras, una instruccin de
modo inmediato tiene un campo de operando en vez de
un campo de direccin. El campo del operando contiene
el operando actual que se debe utilizar en conjunto con
la operacin especificada en la instruccin. Las
instrucciones de modo inmediato son tiles para
inicializar los registros en un valor constante.
Ejemplo:
MOV A,17H
Directo
El campo de operando en la
instruccin contiene la direccin
en memoria donde se encuentra
el operando.
En este modo la direccin
efectiva es igual a la parte de
direccin de la instruccin. El
operando reside en la memoria y
su
direccin
es
dada
directamente por el campo de
direccin de la instruccin.
Ejemplo:
MOV AX,[17H]
Indirecto
El
campo
de
operando contiene
una direccin de
memoria, en la que
se
encuentra
la
direccin efectiva del
operando.
De registro
Condiciones
En programacin, una sentencia condicional es una
instruccin o grupo de instrucciones que se pueden
ejecutar o no en funcin del valor de una condicin.
Los tipos ms conocidos de sentencias condicionales
son el SI..ENTONCES (if..then), el SI..ENTONCES..SI
NO (if..then..else) y el SEGN (case o switch), aunque
tambin podramos mencionar al lanzamiento de errores
como una alternativa ms moderna para evitar el
"anidamiento" de sentencias condicionales.
Saltos condicionales
Ciclos
Bifurcaciones
Llega un momento en
que necesitamos hacer
una
bifurcacin
condicional: si se cumple
una condicin hacer una
cosa, si no se cumple
hacer otra.
Para ello
colocaremos las llamadas
"bifurcaciones", que las
hay de tres tipos:
Bifurcacin completa
Otro caso es ejecutar
unos comandos en
caso de que se
cumpla una condicin
o otros comandos en
caso contrario. Lo cual
viene expresado por
"diagrama de flujo"
as:
Bifurcacin mltiple
Un tercer caso es el de
ejecutar unos comandos
en caso de que se cumpla
una
condicin(1)
o ejecutar otros en caso
de cumplir una condicin2
... etc. finalmente ejecutar
otros en caso de fallar las
dos (o ms) condiciones
anteriores. Lo cual viene
expresado mediante el
"diagrama de flujo" as:
Experiencia de aprendizaje
1. Que es un bit?
2. Convertir a decimal los siguientes nmeros binarios:
11101011,10101011,100111, 10011011.
3. Cmo se transforma de un nmero binario a hexadecimal y viceversa?
4. Qu es el cdigo ASCII?
5. Que es un segmento?
6. Cuantos y cuales son los segmentos en ensamblador?
7. Qu es un registro?
8. Que es un registro de segmento? Da algunos ejemplos
9. Que es un registro apuntador?
10. Que es un registro de propsito general? Da ejemplos
11. Que son las banderas?
12. Que es el direccionamiento inmediato?
13. Que es el direccionamiento directo?
14. Que es el direccionamiento indirecto?
15. Que es una condicin?
16. Que es un ciclo?
17. Que es una bifurcacin?
Registro
http://vmf.hostei.com/1/isc-lati.html
Dudas