From owner-svn-src-all@FreeBSD.ORG Mon Dec 8 23:45:42 2008 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6914E1065672; Mon, 8 Dec 2008 23:45:42 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 57B8C8FC18; Mon, 8 Dec 2008 23:45:42 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id mB8Njgdj074169; Mon, 8 Dec 2008 23:45:42 GMT (envelope-from sobomax@svn.freebsd.org) Received: (from sobomax@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id mB8Njgvf074168; Mon, 8 Dec 2008 23:45:42 GMT (envelope-from sobomax@svn.freebsd.org) Message-Id: <200812082345.mB8Njgvf074168@svn.freebsd.org> From: Maxim Sobolev Date: Mon, 8 Dec 2008 23:45:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r185780 - head/sys/boot/i386/btx/btxldr X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Dec 2008 23:45:42 -0000 Author: sobomax Date: Mon Dec 8 23:45:41 2008 New Revision: 185780 URL: http://svn.freebsd.org/changeset/base/185780 Log: Optimiza assembly in the previous r185779, to save whooping 16 bytes. Submitted by: Christoph Mallon MFC after: 4 weeks (including r185779) Modified: head/sys/boot/i386/btx/btxldr/btxldr.S Modified: head/sys/boot/i386/btx/btxldr/btxldr.S ============================================================================== --- head/sys/boot/i386/btx/btxldr/btxldr.S Mon Dec 8 21:52:06 2008 (r185779) +++ head/sys/boot/i386/btx/btxldr/btxldr.S Mon Dec 8 23:45:41 2008 (r185780) @@ -67,11 +67,8 @@ * BTX program loader for ELF clients. */ start: cld # String ops inc - leal 0x4(%esp,1),%ebx # First argument - testl $OPT_SET(RBX_MUTE),(%ebx) # check for RBX_MUTE - jz nomute - movb $1,muted -nomute: + testl $OPT_SET(RBX_MUTE), 4(%esp) # Check first argument + setnz muted # for RBX_MUTE, set flag movl $m_logo,%esi # Identify call putstr # ourselves movzwl BDA_MEM,%eax # Get base memory @@ -296,9 +293,8 @@ putstr: lodsb # Load char /* * Output character AL to the console. */ -putchr: testb $1,muted - jz putchr_nm - ret +putchr: testb $1,muted # Check muted + jnz putchr.5 # do a nop putchr_nm: pusha # Save xorl %ecx,%ecx # Zero for loops movb $SCR_MAT,%ah # Mode/attribute @@ -336,7 +332,7 @@ putchr.3: cmpb $SCR_ROW,%dh # Beyond sc movb $SCR_ROW-1,%dh # Bottom line putchr.4: movw %dx,(%ebx) # Update position popa # Restore - ret # To caller +putchr.5: ret # To caller /* * Convert EAX, AX, or AL to hex, saving the result to [EDI]. */