lunes, 28 de octubre de 2013

Programa Saludos





Actividad Saltos

1. teclee el siguiente codigo
2. ensamble y enlace
3. Para ejecutarlo y ver paso lo que ocurre en memoria y registro escriba lo siguiente en el prompt del msdos
DEBUG nombrePrograma.exe
D SS:0
D DS:0
D CS:0
R
T
hasta llegar a la interrupcion


Observe que pasa con los registros cx , ip etc y los registros de banderas


capture las pantallas y describa que pasa en cada paso de la ejecucion del programa







Aqui se puede observar la cadena



Podemos observar cuando se realiza un salto

viernes, 4 de octubre de 2013

Cuestionario Capitulo 4



Del libro en el siguiente enlace lea y conteste las preguntas del capitulo 4



4.1.- El lenguaje ensamblador proporciona mas control sobre el manejo particular de los requerimientos de hardware.
Genera modulos ejecutables mas pequeños y mas compactos.
Tiene una ejecución mas rápida.

4.2.-
Ciertas palabras en lenguaje ensamblador están reservadas para sus propósitos propios y son usadas solo bajo condiciones especiales. Tales como las instrucciones MOV y ADD o las directivas como END o SEGMENT.

4.3.-Nombre: que se refiere a la dirección de un elemento dado.
Etiqueta: que se refiere a la dirección de la instrucción.

4.4.-
A) PC_AT ->  Nombre Valido
B) $50 -> Nombre Valido
C) @$_Z -> Nombre Valido
D) 34B7 - > Nombre No Valido
E) AX - > Nombre No Valido

4.5.- Las instrucciones, tal como MOV y ADD, son las que el ensamblador traduce a código objeto; y las directivas indican al ensamblador que realice una acción especifica, como definir un elemento de dato.

4.6.-
A).- TITLE
B).- PAGE

4.7.-
Segmento de pila: Define el almacen de la pila
Segmento de datos: Define los elementos de datos.
Segmento de código:  Proporciona un código ejecutable.

4.8.-
Tipo Alineacion: La entrada alineación indica el limite en el que inicia el segmento.
Tipo Combinar: La entrada combinar indica si se combina el segmento con otros segmentos cuando son enlazados después de ensamblar.
Tipo Clase: La entrada clase,es utilizada para agrupar segmentos cuando se enlazan.


4.9.-
A) El nombre del procedimiento debe estar presente, ser único y seguir las reglas para la formación de nombres del lenguaje.
B) La directiva ENDP indica el fin de un procedimiento.
C) El operando FAR esta relacionado con la ejecicion del programa y el operando NEAR codifica cada PROC adicional.

4.10.-
A) Directiva END
B) Directiva ENDP
C) Directiva ENDS

4.11.-
4.12.-
STACKSG con el SS, DATASG con el DS y CODESG con el CS
ASSUME SS:STACKSG, DS: DATASG, CS: CODESG

4.13.-
A) El MOV carga la dirección del segmento de datos en el registro AX.
B) Estos enunciados definen el segmento de código del único procedimiento, llamado BEGIN.

4.14.-
TINY : Esta destinado para uso exclusivo de programas .com
SMALL : exige que el código quepa en un segmento de 64k.





4.15.-

A) DD: Palabra doble
B) DW: Palabra
C) DT: Diez bytes
D) DQ: Palabra Cuadruple
E) DB: Byte

4.16.- DB  “TITLE! RGB Electronics”

Programacion Basica

Actividad #9

Realizar investigación y listar las principales instrucciones de programación en lenguaje
ensamblador.

Competencia específica: Conocer y utilizar las principales instrucciones del lenguaje ensamblador, para realizar determinadas aplicaciones de interfaz.


CONJUNTO DE INSTRUCCIONES

 Las instrucciones están agrupadas en los siguientes grupos y subgrupos:



1.- TRANSFERENCIA DE DATOS.

a) De propósito general.
b) Entrada/Salida.
c) De operando dirección.
d) Transferencia de banderas.

2.-INSTRUCCIONES ARITMENTICAS.

a) Suma.
b) Resta.
c) Multiplicación.
d) División.

3.-MANIPULACION DE BIT.

a) Lógicas.
b) Desplazamiento.
c) Giro.

4.-DE CADENA.

5.-DE TRANSFERENCIA DE PROGRAMA.


a) Incondicional.
b) Condicional.
c) Control de iteraciones.

6.-DE INTERRUPCIONES.

7.-CONTROL DEL PROCESADOR.


a) Operaciones con banderas.
b) Sincronización extrema.
c) NOP



Mov .- Mueve el valor de un registro o un numero hacia otro registro.
add.- Suma el valor de un registro a otro registro.
sub.- Resta el valor de un registro o valor especifico a un registro

Inc Incrementa en 1 el valor del registro
dec.- Decrementa en 1 el valor del registro Brincos Condicionales

JG = si es mayor
JB = si es menor
JE= si es igual
JGE = si en mayor o igual
JBE= si es menor o igual


Instrucciones de CPU
Las instrucciones de la CPU pueden agruparse, de acuerdo a su funcionalidad, en:

Operaciones con enteros:
Estas son operaciones realizadas por la Unidad aritmético lógica de la CPU Operaciones aritméticas. Como suma, resta, multiplicación, división, módulo, cambio de signo.

Operaciones booleanas.
Operaciones lógicas bit a bit como AND, OR, XOR, NOT

Operaciones de bits.
Como desplazamiento y rotaciones de bits (hacia la derecha o hacia la izquierda, a través del bit del acarreo o sin él).
Comparaciones

Operaciones de mover datos:
Entre los registros y la memoria:
Aunque la instrucción se llama "mover", en la CPU, "mover datos" significa en realidad copiar datos, desde un origen a un destino, sin que el dato desaparezca del origen.
Se pueden mover valores:
desde un registro a otro
desde un registro a un lugar de la memoria
desde un lugar de la memoria a un registro
desde un lugar a otro de la memoria
un valor inmediato a un registro
un valor inmediato a un lugar de memoria


Operaciones de stack:
PUSH (escribe datos hacia el tope del stack)
POP (lee datos desde el tope del stack)

Operaciones de entrada/salida:
Son operaciones que mueven datos de un registro, desde y hacia un puerto; o de la memoria, desde y hacia un puerto.
INPUT Lectura desde un puerto de entrada
OUTPUT Escritura hacia un puerto de salida


Operaciones para el control del flujo del programa:
Llamadas y retornos de subrutinas
Llamadas y retornos de interrupciones
Saltos condicionales de acuerdo al resultado de la comparaciones
Saltos incondicionales




Mapas Conceptuales

Hacer mapas conceptuales de los siguientes enlaces en su cuaderno publicar en el blog el martes

Actividad leer para reafirmar conceptos el siguiente enlace
http://upload.wikimedia.org/wikipedia/commons/e/eb/MICROCOMPUTADORAS_AL_DETALLE.pdf

direccionamiento
http://www.infor.uva.es/~bastida/OC/modos.pdf

direccionamiento a memoria
http://www.zator.com/Hardware/H5_1.htm