Path: utzoo!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!POSTGRES.BERKELEY.EDU!dillon From: dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: Re: Lattice C 5.02 REVIEW, By Matthew Dillon Message-ID: <8907012208.AA21560@postgres.Berkeley.EDU> Date: 1 Jul 89 22:08:12 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 23 :> ...................... Nobody in their right mind uses MOVEM when :> they have only one register to move. : :Minor nit to pick here. I regularly use MOVEM with one (data) register to :move if I don't want to disturb the contents of the flags. Example: : : movem.l d0,-(sp) Ah! Good answer, good answer! Didn't think of that. I was really only refering to the special case where the Manx compiler generates movem.l instructions to save/restore registers in procedures. The compiler generates a movem.l instruction with a forward referenced register EQR and then expects the assembler to: (1) optimize the movem.l out completely if the EQR specs no regs (2) optimize the movem.l to a move.l if the EQR specs one reg (3) keep the movem.l if the EQR specs >1 reg And, in fact, in your case you would not want to use Manx AS for exactly this reason, it screws up your movem.l by changing it to a move.l -Matt