Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site dartvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!gamma!epsilon!zeta!sabre!bellcore!decvax!dartvax!chuck From: chuck@dartvax.UUCP (Chuck Simmons) Newsgroups: net.puzzle Subject: Short sequences of assembly language instructions Message-ID: <3256@dartvax.UUCP> Date: Sun, 16-Jun-85 02:24:12 EDT Article-I.D.: dartvax.3256 Posted: Sun Jun 16 02:24:12 1985 Date-Received: Tue, 18-Jun-85 05:20:12 EDT Distribution: net Organization: Dartmouth College, Hanover, NH Lines: 12 The following 5 instruction routine is written in 68000 code. What does it do? ; D0 and D1 are 32 bit registers. move.l d0,d1 ; d1 := d0 bra.s L2 ; goto L2 L1: sub.l d1,d0 ; L1: d0 := d0 - d1 L2: lsr.l #1,d1 ; L2: d1 := d1 div 2 bne.s L1 ; if d1 <> 0 then goto L1 Cheers, Chuck