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.

Google Online Preview   Download