Starting from:

$24.99

CSC3210 Assignment 4 Solution


1. (9 points) Write an assembly program to implement the following. sum = 0 i = 0 j = 12 var1 = 3 var2 = 3 var3 = 0
while ( (i < 20) and (j> -2)){ if (var1 > var3): var1 =var1 - i else if (var2 < var3):
var2 =var2 + j else: var3 = var3+ i

sum = var1 + var2+ var3 i = i+1 j = j-1
}

- Use short-circuit evaluation
- Assume that A, B, and X are 16-bit signed integers variables
- You are not allowed to make any logical reduction to the code. You need to implement it the way it is provided. o o Submit the following:
§ Rename the asm file using your last name as Lastname1.asm and submit it.  Screenshot of the code
§ Then run the code until you reach INVOKE ExitProcess, 0
§ Then take a screenshot of the watch window showing Sum variable content.


2. (6 points) Write an assembly program to test if the MSB in the register al is set:
- If it is set, then divide the content of al by 8 using the appropriate shift instruction and exit. - Else, if it is not set, then multiply the content of al by 4 using the appropriate shift instruction and exit.
- When checking al MSB, do not change al content.
- Assume that al is equal to the signed integer 88h.
- You need to come up with the appropriate mask to check the MSB.
- Run your program using the debugger to verify your answers.
o Submit the following:
§ Rename the asm file using your last name as Lastname2.asm and submit it.
§ Screenshot of the code
§ Then run the code until you reach INVOKE ExitProcess, 0  Then take a screenshot of the register window.


Note:
§ Comment header for .ASM files:
Student Name
Class: CSC3210
Assignment#: 4
Description: This program ………….
§ Follow the program standards as presented in your book. Pay more attention to code comments and consistent indentation.
§ Create a new project for every question. Do not use one project with multiple .asm files.

More products