Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!abvax!iccgcc!herrickd From: herrickd@iccgcc.decnet.ab.com Newsgroups: comp.arch Subject: Re: new instructions Message-ID: <4712.2843b438@iccgcc.decnet.ab.com> Date: 29 May 91 19:01:28 GMT References: <9105200213.AA05095@ucbvax.Berkeley.EDU> <1991May21.191034.25980@murdoch.acc.Virginia.EDU> Lines: 23 Aren't you afraid you will spoil the argument by bringing some facts into it? In article <1991May21.191034.25980@murdoch.acc.Virginia.EDU>, clc5q@hemlock.cs.Virginia.EDU (Clark L. Coleman) writes: [most of his wonderful data omitted - see the original article] > > Given the C source code statement: > > z = x % y; /* z gets the remainder of x divided by y */ > > > movl r6,r1 /* Transfer quotient to r1 */ > clrl r0 /* Zero out upper word to form 64-bit r0/r1 > register pair quotient */ > ediv r7,r0,r2,r11 /* Divide r0-r1 pair by r7; throw away quotient > into r2 and keep remainder in r11 */ > This looks to me like it does only unsigned div/rem. Is that a feature of the ediv instruction or do we need a way to sign extend r1 into r0 for the signed division case? dan herrick herrickd@iccgcc.decnet.ab.com