Question: C++ Program Translation Convert the following C++ code to NASM assembly. Implement your code for each C++ statement directly below the corresponding comment provided in

C++ Program Translation Convert the following C++ code to NASM assembly. Implement your code for each C++ statement directly below the corresponding comment provided in the starter code. Comments shown in the C++ code below indicate the expected resulting values for each variable. Use the debugger to verify your results.

// Global variable declarations int var1 = 31; // 32-bits int var2 = 0x42; int var3; // uninitialized

short var4 = 21; // 16-bits short var5 = 0xfff1; short var6; // uninitialized

long var7 = -17; // 64-bits long var8 = 5; long var9; // uninitialized

long vara; // unitinialized long varb; // unitinialized long varc; // unitinialized

//#include

int main () {

var3 = var1++ + var2; var3--; var2 += (var3 - 10);

var4 -= 7; var6 = ++var5 - var4;

var9 = -var7 - var8; var7 -= ++var8; var8 += 7;

// *** Disregard these three statements, not covered in class *** //vara = (var7 >> 2) & var8; //varb = (var7 | 0xff) << 2; //varc = var8 ^ var9;

// std::cout << "var1: " << var1 << " "; // 32 // std::cout << "var2: " << var2 << " "; // 152 // std::cout << "var3: " << var3 << " "; // 96 // std::cout << "var4: " << var4 << " "; // 14 // std::cout << "var5: " << var5 << " "; // -14 // std::cout << "var6: " << var6 << " "; // -28 // std::cout << "var7: " << var7 << " "; // -23 // std::cout << "var8: " << var8 << " "; // 13 // std::cout << "var9: " << var9 << " "; // 12 // std::cout << "vara: " << vara << " "; // 8 // std::cout << "varb: " << varb << " "; // -4 // std::cout << "varc: " << varc << " "; // 1 }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!