Está en la página 1de 13

Nombre de la materia

Lenguaje Ensamblador

Nombre de la Licenciatura
Ing. En sistemas Computacionales

Nombre del alumno


Bruno de Jesus Gayosso de la Serna

Matrícula
010194592

Nombre de la Tarea
Actividad2

Unidad 2
Programacion en Ensablador

Nombre del Profesor


Viridiana Berenice Aceves Santillá n

Fecha
18/05/2020
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

ACTIVIDAD 2

“Los
“Los verdaderos
verdaderos programadores
programadores pueden
pueden escribir
escribir código
código ensamblador
ensamblador en
en cualquier
cualquier
lenguaje”.
lenguaje”. Larry
Larry Wall
Wall

Objetivos:

 Identificar el proceso de compilación de un programa en lenguaje ensamblador.


 Distinguir los diferentes tipos de operaciones a realizar en un programa.
 Utilizar apropiadamente el software de compilación.

Instrucciones:

Descargar la actividad en Word y responder directamente en el documento y subir, recuerda


que debes de aumentar las fuentes de información consultadas aparte de las recomendadas.

 Ejercicio 1. Apoyándote en los siguientes recursos de la semana 2 realiza las


conversiones siguientes:

  Lectura
1) Aritmética y representación de la información en el computador. (n.d)
(Capítulo 4).
2) Conceptos básicos del lenguaje ensamblador (Jiménez, 2014).

Realice las conversiones para llenar la tabla en dónde en cada renglón hay una sola cantidad
representada en el sistema que indica la cabecera de la columna:. Nota: Pega una foto o
imagen de las conversiones realizadas a mano

Decimal Binario Octal Hexadecimal


137 10000100 204 89
213 1101 0101 325 D5
187 10111011 273 BB
250 11111010 372 FA

2
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

3
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

4
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

5
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

6
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

 Ejercicio 2. Apoyándote en los siguientes recursos de la semana 2 realiza las


siguientes descripciones:

  Lectura
1) Conceptos básicos del lenguaje ensamblador (Jiménez, 2014).
2) Aritmética y representación de la información en el computador. (n.d)
(Capítulo 4)
3) Programación en ensamblador conceptos básicos (Rincón, L., n.d)

Describa con sus propias palabras lo que significa cada uno de los siguientes términos, y
¿cuál es su función en un programa en lenguaje ensamblador?

1) Código: En este segmento son ejecutadas las órdenes o instrucciones de la máquina


que son ejecutadas en el programa, en pocas palabras, al inicio del programa este
segmento se encarga de darle las primeras órdenes al programa, aquí es el principio de
todo.
2) Pila: Por lo que hemos aprendido y estudiado, es preciso decir que en este segmento
se codifican las llamadas a subrutina y archivos temporales de programa, el registro de
este segmento es el que se encarga de direccionar el segmento de la pila.
3) Datos: Este segmento es una de las partes más importantes del programa, aquí los
datos más renuentes del programa se codifican, además de que su flujo de información
es mayor, también se almacena información y además se mueve de forma constante.
4) Modelo: Este segmento representa todo el espacio de direcciones de la memoria, por
lo cual siempre almacena una extensa cantidad de datos en ella.
5) Directiva: Son comandos excritos en el código fuente para realizar un control directo
o ahorrar tiempo a la hora de ensamblar. El resultado de incorporar directivas se puede
ver en el fihero *.LST, después de ensamblar el programa.
6) Etiqueta: Son nombres que sirven para referirse a otras lineas de instrucciones del
programa, esto resulta muy útil ya que muchas veces es necesario realizar saltos pueden
ser condicionales o incondicionales, a otra parte del programa.
7) Operando: Estos se representan por símbolos o constantes y se separan por comas.

7
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

 Ejercicio 3. Apoyándote en los siguientes recursos de la semana 2 realiza el


siguiente ejercicio:
STACK[size]: Define al segmento de pila de la longitud especificada.
.CODE[name]: Define el segmento de código.
.DATA: Define un segmento de datos NEAR con valores iniciales.

