[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] [Maxima] Out of range floating point number determinatio

From: Camm Maguire
Subject: Re: [Gcl-devel] [Maxima] Out of range floating point number determination
Date: Tue, 02 Oct 2012 15:14:52 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)


Raymond Toy <address@hidden> writes:

> On 9/7/12 11:45 AM, Camm Maguire wrote:
>> Greetings!
> Sorry for the delay!  I missed the message earlier.
>> You mention that some implementations disassemble the faulting
>> instruction to get at the operands.  I'm wondering if I could do this
>> with Linux's ucontext_t structure, containing fpregs and __fpregs_mem.
> Yes, this is what cmucl does, more or less.  You could look there for an
> idea of how to do this.  Look at src/code/x86-vm.lisp

One other question, in the local fun

(fop (x)
           ;; Look at the byte and see what kind of operation is
           ;; encoded.
           (cdr (assoc x '((#x58 . +) (#x59 . *) (#x5c . -) (#x5e . /)))))

you associate #x5e with /, but I get

   0x08806681:  dc 75 e8        fdivl  -0x18(%ebp)
=> 0x08806684:  dd 1c 24        fstpl  (%esp)

which shows as #475 in the $fop register.  This value appeared to make
sense from the intel docs last I looked.  

Take care,
Camm Maguire                                        address@hidden
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]