#284 floating point and --stack-auto

closed-fixed
Johan Knol
2
2013-05-25
2002-01-24
Bernhard Held
No

The sequence to adjust the stack after a call of FP-
functions, which return a char, destroys the return
value in acc. E.g.: __fseq, __fsneq, __fsgt, __fslt.

lcall ___fseq
mov a,dpl
mov a,sp ; acc destroyed!
add a,#0xfc
mov sp,a
pop ar5
pop ar4
pop ar3
pop ar2
jz 00102$ ; test is always true

FP-functions, which return float, are ok:
lcall ___fsadd
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
mov a,sp
add a,#0xfc
mov sp,a

Discussion

  • Bernhard Held
    Bernhard Held
    2002-01-24

    • milestone: --> fixed
    • assigned_to: nobody --> johanknol
    • status: open --> closed-fixed
     
  • Bernhard Held
    Bernhard Held
    2002-01-24

    Logged In: YES
    user_id=203539

    Fixed in
    ds390/ralloc.c:1.69
    mcs51/ralloc.c:1.85
    xa51/ ?