Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!spool.mu.edu!uunet!munnari.oz.au!labtam!graeme From: graeme@labtam.labtam.oz (Graeme Gill) Newsgroups: comp.arch Subject: Re: MIPS, Compaq and Microsoft in bed - NYT story Message-ID: <5974@labtam.labtam.oz> Date: 14 Feb 91 01:11:51 GMT References: <29920@usc> <45758@mips.mips.COM> <3188@crdos1.crd.ge.COM> Organization: Labtam Australia, Melbourne, Australia Lines: 18 In article <3188@crdos1.crd.ge.COM>, davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) writes: > > Since all you can portable do in C is add or subtract ints and > pointers, or subtract pointers, you don't need the rest of the > arithmetic, except to do vastly unportable things. Portable programs > don't AND or XOR stuff into pointers, nor assume that their high or low > bits are available for flags. > Just a small point, but a lot of these machines have memory alignment restrictions. How do you ensure address alignment if you can't do an AND on an address ? Isn't being able to do integer arithmetic on addresses the more general solution to testing alignment and calculating structure/array addresses ? (I am refering here to machine level rather than language level facilities). Graeme Gill Labtam Australia