CSE 141 x86 assembly samples

Code Snippet Source File Assembly Code
arrayLoop.c arrayLoop.s arrayLoop-opt1.s arrayLoop-opt4.s
arrayLoop2.c arrayLoop2.s arrayLoop2-opt1.s arrayLoop2-opt4.s
nestLoop.c nestLoop.s nestLoop-opt1.s nestLoop-opt4.s
nestLoop2.c nestLoop2.s nestLoop2-opt1.s nestLoop2-opt4.s
simpleLoop.c simpleLoop.s simpleLoop-opt1.s simpleLoop-opt4.s
string.c string.s string-opt1.s string-opt4.s
struct.c struct.s struct-opt1.s struct-opt4.s
switch.c switch.s switch-opt1.s switch-opt4.s
switch2.c switch2.s switch2-opt1.s switch2-opt4.s
switch3.c switch3.s switch3-opt1.s switch3-opt4.s
a = b + c; 1.c 1.s 1-opt1.s 1-opt4.s
a = b + c + d; 2.c 2.s 2-opt1.s 2-opt4.s
a = b & c; 3.c 3.s 3-opt1.s 3-opt4.s
a = b + 4; 4.c 4.s 4-opt1.s 4-opt4.s
a = b - (c * (d/2) - 4); 5.c 5.s 5-opt1.s 5-opt4.s
if (a) b = c; 6.c 6.s 6-opt1.s 6-opt4.s
if (a == 4) b = c; 7.c 7.s 7-opt1.s 7-opt4.s
while (a != 0) a--; 8.c 8.s 8-opt1.s 8-opt4.s
a = 0xDEADBEEF; 9.c 9.s 9-opt1.s 9-opt4.s
a = foo[4]; 10.c 10.s 10-opt1.s 10-opt4.s
foo[4] = a; 11.c 11.s 11-opt1.s 11-opt4.s
a = a + b + c + d +... +z; 13.c 13.s 13-opt1.s 13-opt4.s
for(i = 0; i < 10; i++) {sum+=i;} 14.c 14.s 14-opt1.s 14-opt4.s
a = foo(b); 15.c 15.s 15-opt1.s 15-opt4.s
struct Foo{
int a;
int b;
};
Foo test;
test.a = 1;
test.b = 2;
16.c 16.s 16-opt1.s 16-opt4.s