www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/10/10/14:32:40

From: Sven Palme <palme AT irz DOT hu-berlin DOT de>
Subject: bugg in dosmem.s
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Date: Mon, 10 Oct 94 16:34:21 MEZ
Mailer: Elm [revision: 64.9]

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019