Ejercicio en ensamblador

Solo disponible en BuenasTareas
  • Páginas : 5 (1011 palabras )
  • Descarga(s) : 0
  • Publicado : 7 de mayo de 2010
Leer documento completo
Vista previa del texto
INFORME DE 1º LABORATORIO DE ARQUITECTURA Y ESTRUCTURA DEL PROCESADOR
El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador.
De acuerdo al Laboratorio realizamos lo siguiente:
Realizamos elcódigo de nuestro programa en Ensamblador en un Bloc de Notas con extensión *.asm: Pila segment stack ;Declara del segmento de pila
db 128 dup('pila')
Pila ends
Datos segment ;Declara segmento de datos
universidad db 'Universidad Nacional del Callao',13,10,'$'
facultad db 'Facultad de Ingenieria Industrial y de Sistemas', 13, 10, '$'
escuela db 'Escuela Profesional deIngenieria de Sistemas', 13, 10, '$'
cod db '064236F ', 13, 10, '$'
nombre db 'Jorge Jonathan', 13, 10, '$'
apellido db 'Valles Velasquez', 13, 10, '$'
Datos ends
Codigo segment ;Declara segmento de codigo
inicio proc far
assume cs:codigo, ds:datos, ss:pila
;Poner en la pila la dirreccion de retorno al DOS
push ds
sub ax,ax
push ax
;inicializa elsegmento de datos con su registro de segmentación
mov ax,datos
mov ds,ax
lea dx,universidad ;Poner en dx la dirrecci¢n de
;los datos "universidad"
mov ah,09h ;Mover a ah el codigo de la funci¢n de
;salida de una linea de caracteres en la pantalla
;para la interrupci¢n del DOS
int 21h ;Llama a la interrupci¢n 21h
lea dx,facultad
mov ah,09h
int 21h
leadx,escuela
mov ah,09h
int 21h
lea dx,cod
mov ah,09h
int 21h
lea dx,nombre
mov ah,09h
int 21h
lea dx,apellido
mov ah,09h
int 21h
ret ;retorno al DOS
inicio endp
Codigo ends
end inicio

{draw:frame} En una carpeta a la cual llamamos aleatoriamente “ensamblador” {draw:frame} colocamos los archivos: {draw:frame} {draw:frame}{draw:frame} {draw:frame}
Luego entramos al DOS y escribimos los siguientes comandos: {draw:frame}
Luego vemos que se genera un archivo MASM Listing {draw:frame} que contiene :
En la Primera Columna la Dirección de Desplazamiento.
En la Segunda Columna el Código del Programa en Hexadecimal.
En la Tercera Columna la Instrucción del Programa.
Microsoft(R) Macro Assembler Version 5.10 4/18/10 00:01:25
Page 1-1
* 0000 * * * Pila segment stack ;Declara del segmento de pil
* * * *a
0000 0080[ * * db 128 dup('pila')
* 70 69 6C 61 *
* * *]*
* 0200 * * * Pila ends
* 0000 * * * Datos segment ;Declara segmento de datos
0000 55 6E 69 76 65 72 universidad db 'Universidad nacional del C
* * allao',13,10,'$'
73 6964 61 64 20
6E 61 63 69 6F 6E
61 6C 20 64 65 6C
20 43 61 6C 6C 61
* 6F 0D 0A 24 *
0022 6E 6F 6D 62 72 65 facultad db 'nombre de la facultad', 13, 1
* * 0, '$'
20 64 65 20 6C 61
20 66 61 63 75 6C
74 61 64 0D 0A 24
003A 45 73 63 75 65 6C escuela db 'Escuela profesional', 13, 10,
* * '$'
61 20 70 72 6F 66
65 73 69 6F 6E 61
* 6C 0D 0A24 *
0050 63 6F 64 69 67 6F cod db 'codigo del estudiante ', 13, 10, '
* * $'
20 64 65 6C 20 65
73 74 75 64 69 61
6E 74 65 20 0D 0A
24 * *
0069 6E 6F 6D 62 72 65 nombre db 'nombres del estudiante', 13, 1
* * 0, '$'
73 20 64 65 6C 20
65 73 74 75 64 69
61 6E 74 65 0D 0A
24 * *
0082 41 70 65 6C 6C 69 apellido db 'Apellidos delestudiante', 13
* * , 10, '$'
64 6F 73 20 64 65
6C 20 65 73 74 75
64 69 61 6E 74 65
0D 0A 24 * *
* 009D * * * Datos ends
* 0000 * * * Codigo segment ;Declara segmento de codigo
* 0000 * * * inicio proc far
* * assume cs:codigo, ds:datos, ss:pila
* * ;Poner en la pila la dirreccion de
* * retorno al DOS
0000 1E * * push ds
* 0001 2B C0* * * sub ax,ax...
tracking img