Message-ID: <363B63D4.1082C192@gmx.de> Date: Sat, 31 Oct 1998 20:24:04 +0100 From: Christian Hofrichter X-Mailer: Mozilla 4.05 [de]C-QXW0310a (Win95; I) MIME-Version: 1.0 To: djgpp AT delorie DOT com Subject: Djgpp-Compiler Content-Type: multipart/alternative; boundary="------------0E8DB2DB6A98372B0910267C" Reply-To: djgpp AT delorie DOT com --------------0E8DB2DB6A98372B0910267C Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit My version: Rhide 1.4 Djgpp 2.01 First Problem: 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 ? Second Problem: Under Borland C++ I could use the Pseudo-Registers to print, calculate and manipulate the values of the CPU-Registers. But now I only have the Registers, defined in the UNION REGS, that means when I want to print a Register-value which I have manipulated before with the inline assembler, the Pseudo-Registers are not updated. They will only be updated when an interrupt is used. So what can I do ? Do I really have to copy the value of the Registers in a variable and print the variable instead of the Registers ? Third Problem: 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 I need to store the selectors in one of these Registers ? Do the Djgpp - C++ - Copy - Routines move 4 bytes at one time or only 1 or 2 byte(s) ? Can I improve the performance by using the Fat Ds Method when I copy memory-blocks, or do this method only make sense when I want to change, read or write the bytes in the memory ? I have to know this because of my Vesa-Functions. --------------0E8DB2DB6A98372B0910267C Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit

My version: Rhide 1.4
                     Djgpp 2.01

First Problem:
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 ?

Second Problem:
Under Borland C++ I could use the Pseudo-Registers to print, calculate and manipulate  the values of the
CPU-Registers. But now I  only have the Registers, defined in the UNION REGS, that means when I want to print a
Register-value which I have manipulated before with the inline assembler, the Pseudo-Registers are not updated. They
will only be updated when an interrupt is used. So what can I do ? Do I really have to copy the value of the Registers in a
variable and print the variable instead of the Registers ?

Third Problem:
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 I need to store the selectors in one of these Registers ?

Do the Djgpp - C++ - Copy - Routines move 4 bytes at one time or only 1 or 2 byte(s) ? Can I improve the
performance by using the Fat Ds Method when I copy memory-blocks, or do  this method only make sense when I
want to change, read or write the bytes in the memory ?  I have to know this because of my Vesa-Functions. --------------0E8DB2DB6A98372B0910267C--