From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alfonso Subject: Re: please help this newbie running asm programs!!! Date: Thu, 6 Feb 2003 00:16:45 +0100 Sender: linux-8086-owner@vger.kernel.org Message-ID: <200302060016.28257.a.martone@retepnet.it> References: <200301301341.h0UDf5Z25323@preshak.recjai.ac.in> Reply-To: a.martone@retepnet.it Mime-Version: 1.0 Content-Transfer-Encoding: 7BIT Return-path: In-Reply-To: <200301301341.h0UDf5Z25323@preshak.recjai.ac.in> List-Id: Content-Type: text/plain; charset="us-ascii" To: linux-8086@vger.kernel.org > i am a newbie trying to port and run dos based 8086 programs under > linux using as86, ld86 and elksemu. i have written a simple program Under ELKS, you should use ELKS system calls (via INT 80h), instead of DOS calls (via INT 21h)...! :-) If you want to port some DOS program, you must take into account that almost any program has to be modified and recompiled because: - they assume DOS memory structures and interrupts (int 20h, int 21h, PSP, environment variables, etc)... ELKS programs are definitely *clean* with memory, hardware I/O, etc - they assume DOS memory handling (i.e.: every program can use all remaining RAM upto 640k)... in ELKS, as in any Unix, a process cannot say "let's get all available RAM"; - they assume the can do everything with hardware; ELKS programs use the canonical "/dev/..." special files, and do not require special handling; i.e.: a screen terminal, a pipe, a disk file, a serial port, etc, everything uses the canonical open/read/write/close scheme (while DOS world uses a library for soundcard, the open/close for files; BIOS or write to screen-memory for terminal I/O, etc). alf