Professional Documents
Culture Documents
ENSAMBLADOR.
JUEVES 14 DE AGOSTO DE 2008
Hola a todos, y Bienvenidos antes que nada, este es un blog que he creado con la finalidad de poner
al alcance de todos ustedes algunas herrameintas necesarias para poder iniciarse en el arte de la
programacion en Lenguaje Ensamblador, es decir en el lennguaje maquina o lo que es lo mismo
lenguaje de bajo nivel y no por que sea bajo su nivel sino porque es en este lenguaje en el que se
programa a nivel de la maquina utilizando las instrucciones y las interrupciones para trabajar
directamente con el hardware por medio de el microprocesador.
Es por eso que les pondr algunas herramientas para poder empezar, esto lo hago principalmente
para los que llevarn Lenguaje Ensamblador este semestre , espero que les sirva de mucha ayuda,
as que no dejen de descargarlos.
*Primero que nada les pongo un manual de interrupciones, as como un repertorio de todas las
instrucciones del 8086 que como sabrn a lo largo del curso necesitarn 2 cosas muy importantes,
conocer las instrucciones y las interrupciones, y pues son muchsimas, no se podran aprender todas
de memoria, estas se basan en el microprocesador 8086 que es el estndar de los procesadores.
MANUAL DE INTERRUPCIONES
*En Segundo Lugar les pongo un programa "El Emu8086" con su respectivo serial, este programa es
uno de los ultimos que ha salido, y pues lo tiene todo, es un emulador, es editor, ensambla y enlaza,
aunque les recomiendo hacerlo a la antigita pero ahi esta para que lo prueben
EMU8086 Y SU SERIAL
*En tercer lugar les pongo el TurboDebug que ms que nada es un depurador, es decir, con este
programa no se puede ensamblar ni enlazar, si no que ms que nada sirve para abrir archivos con
extension .exe o sea el ejecutable que resulta al final, y al abrir sirve para depurar errores , ir viendo
paso a paso el programa. Es de mucha ayuda para poder encontrar errores o ver el funcionamiento
linea por linea del programa.
Y en cuarto lugar les pongo esta descarga "MASM", que es fundamental, muy pero muy fundamental
para poder ensamblar y enlazar los programas pues sin ellos simplemente no se puede, les explico
de otra forma, cuando ustedes editan o crean un programa en Lenguaje Ensamblador, ese archivo lo
deben de guardar con la extension .ASM en una carpeta en la cual deben de tener ya
descomprimido lo que contenga esta descarga, luego les explico por qu.
MASM
De una vez les pongo tambin el programa de esta materia , el calendario del periodo AgostoDiciembre 2008 y el cuadro de las materias de la carrera de Ingenieria en Sistemas Computacionales
por si alguien los quiere.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. Luego de tener ya editado el programa hay que guardarlo con la extension .ASM , esta
extension se le pone en el nombre, ya que es en bloc de notas donde estamos editando
(ejemplo: primerprograma.ASM), muy importande tambin es ver en donde se guarda, hay
que guardarlo en la carpeta donde tengamos el MASM.EXE y el LINK.EXE, los cuales
puedes descargar del enlace anterior y descomprimirlo en una carpeta donde estaremos
guardando nuestros programas.
3. Una vez Guardado nuestro Codigo fuente con la extension .ASM, hay que habrir una
sesion del MS-DOS, esto se hace al ir a inicio-programas-accesorios-Simbolo del Sistema
o bien inicio-ejecutar-cmd y enter.
4. Ahora desde el MS-DOS nos ubicamos en la carpeta donde este guardado nuestro
codigofuente.ASM (Recomiendo que creen una carpeta en C:\ ,para ubicarse m rapido en
la carpeta).
5. Una vez ubicados en la carpeta escribimos en el MS-DOS lo siguiente:
MASM nombredelprograma.ASM; (Despues del punto y coma dar un enter ,esto nos crea
un archibo con la extension .OBJ, claro que si hay errores no lo har).
Luego escribir: LINK nombredelprograma.OBJ; (Luego del punto y coma dar enter, esto
nos enlazar el programa es decir nos linkear y creara el archivo con la extensin .EXE)
page 60,132
TITLE HOLAWILL (EXE) Operaciones de mover y sumar.
;-----------------------------------------------------------------------------STACKSG SEGMENT PARA STACK ' Stack' ; Segmento de Pila
DW 32 DUP (0)
STACKSG ENDS
;-----------------------------------------------------------------------------DATASG SEGMENT PARA 'Data' ; Segmento de datos
cadena db 'Hola Williams','$'
letrasAS db 35 dup('A')
valor dw 1740
DATASG ENDS
;-----------------------------------------------------------------------------CODESG SEGMENT PARA 'Code' ;Segmento de Codigo
BEGIN PROC FAR
ASSUME SS:STACKSG, DS:DATASG, CS:CODESG
MOV AX, DATASG ;Se asigna direccin de DATASG
MOV DS, AX ; en registro DS
MOV AH,09
LEA DX,CADENA
INT 21H
MOV AX, 4C00H ;Salida a DOS
INT 21H
BEGIN ENDP ;Fin de procedimiento
CODESG ENDS ; Fin de segmento
END BEGIN ; Fin del programa
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
EL MICROPROCESADOR.
QUE ES UN BUS?
Conjunto de cables, pistas o conductores que se utilizan para conectar diferentes partes del PC.
CLASIFICACION DE BUSES POR TECNOLOGIA.
Bus de direccionamiento: Seala la posicin en memoria donde se lee o almacena la informacin.
Bus de datos: Transportar la informacin de un dispositivo a otro.
Bus de control: Sincroniza todo lo que hay conectado al bus para enviar y recibir mensajes en el
instante correcto.
REGISTROS.
Este tema es uno de los mas importantes del curso ya que son las bases para poder programar en
lenguaje ensamblador, hay que conocer que es un registro, para que sirven, y que tipos de registros
existen.
Un registro es una localidad de memoria que se encuentra dentro del microprocesador y sirven para
almacenar datos o para realizar operaciones aritmticas entra otras.
Los registros del microprocesador tienen como misin fundamental almacenar las posiciones de
memoria que van a sufrir repetidas manipulaciones, ya que los accesos a memoria son mucho ms
lentos que los accesos a los registros.
Registros de Segmento.
Siguiendo esta nomenclatura es posible referirse a cada uno de los dos bytes, byte de orden alto y
mas significativo y byte de orden bajo y menos significativo, de cada uno de estos registros. Por
ejemplo: AH es el registro ms significativo del registro AX, mientras que AL es el byte menos
significativo.