Lenguaje ensamblador para PC - GitHub Pages
Lenguaje Ensamblador para PC
Paul A. Carter
9 de agosto de 2007
Copyright c 2001, 2002, 2003, 2004 by Paul Carter
Traducido al espan?ol por Leonardo Rodr??guez Mu?jica. Sus comentaros y sugerencias acerca de la traduccio?n por favor a: lrodri@udistrital.edu.co
Este documento puede ser reproducido y distribuido totalmente (incluida
esta paternidad literaria, copyright y aviso de autorizacio?n), no se puede
cobrar por este documento en s?? mismo, sin el consentimiento del autor.
Esto incluye una ¡°utilizacio?n racional¡± de extractos como revisiones y anuncios, y trabajos derivados como traducciones.
Observe que esta restriccio?n no esta? prevista para prohibir el cobro por el
servicio de impresio?n o copia del documento
A los docentes se les recomienda usar este documento como recurso de clase;
sin embargo el autor apreciar??a ser notificado en este caso.
Prefacio
Propo?sito
El propo?sito de este libro es dar al lector un mejor entendimiento de
co?mo trabajan realmente los computadores a un nivel ma?s bajo que los lenguajes de alto nivel como Pascal. Teniendo un conocimiento profundo de
co?mo trabajan los computadores, el lector puede ser ma?s productivo desarrollando software en lenguajes de alto nivel tales como C y C++. Aprender
a programar en lenguaje ensamblador es una manera excelente de lograr este
objetivo. Otros libros de lenguaje ensamblador au?n ensen?an a programar el
procesador 8086 que uso? el PC original en 1981. El procesador 8086 so?lo
soporta el modo real. En este modo, cualquier programa puede acceder a
cualquier direccio?n de memoria o dispositivo en el computador. Este modo
no es apropiado para un sistema operativo multitarea seguro. Este libro, en
su lugar discute co?mo programar los procesadores 80386 y posteriores en
modo protegido (el modo en que corren Windows y Linux). Este modo soporta las caracter??sticas que los sistemas operativos modernos esperan, como
memoria virtual y proteccio?n de memoria. Hay varias razones para usar el
modo protegido
1. Es ma?s fa?cil de programar en modo protegido que en el modo real del
8086 que usan los otros libros.
2. Todos los sistemas operativos de PC se ejecutan en modo protegido.
3. Hay disponible software libre que se ejecuta en este modos.
La carencia de libros de texto para la programacio?n en ensamblador de PC
para modo protegido es la principal razo?n por la cual el autor escribio? este
libro.
Co?mo lo dicho antes, este libro hace uso de Software Libre: es decir el
ensamblador NASM y el compilador de C/C++ DJGPP. Ambos se pueden descargar de Internet. El texto tambie?n discute co?mo usar el co?digo
del ensamblador NASM bajo el sistema operativo Linux y con los compiladores de C/C++ de Borland y Microsoft bajo Windows. Todos los
i
PREFACIO
ii
ejemplos de estas plataformas se pueden encontrar en mi sitio web: http:
//pcasm. Debe descargar el co?digo de los ejemplos,
si desea ensamblar y correr los muchos ejemplos de este tutorial.
Tenga en cuenta que este libro no intenta cubrir cada aspecto de la
programacio?n en ensamblador. El autor ha intentado cubrir los to?picos ma?s
importantes que todos los programadores deber??an tener
Reconocimientos
El autor quiere agradecer a los muchos programadores alrededor del mundo que han contribuido al movimiento de Software Libre. Todos los programe y au?n este libro en s?? mismo fueron producidos usando software libre.
El autor desear??a agradecerle especialmente a John S. Fine, Simon Tatham,
Julian Hall y otros por desarrollar el ensamblador NASM ya que todos los
ejemplos de este libro esta?n basados en e?l; a DJ Delorie por desarrollar el
compilador usado de C/C++ DJGPP; la numerosa gente que ha contribuido
al compilador GNU gcc en el cual esta? basado DJGPP; a Donald Knuth y
otros por desarrollar los lenguajes de composicio?n de textos TEX y LATEX 2¦Å
que fueron usados para producir este libro; a Richar Stallman (fundador de
la Free Software Fundation), Linus Torvalds (creador del nu?cleo de Linux) y
a otros que han desarrollado el software que el autor ha usado para producir
este trabajo.
Gracias a las siguientes personas por correcciones:
John S. Fine
Marcelo Henrique Pinto de Almeida
Sam Hopkins
Nick D¡¯Imperio
Jeremiah Lawrence
Ed Beroset
Jerry Gembarowski
Ziqiang Peng
Eno Compton
Josh I Cates
Mik Mifflin
Luke Wallis
iii
Gaku Ueda
Brian Heward
Chad Gorshing
F. Gotti
Bob Wilkinson
Markus Koegel
Louis Taber
Dave Kiddell
Eduardo Horowitz
Se?bastien Le Ray
Nehal Mistry
Jianyue Wang
Jeremias Kleer
Marc Janicki
Recursos en Internet
Pa?gina del autor
Pa?gina de NASM en SourceForge
DJGPP
Ensamblador con Linux
The Art of Assembly
USENET
Documentacio?n de Intel
comp.lang.asm.x86
Comentarios
El autor agradece cualquier comentario sobre este trabajo.
E-mail:
WWW:
pacman128@
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.