Message-ID: <0b3001c3206f$a20aeeb0$0600000a@broadpark.no> From: "Gisle Vanem" To: "djgpp workers" Subject: Add with carry Date: Thu, 22 May 2003 16:37:12 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Reply-To: djgpp-workers AT delorie DOT com In libc/crt0/crt0.s (line 250): /* Maybe lock the initial block, expects BX:CX */ movl %ecx,%ebx movl %edx,%ecx addw $4096,%cx /* Skip null page */ adcl $0,%ebx ----------- What happens if carry was set prior to the 'addw' ? I was just hit by this elsewhere in some 16-bit nasm code. To increment a 32-bit variable I used inc word [di] adc word [di+2], 0 Seems resonable, but got wrong result cause the carry was already set. Adding a 'clc' before the 'inc' fixed it. --gv