// Relative addressing: ADDSP 3 // allocate x, y, rv PUSHIMM 10 // push the value to store for x STOREOFF 1 // store the value 10 in x PUSHIMM 20 // push the value to store for y STOREOFF 2 // store the value 20 in y PUSHOFF 1 // retrieve the value of x PUSHOFF 2 // retrieve the value of y ADD // x+y STOREOFF 0 // store the value of x+y in rv ADDSP -2 // remove x and y from the stack STOP // halt; the return value should return 30