martes, 22 de diciembre de 2009

Dosemu, ensambla con TASM en GNU/Linux


Como todo estudiante - ¿apoco sí? - de Computacion, tenemos que ver algo de lenguaje ensamblador, pero que pasa si el profesor se basa sólo en interrupciones del DOS para su enseñanza??... no nos queda de otra que seguir siendo como somos (autodidactas) y aprender interrupciones de Linux, pero quizás haya otra opción, sí, emular el DOS en Linux, ¿Pecado? =P.

Un poco de Teoría.

El Turbo Assembler (TASM), un paquete ensamblador principalmente destinado a la plataforma del IBM PC y sus compatibles. Fue la oferta de Borland en el mercado de herramientas de programación en lenguaje ensamblador para la familia de los microprocesadores x86. Como se pudiera esperar, trabajaban bien con los compiladores de lenguaje de alto nivel de Borland para los PC, como Turbo C y Turbo Pascal. Junto con el resto de suite de lenguajes de programación Turbo, Turbo Assembler ya no es mantenido.

Bajo GNU/Linux es posible ejecutar copias de DOS bajo dosemu, una máquina virtual nativa de Linux para ejecutar programas en modo real.
Para poder instalar DOSEMU en Debian (y derivados), hay tres formas, pero sólo expondré dos aquí, la primera por repositorios y la segunda por las fuentes.

Vía apt-get

En una terminal como super usuario (root):

#apt-get install dosemu

Y listo ya quedó instalado =0.


Las Fuentes

Antes de poder compilar DOSEMU, tenemos que tener instalados BISON, FLEX , LIBSVGA-DEV y LIBSLANG2-DEV:
#apt-get install bison flex libsvga-dev libslang2-dev
Bueno pasemos a conseguir lo necesario para compilar e instalar el DOSEMU, la página del proyecto es:
http://dosemu.sourceforge.net/
Ahora para esta instalación usé la versión estable del momento (1.4.0), y para poder instalar necesitamos estos dos ficheros:
DOSEMU-1.4.0
DOSEMU-FreeDOS-bin-1.0
Ahora, abrimos una terminal, y nos posicionamos en el directorio que se encuentran los ficheros que acabamos de descargar, y descomprimimos DOSEMU:
$ tar xzf dosemu-1.4.0.tgz
Accedemos al directorio que se acaba de crear:
$ cd dosemu-1.4.0/
Configuramos:
$ ./configure --with-fdtarball=../dosemu-freedos-1.0-bin.tgz --with-target-cpu=i386
Una explicación de lo anterior:
--with-fdtarball=../dosemu-freedos-1.0-bin.tgz : Le indicamos la ruta al paquete del binario de Freedos que nos hemos bajado junto con el de DOSEMU, en mi procedimiento se encuentra un directorio arriba del directorio donde efectuo el ./configure.

--with-target-cpu=i386 : Complementamos las optimizaciones anteriormente aplicadas con este parámetro con el que definimos la opción '-mtune=' que es utilizada por defecto por el script configure y con un parámetro definido de -mtune=i586. Donde pone i386se indica el procesador respectivo de cada sistema seleccionándolo de la lista del apartado de arriba.
Pueden seleccionar su tipo de procesador de esta lista:
i386, i486, i586, i686, pentium-mmx, pentiumpro, pentium2, pentium3, pentium-m, pentium4, pentium4m, pentium4m, prescott, nocona, k6, k6-2, k6-3, athlon, athlon-tbird, athlon-4, athlon-xp, athlon-mp, k8, opteron, athlon64, athlon-fx, winchip-c6, winchip2, c3 y c3-2
Compilamos:
$ make
Ahora pasamos a instalarlo, nos loggeamos como super usuario y escribimos:
# make install
# cp etc/dosemu.xpm /usr/share/pixmaps
Muy bien ya quedó instalado, ahora para ejecutarlo escriben en una terminal:
$dosemu
Si les marca algún error como el siguiente:
LOWRAM mmap: Argumento inválido
Violación de segmento
Escriban esto en una terminal como root:
# echo 0 > /proc/sys/vm/mmap_min_addr
Y ya no debería de marcar error, sino ejecutarse normalmente.

Notas:
El directorio C: está preconfigurado por el dosemu, pero si nos vamos a D: nos situaremos en nuestro /home/usuario y podremos acceder a las carpetas contenidas allí.

Así que creen una carpeta para el TASM en /home/usuario

0 comentarios:

Publicar un comentario

 

Pyr0S-9889 © 2008 Business Ads Ready is Designed by Ipiet Supported by Tadpole's Notez