CSE 141 x86 assembly samples

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