1. Create a variable that is a BYTE with the value 67. What is the value shown in memory? Show work verifying the value that is set.
2. Create a variable that uses 8-bits and correctly stores the value -83. Show what the memory contains and work verifying the result.
3. Create an unsigned 16-bit number that stores the value 13330 (decimal). Show what the memory contains and work verifying the result.
4. Create a signed 16-bit number and store the value -32 (decimal). Show what the memory contains and work verifying the result.
5. Create a variable to hold the value 12345678h (unsigned). (a) Move that variable’s value to the EAX register. (b) Set the AH register to 12. (c) Set the AL register to the value 34. Show the values of the EAX register before and after each parts (a)-(c). Verify that data is being moved as expected and describe it.
6. Write a program using signed 8-bit variables that computes finalVal = 2*X + 3*Y – Z. X, Y, and Z should be variables that are created in your .data section. Additionally, start with X = 1; Y should be set to five times the value of X. Z should be two times the value of X. Only X should be set in the data section; Y and Z should start uninitialized and then set in the main procedure as described. Create the program in assembly to compute finalVal. Does the value that is computed make sense (show work). In separate runs of the program double your value of X continuing to set the values for X, Y, and Z such that Y = 5X and Z = 2X until the value stored in finalVal no longer make sense. What are the values of X, Y, and Z before and after the result stored is correct. Show the contents in memory and describe why the value in finalVal no longer makes sense.