Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!husc6!m2c!applix!scott From: scott@applix.UUCP (Scott Evernden) Newsgroups: comp.sys.amiga.tech Subject: Re: 68000 DBcc command Message-ID: <744@applix.UUCP> Date: 16 Jul 88 02:25:53 GMT References: <2911@umd5.umd.edu> <7332@cup.portal.com> Reply-To: scott@applix.UUCP (Scott Evernden) Organization: APPLiX Inc., Westboro MA Lines: 22 In article <7332@cup.portal.com> Julian@cup.portal.com writes: > ... Strangely, the DBEQ command would only decrement >d3 whenever the Z flag was cleared. According to the Motorola 68000 reference >manual, the condition codes play no role in any DBxx command. What is going on? DBxx does this: 1. It checks the condition codes to see if a termination condition has been met. If so, it does nothing, and execution continues with the next instruction. 2. Next, it decrements a register, and compares it to -1. If equal, it does nothing, and execution continues. Otherwise, the branch is taken. DBEQ d3, label can be read as "Until Z is clear, decrement d3, and branch if it isn't -1." My guess is that you really want to use: DBF d3,loop or: until FALSE is TRUE, decrement d3, and if it's not -1, then branch to 'loop'. -scott