Exam 1 Solutions
CS 213 Spring 2009
Copyright By PowCoder代写 加微信 powcoder
Description Decimal Binary
Bias 3 ——
Smallest Positive positive 1/16 000001
Lowest finite -14 111011
Smallest positive normalized 1/4 000100
—— -7/16 100111
—— 5/4 001101
—— -5/8 101001
—— 13(12) 011010
a) 32 bytes
b) 6 bytes
0xbfb2ffdc
0x0000000c
0x000000f3
0x000000d5
int switchfn(inta, longb) {
int y=0,x=)xdeadbeef;
switch(A*b) {
return 24;
a= x + b*4;
return a+b;
return a/b;
return x==y;
void mystery_sort (long* array, long len)
long a, b, tmp;
while(len>0)
for(b=len-1; b>0; b–)
if(array[b]>array[a])
tmp = array[len];
array[len] = array[a];
array[a] = tmp;
Update 10/6/11 by Taerim Kim:
Although C was accepted as the solution in Spring 2009, none of the choices
for Problem 5 Question 11 are correct.
Enter new stack frame by saving old base pointer and
allocating space by subtracting from stack pointer
b)Fill into dissasembly of foo
0x8, 0xc, 0x10, 0x14
8, 12, 16, 20
The new foo is not saving the old ebp. This makes
the stack frame 4 bytes shorter
old new
—— ——
| args | | args |
| ret | | ret |
| ebp | ebp | |
| | | |
| | | |
| … | | … |
| | | |
|______| esp |______| esp
0x44, 0x48, 0x4c, 0x50
68, 72, 74, 80
Advantages:
save space (4 bytes per stack frame)
save time (don’t execute enter leave instructions)
%ebp can now be used as GPR
Drawbacks:
makes debugging “impossible” as you can no longer
easily get a stack trace by climbing the stack with the base pointer
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com