[ create a new paste ] login | about

Project: ncu
Link: http://ncu.codepad.org/z3TexFyp    [ raw code | output | fork ]

GiM - D, pasted on Jun 25:
import tango.io.Stdout;

void main()
{
  int a=20,b=-20;
  uint x=0x23,y=0xc00000c0;

  Stdout.formatln ("      : {,16} {,16} {,8} {,8}", "a", "b", "x", "y").newline;
  Stdout.formatln ("normal: {:x16} {:x16} {:x8} {:x8}", a, b, x, y).newline;
  Stdout.formatln ("<<1   : {:x16} {:x16} {:x8} {:x8}", a<<1, b<<1, x<<1, y<<1).newline;
  Stdout.formatln (">>1   : {:x16} {:x16} {:x8} {:x8}", a>>1, b>>1, x>>1, y>>1).newline;
  Stdout.formatln (">>>1  : {:x16} {:x16} {:x8} {:x8}", a>>>1, b>>>1, x>>>1, y>>>1).newline;
  Stdout.formatln ("asmshr: {:x16} {:x16} {:x8} {:x8}", gshr(a), gshr(b), gshr(x), gshr(y)).newline;
  Stdout.formatln ("asmsar: {:x16} {:x16} {:x8} {:x8}", gsar(a), gsar(b), gsar(x), gsar(y)).newline;
}

T gshr(T)(T a)
{
  asm {
    mov EAX, a;
    shr EAX, 1;
  }
}

T gsar(T)(T a)
{
  asm {
    mov EAX, a;
    sar EAX, 1;
  }
}


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
      :                a                b        x        y

normal: 0000000000000014 ffffffffffffffec 00000023 c00000c0

<<1   : 0000000000000028 ffffffffffffffd8 00000046 80000180

>>1   : 000000000000000a fffffffffffffff6 00000011 60000060

>>>1  : 000000000000000a 000000007ffffff6 00000011 60000060

asmshr: 000000000000000a 000000007ffffff6 00000011 60000060

asmsar: 000000000000000a fffffffffffffff6 00000011 e0000060



Create a new paste based on this one


Comments: