From owner-svn-src-head@FreeBSD.ORG Sun Feb 27 03:04:04 2011 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F3FA106566C; Sun, 27 Feb 2011 03:04:04 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail01.syd.optusnet.com.au (mail01.syd.optusnet.com.au [211.29.132.182]) by mx1.freebsd.org (Postfix) with ESMTP id 6C9428FC14; Sun, 27 Feb 2011 03:04:02 +0000 (UTC) Received: from c122-107-114-89.carlnfd1.nsw.optusnet.com.au (c122-107-114-89.carlnfd1.nsw.optusnet.com.au [122.107.114.89]) by mail01.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p1R340Sd001120 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 27 Feb 2011 14:04:01 +1100 Date: Sun, 27 Feb 2011 14:04:00 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Dimitry Andric In-Reply-To: <201102270206.p1R269VO021432@svn.freebsd.org> Message-ID: <20110227133227.S1974@besplex.bde.org> References: <201102270206.p1R269VO021432@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r219079 - in head/sys/boot/i386: gptboot gptzfsboot zfsboot X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Feb 2011 03:04:04 -0000 On Sun, 27 Feb 2011, Dimitry Andric wrote: > Log: > Clang's integrated assembler can now handle sys/boot/i386/boot2/sio.S. > It used to choke on the notation "inb (%dx),%al" for "inb %dx,%al"; GNU > as accepts both forms. Which notation is more 'correct' is an open > question. :) Nah, the former is just a syntax error since %dx is not dereferenced :-). It is a syntax error at the design level that parentheses are used for indirection. In better assembler syntaxes like Intel/Microsoft's one for x86 and Motorola's one for 6809, brackets are used for indirections so parentheses are not context-dependent. Then extra parentheses around expressions can have no effect. But dx isn't an expression, so (dx) should still be a syntax error. I think it is in I/M syntax but I can't test that easily. It is a syntax error in my x86/6809 assembler. My assembler doesn't check, but emits a diagnostic for this :-). (My assembler wants brackets for indirection, but it has an option to to implement some bugs including use of parentheses for indirection.) Bruce