From ST2975%SIUCVMB.BITNET@cunyvm.cuny.edu Tue Mar 17 02:27:07 1992 Received: from calvin.sfasu.edu by umaxc.weeg.uiowa.edu (5.61.jnf/920125) on Tue, 17 Mar 92 02:27:04 -0600 id AA01952 with SMTP Received: from CUNYVM.CUNY.EDU by calvin.sfasu.EDU with SMTP (5.59/25-eef) id AA00619; Tue, 17 Mar 92 00:21:02 CST Return-Path: Message-Id: <9203170621.AA00619@calvin.sfasu.EDU> Received: from SIUCVMB.BITNET by CUNYVM.CUNY.EDU (IBM VM SMTP V2R2) with BSMTP id 6202; Tue, 17 Mar 92 01:23:15 EST Received: by SIUCVMB (Mailer R2.07) id 8653; Tue, 17 Mar 92 00:24:18 CST Date: Tue, 17 Mar 92 00:13:38 CST From: ST2975%SIUCVMB.BITNET@cunyvm.cuny.edu To: hyperc-l@calvin.sfasu.edu Subject: Re:fcmp*() /* IT WASN'T MY FAULT! */ Status: R My thanks to Russell Holt and Evan Day for bringing this bug to my attention. I found out what the problem. Everyone! Get your pens and paper ready! On the fp disk, or wherever you store your archived source files, look for fcmp.s. Edit fcmp.s Where it says ldy #3 CHANGE TO ldy #5 Save fcmp.s Now, use the HyperC assembler to assemble (asm65 -o fcmp.o fcmp.s) Now, use the lib language tool to replace the offending library file: lib libs/libc -rv fcmp.o Now, what the problem was: I also had the code that Russell Holt had shared with us hang my computer. I tried various incantations to no avail. So, I figured it was either Apple's SANE package (NO WAY!) or it was the fp.h file, or it was the fcmp.s file. So, I got out my Apple Numerics Manual and checked it against what the fp.h macros were supposed to be passing and it was ok. Then I looked at how fcmp.s was working, and it looked ok,... but wait! fcmp.s is supposed to be passing 3 words on the machine stack, the addresses of the floating point variables or constants, and the opcode! ldy #3 only passes 2 words (or 4 bytes) not three! So there you have it! /* Andy Werner hybrid concepts st2975@siucvmb.bitnet * * HyperC enthusiast st2975@siucvmb.siu.edu * * Laser 128EX 4 Mhz 65802 CPU now supported by HyperC */