From: Helmut D. <de...@fh...> - 2005-03-02 14:16:36
|
On Wed, 2 Mar 2005, Bruno Haible wrote: > Helmut Dersch wrote: > > > Hmm. divu_3216_3216 is used at a couple of other places as well, so it > > > would be better to fix the problem at its origin. > > > > I don't think it is this function. SAFER=3 should have > > removed all assembler code, but the error remained. > > -DSAFETY=3 should have removed all inline assembler code. The code in ariarm.d > still remains. If you had put -DSAFER=3, it had no effect. > I see. It appears that the function divu_3216_1616_ indeed does not work on my system. I am getting errors in other places where this function is used, eg (log 3 10) = 1/2. I have now (hopefully) fixed it by replacing divu_3216_1616_ in arilev0.d with { q_zuweisung (x / y); r_zuweisung (x % y); } (was { q_zuweisung divu_3216_1616_(x,y); /* extern in Assembler */\ r_zuweisung divu_16_rest; \ } ) So far this has solved all errors. I still don't know what is wrong with the original code, but it seams to set divu_16_rest always to 0. Helmut Dersch |