linux-mips
[Top] [All Lists]

MIPS assembly question

To: linux-mips@linux-mips.org
Subject: MIPS assembly question
From: "Winson Yung" <winson.yung@gmail.com>
Date: Thu, 20 Sep 2007 16:14:15 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; bh=mSFbYjquv16THBkk/3MQltXDNns0h/KXX6bdS/R1WPI=; b=H8vAf3e/UP1/WJo0wzaoZY9WnXcSu0hZye70ecx2YusFrjb2ZH8lEtFkMiCKTbtG80CSZyliG5RG48lyvkD3vV3cAJgJ00yB0EzcvLo/HB4jUIPFpiq49N2b6+4wCKiTYz0xxVsN5Kp/v+VeOucRIdZ6WPIJ8tPdN++L9CyiFcY=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=pdT+fkeK96ChEKwJJxtzCOkeoaBRsQO6RClH6AW+quGgEtoW8lhl+3b6keIr7M2QzdWxgJ9Wep6e9XnCT2rbAaH/HDMh+r/qs59cF8O08I3n9INyZvbu+KbFmxxXLXqWG95iUyF6xBmODM2uWy4aqq/BwCKGMBYrsGtP+T15z/U=
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Hi there, I have some general mips inline assembly question regards to
32 bit atomic operation, here a section of its assembly
implementation:

                "       .set    mips3                                   \n"
                "1:     ll      %0, %2                  # __cmpxchg_u32 \n"
                "       bne     %0, %z3, 2f                             \n"
                "       .set    mips0                                   \n"
                "       move    $1, %z4                                 \n"
                "       .set    mips3                                   \n"
                "       sc      $1, %1                                  \n"
                "       beqzl   $1, 1b                                  \n"

Questions:

1) what does 'z' mean in the line of 'bne %0, %z3, 2f'?
2) Is $1 suppose to be use as an constant 1, I don't understand the
line 'sc  $1, %1'

Will appreciate if someone can point out to me a good tutorial on
explaining these little things.

Thanks!
/Winson.

<Prev in Thread] Current Thread [Next in Thread>