$30
CSC 3210 – Assignment #4
1. (9 points) Write an assembly program to implement the following.
Sum = 0
while X >= 0
if (X != 3) AND (X <= (A+3) OR X < (B-3) )
X = X – 2
Sum += 1
else
X = X – 1
end while
- Use short-circuit evaluation
- Assume that A, B, and X are 16-bit signed integers variables
- Assume that A=9, B=8, and X=15
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.