Ejemplo 1.
.MODEL SMALL;Modelo pequeño
.STACK 100H;'Segmento de pila 256 posiciones'
CR EQU 13; Rtorno de carro
LF EQU 10; Nueva linea
.DATA; Segmento de datos
TEXTO DB LF, LF, CR, 'HOLA MUNDO!$'; Texto
.CODE;Codigo de programa
MOV AX,@DATA; Cargar la direccion del segmento de datos
MOV DS,AX; Cargar la direccion del segmento de datos
LEA DX,TEXTO;Cargar Texto
MOV AH, 9;Imprimir en pantalla
INT 21h; Llama al sistema operativo
MOV AH, 4ch;Funcion 4ch
INT 21h
END ;Fin del programa

Ejemplo 2:

MOV: Esta instrucción mueve los datos de una localidad a otra y trabaja para 8, 16 t 32
bits.

.MODEL SMALL ; Modelo pequeño


.STACK 100H ; Segmento de pila 256 posiciones
;****Algunas constantes****
Quince EQU 15
Cero EQU 0

8
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

.DATA ; Segmento de datos


;****Algunas Variables****************
Cadena DB 'UTEL$'
.CODE ;Código de programa
;********************************
;Operaciones de control de programa
;

;***Siempre iniciar segmento de datos

MOV AX,@DATA
MOV DS, AX
inicio: ; etiqueta
;****JMP salto incondicional
MOV AH, Quince ;AH=15
JMP parte2; Salto parte2
MOV AL, Cero; AL=0 Nunca se ejecutará
parte2: ; salta aquí

;***LOOP ciclo de repetición


MOV CX,10 ;en CX se establece la cantidad
; de veces que se repetirá el bloque
lazo: ; inicia el bloque de instrucciones
PUSH CX ; Estas instrucciones
MOV AX, CX ;se repiten
LOOP lazo ; aquí salta al inicio del bloque

;En la pila y AX se puede verificar como CX se va decrementando


;cada vez ue termina un ciclo.
MOV AL,10 ; AL=10
MOV BL,5 ; BL=5

9
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

CMP AL, BL ; Compara AL con BL


JA mayor ; Salta si AL>BL
MOV CL,0 ; no se ejecuta
mayor:
MOV AH,5 ;AH=10
CMP AH, AL; compara AH con AL
JE iguales ; SALTA SI AH=AL
MOV CL,0 ; Esto no se ejecuta
iguales:
JMP inicio; Este programa nunca termina
; En algun punto se acabará el espacio
; en la pila.
MOV AH,4ch ; Función 4ch
INT 21h
END

  Lectura
1) Programación en ensamblador (Jiménez, 2014).

Escoja 2 de los ejemplos del archivo Programación en ensamblador (Jiménez, 2014) que se
encuentra como recurso de la semana 2. Indique con sus palabras las secciones de código
que identifica y las instrucciones que reconoce en ellos.

 Ejercicio 4. Apoyándote en los siguientes recursos de la semana 2 y en los


videos, realiza la siguiente actividad:

  Lectura
1) Programación en ensamblador (Jiménez, 2014).

Con la ayuda de un screencast (hay muchos de licencia opensource o gratuitos) grábese


emulando 2 de los ejemplos del archivo Programación en ensamblador (Jiménez, 2014) que
se encuentra como recurso de la semana 2 y verificando los resultados en los registros

1
0
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

pertinentes relacionándolos con el tipo de instrucción (lógica, aritmética, movimiento de


datos, control). Envíe al finalizar el o los archivos o compártalos en una ubicación virtual

Programa 1

Programa 2:

1
1
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

Forma de evaluación:

Criterio Valor Calificación de alumno

Presentación (Uso de formato 10%


utel, redacción y ortografía,
bibliografía soliciadada)

Ejercicio 1 20%
30%
Ejercicio 2
20%
Ejercicio 3
20%
Ejercicio 4

Total 100%

1
2
Unidad 2: Programación en ensamblador
Leguaje Ensamblador

Conclusion:

En conclusión con este trabajo, podemos decir que el lenguaje ensamblador es más
que un tipo de lenguaje de bajo nivel, en el cual es empleado para crear programas
informáticos.

La importancia de este es que pueden hacer cualquier tipo de programas que en otros
lenguajes más avanzados no y mejor aún este no ocupa tanta memoria.

1
3

También podría gustarte