Mail Archives: djgpp/1994/10/10/14:32:40
I think the dosmem.s code is buggy!
DJGPP 112 incl. m1 & m2 patch (libsrc/c/dos/dosmem.s)
The subroutine _movedata will not work properly if the whole
programcode is greater than 64K due to the use of the 0x66 Prefix
That's why You should change the conditional jumps (near the end)
jcxz in jecxz
However the code of movedata.s is correct, but it will not be linked
due to its position in libc.a
This bug will result in e.g. protection faults while scoll the screen,
because of jumps into NIRWANA (32 bit adress truncated to 16 bit!!)
I hope other assembler sources will strictly use jecxz, that means
NO 0x66 Prefix at all.
----------------------------CIAO SVEN-----------------------------------
- Raw text -