Starting from:

$30

CSCI 360 Assignment 3 – Basic Assembler 

CSCI 360 Assignment 3 – Basic Assembler 
75 points
This assignment is in three parts. Each part is worth 25 programming points. WARNING: Do not
use a previous semester's solution!
Part A
Write an assembler program that does the following:
• Change the program's name to the left of the statement to .
• Change the statement to
• Change the program's name to the right of the statement at the end of the program to .
• Declare a fullword variable in storage with label with the value 173.
• Declare a fullword variable in storage with label with the value 93.
• Subtract from . To do this, load these s into two separate registers using the Load
instruction ( ) for each and then use Subtract Register ( .
• Add to . To do this, load both into registers (a different pair of registers than for the
previous bullet point) and use Add Register ( ).
• Finally, use an to dump out just the registers and look at the register values to see your answers
and verify that they are correct. Remember that with or without a comma in column 16 will only
dump the registers. The comma in col. 16 is necessary if you want to do line documentation on the line
with the .
Part B
Copy your program from Part A and name it .
Modify the new assembler program as follows:
• Change the program's name to the left of to .
• Change the statement to
• Change the program's name to the right of the statement at the end of the program to .
• Declare two new consecutive fullwords in storage with labels and .
• Store ( ) the answer ( subtracted from ) into .
• Store ( ) the answer ( added to ) into .
• that area of storage (containing and ) using . You can use a single to
display the two fullwords, and , in storage by using the label followed by the length of the
field like this:
• Go into the output and verify your math is correct and stored at the correct locations in memory.
Part C
Now copy your program from Part B and name it . Modify the new assembler program as
follows:
CSCI 360 Assignment 3 – Basic Assembler Page 2 of 2
• Change the program's name to the left of to .
• Change the statement to
• Change the program's name to the right of the statement at the end of the program to .
• You may not use the label names , , and in this version of the Part B program.
• Rewrite the instructions referencing the labels using explicit addressing. This means on the and ,
remove the labels as the operands and fill in the addresses of the various fullword
variables.
• Remove the labels from storage too! Note that you can get the information to form a proper
address for the operand of each of the instructions by reviewing your program listing from Part
B.
• Be sure you still have the single P that dumps the contents of what were and .
Other Notes
To get started on this assignment, copy the code – from the top to the bottom of the file – of your
member in your PDSE and then add and open a new member of that PDSE named .
In the IDz editor, paste into the new member what you copied from . When you have that done,
begin editing the new member, , by removing the following three lines of instructions but
nothing more than these three lines from the code in your new member:
Now, begin Part A described above.
Once again, you are encouraged to complete Part A as a PDSE member named in your own
PDSE. Then, for Part B, copy the code from into a new member named
and, when you are ready, copy the code from into a new member named .
Be sure to follow the documentation standards described in Documentation and Coding Guidelines
found in Course Documents on Blackboard.
Submit your three output .txt files representing your successful runs of your jobs for Parts A, B and C on
Blackboard.

More products