Aucbvax.4488 fa.unix-wizards utzoo!decvax!ucbvax!unix-wizards Fri Oct 16 00:17:34 1981 separated floating point on 11's >From csk@UCLA-Security Thu Oct 15 23:05:15 1981 The pdp11 44,45, and 70 have a glitch in the hardware design such that a user mode program can not read it's code space when running separated. (the mfpi instruction which is supposed to do that doesn't when current and previous mode are both user... if anyone really cares, I can explain why, but just chalk it up to dec stupidity) Anyhow, at UCLA all our pdp11s don't have floating point. In order to get large floating point programs to work, we added a system call which lets a process get a word from instruction space (I suspect this is equivalent to the fetchi call mentioned by CSVAX.michael). We then modified the unix floating point simulator to use this call and now we run separated floating point just fine. Well, almost. You see, fetching words that way is real SLOW since any system call causes quite a lot of overhead saving registers, copying arguments, switching on the call number, etc. If you can get by with the programs non-separated, you will run a whole lot faster. Otherwise, there isn't any easy choice. There is another solution for 11/45s and 70s, (I don't know if this solution is availble on 44's) but it will cause you trouble with your maintenance vendor.... There is a modification you can make to one of the boards (cutting a trace, adding a wire, something on that order) which will make the mfpi instruction do the right thing in user mode. We figured it wasn't worth the maintenance hassles. If you really need fast floating point, buy it. --charley kline ----------------------------------------------------------------- gopher://quux.org/ conversion by John Goerzen of http://communication.ucsd.edu/A-News/ This Usenet Oldnews Archive article may be copied and distributed freely, provided: 1. There is no money collected for the text(s) of the articles. 2. The following notice remains appended to each copy: The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman.