Sunteți pe pagina 1din 4

Nombre de la materia

Lenguaje ensamblador
Nombre de la Licenciatura
Ingeniería en sistemas computacionales

Nombre del alumno


Samuel Bautista Salas
Matrícula
000010853

Nombre de la Tarea
Ejercicios de aplicación: Programación en ensamblador
Unidad 2
Programación

Nombre del Tutor


Marco Tulio Cerón López
Fecha
16 de Febrero 2015
Unidad 2: Programación
Lenguaje Ensamblador

PROGRAMACION EN ENSAMBLADOR

Introducción.

Anteriormente conocimos los aspectos básicos del lenguaje ensamblador como son los sistemas numéricos sus
y sus características. En esta ocasión aprenderemos las conversiones que se realizan entre cada sistema
numérico, estas conversiones nos ayudaran a entender el lenguaje máquina, así mismo veremos cómo se
conforma un código y estaremos listos para programar en ensamblador.

Instrucciones:

Ejercicios sobre sistemas numéricos

I) 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:
Decimal Binario Octal Hexadecimal
121 1111001 171 79
221 1101 1101 335 DD
183 1011 0111 267 B7
251 1111 1011 373 FB

II) Realice las siguientes operaciones aritméticas en binario [Es decir, que tiene que hacer la conversión antes
de la operación]:
Multiplicación Resta Suma
(N+20) x (N)= 11110 * 1010 (6N+13) - (17)= (13) + (2N+10 )=
= 11001000 1001 – 10001 = 10 1101 + 10100 = 10111
Multiplicación Resta Suma
(-13N)*(2N-11)= (-10(N-10)) – (150)= (19)+(N-100)=
(10011) * (-1) = 10011 -1010 - 10010110 = 10011 + 1011010 =
-10001100 1101101

2
Unidad 2: Programación
Lenguaje Ensamblador

IV) Realice las Siguientes conversiones:

8421 BCD 2421 Gray


1101 1001 001 0011 1001 0001 0011 1111 001 1010 0000
0010 1001 1000 0010 1111 1110 0011 1000 0001
0111 0101 0111 1011 0100 0110
0010 001 0100 0010 0001 0100 1011 1101

A) Segmentos de Código

I) Describa con sus propias palabras lo que se codifica en cada uno de los siguientes segmentos de
programa:
1) Código: CS, Contiene la dirección de las instrucciones del programa.
2) Pila: SS, Contiene la dirección del segmento de pila. La pila es un espacio de memoria temporal
que se usa para almacenar valores de 16 bits.
3) Datos: DS, Contiene la dirección del área de memoria donde se encuentran los datos del
programa.
4) Modelo: .MODEL, este indica el modelo de memoria, el cual indica cómo se direccionaran las
instrucciones y datos, los modelos de memoria pueden ser los siguientes (Small, Medium,
Compact, Large)

II) Escoja 2 de los ejemplos de la clase e indique en cada uno de ellos las secciones de código que
identifica y las instrucciones que reconoce en ellas.
Programa 1.

.MODEL SMALL ;Modelo pequeño de compilación


.STACK 100h ;Segmento de pila 256 posiciones
;Declaración de constantes
CR EQU 13 ;Retorno de carro
LF EQU 10 ;Nueva línea

.DATA ;Segmento de datos

3
Unidad 2: Programación
Lenguaje Ensamblador

TEXTO DB LF,LF,CR, ‘Hola Mundo!$’ ;Texto, La variable TEXTO es de tipo byte


; el símbolo $ marca el fin de la cadena
.CODE ;Código de programa

MOV AX, @DATA ;Cargar la dirección del segmento de datos


;Mueve al registro AX la dirección del primer byte

MOV DS,AX ;Cargar la dirección del segmento de datos


LEA DX,TEXTO ;Caga el texto, cargamos en el registro DX la dirección efectiva del texto

MOV AH,9 ;Imprimir en pantalla, función escribir texto por pantalla


INT 21h ;Llama al sistema operativo DOS por medio de la interrupción

MOV AH,4ch ;Función 4ch “Retornar a DOS”


INT 21h ;Llama al sistema operativo DOS para terminar el programa

END ;Fin del programa

B) Compilación
I) Con la ayuda de un Screencast1 (hay muchos de licencia opensource o gratuitos) grábese emulando
los ejemplos de la clase y verificando los resultados en los registros 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.

El video se encuentra guardado en la nube en MEGA aquí dejo el link de descarga:

https://mega.co.nz/#!AEQGxRgb!Fx1fHxcf6Puq6D4FwnimGgDB6muodwGKymMpc53vmbI

1
Screencast es un programa de cómputo que permite capturar una zona de la pantalla o todo el escritorio en algún formato de
video, con el fin de compartir un proceso realizado. Ejemplos de estos programas son: Hypercam2, Camstudio, Freeseer, etc.

S-ar putea să vă placă și