Date: Sun, 1 Nov 1998 14:38:49 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Christian Hofrichter cc: djgpp AT delorie DOT com Subject: Re: Djgpp-Compiler In-Reply-To: <363B63D4.1082C192@gmx.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com On Sat, 31 Oct 1998, Christian Hofrichter wrote: > When I want to link my C-programs, I get the error message under DOS : > ld.exe: cannot open -lstdcx: No such file or directory (ENOENT) > although I followed the instuctions, listed in the problems.txt. But > under Windows 95 everthing works fine. What did I do > wrong ? If you want your installation to work in plain DOS mode as well as under Windows 9X, you need some additional setup. Please read section 22.18 of the DJGPP FAQ list (v2/faq211b.zip from the same place you get DJGPP) which explains this special setup. > Do I really have to copy the value of the Registers in a variable > and print the variable instead of the Registers ? In general, yes. But you need to ask yourself, do you really need the pseudo-register variables in the DJGPP version. GCC's syntax for inline assembly makes it possible to refer to C variables from the inline assembly code, so in general, you don't need to mess with pseudo-registers at all. See also section 17.8 of the DJGPP FAQ list. > In Real-Mode I could move a block of memory by storing the values of the > Segements in the ES and DS Register, and > the Offset in the DI and SI Register. What do I have to do, to move a > block of memory in the protected-mode (in assembler) ? Do you really need to do that in assembly? If not, DJGPP has a library function `movedata' that will do that for you, which is very fast, since it moves 4 bytes at a time and is written in assembly. See also section 18.4 of the FAQ which discusses other methods of moving data between your program and conventional-memory addresses. > Do the Djgpp - C++ - Copy - Routines move 4 bytes at one time or only 1 > or 2 byte(s) ? If you use `movedata' or `dosmemget'/`dosmemput', they move 4 bytes at a time. > Can I improve the performance by using the Fat Ds Method when I copy > memory-blocks, No, FAT DS doesn't improve performance of block moves. > or do this method only make sense when I want to change, read or > write the bytes in the memory ? Yes.