Sida 2 av 2

Re: Fråga om >> i C

Postat: 1 maj 2012, 06:03:50
av stekern
jesse skrev: Rotate finns givetvis inte då "carry" inte existerar i C.
Jodå det "finns", följande kod:

Kod: Markera allt

unsigned char foo(unsigned char bar)
{
        bar = (bar << 1) | (bar >> 7);
        return bar;
}
kompilerat med:

Kod: Markera allt

clang -O2 -ccc-host-triple x86_64-unknown-linux-gnu -c rol.c -S -o -
ger följande utskrift:

Kod: Markera allt

        .file   "rol.c"
        .text
        .globl  foo
        .align  16, 0x90
        .type   foo,@function
foo:                                    # @foo
        .cfi_startproc
# BB#0:                                 # %entry
        rolb    %dil
        movzbl  %dil, %eax
        ret
.Ltmp0:
        .size   foo, .Ltmp0-foo
        .cfi_endproc


        .section        ".note.GNU-stack","",@progbits
(notera rolb)