Description
Goals:
• Defining and accessing Arrays.
• Dealing with Registers and instructions.
• Defining with Loops
• Debugging and running your assembly code.
Requirements:
• Read the design section and write a program. Submit source file .asm to Canvas.
• Please start early. ZERO point for late submission. You cannot submit your assignment
after 11:59pm on the due day.
Deliverables:
• Save your source of assembly program as a .asm document.
• Name document as a “Firstname_Lastname.asm”.
• (5 points) Please provide a heading at the top of your code containing your name, Auburn
UserID, filename, and how to compile your code just as project 3 required.
• (5 points) Source file can be compiled successfully and no run-time error.
• Submit your “Firstname_Lastname.asm” through the Canvas system. You do not need to
submit hard copies.
Rebuttal period:
• You will be given a period of 3 business days to read and respond to the comments and grades
of your homework or project assignment. The TA may use this opportunity to address any
concern and question you have. The TA also may ask for additional information from you
regarding your homework or project.
Design:
The objective of this assignment is to create a program that will determine if two strings are
anagrams. If the two strings are anagrams, then EAX will have the value 1 after the code
has completed. If they are not anagrams, then EAX will have the value 0.
Two .java implementations are in the “files” section in Canvas. Feel free to use one of these
or another method.
All “high level” directives are not allowed on this homework. (e.g. IF, ENDIF, REPEAT, etc.)
What is anagram? From dictionary.com:
an·a·gram
/ˈanəˌɡram/
noun
noun: anagram; plural noun: anagrams
a word, phrase, or name formed by rearranging the letters of another, such as cinema, formed
from iceman.
You can read more about in Wikipedia: https://en.wikipedia.org/wiki/Anagram
Design:
Create a BYTE array with the label ‘s1’. This array may be of any length between 2 and 100.
Create a BYTE array with the label ‘s2’. This array should be the same length as ‘s1’.
You may create any other values you deem necessary.
The program should compare the two strings to determine if they are anagrams.
Assume that each of the arrays (s1 and s2) will be the same length. Also assume that all characters
in the array will be capital letters.
Program:
Your job is to implement a MASM version of the java program ‘AnagramCounter.java’ or
‘AnagramReplace.java’, or with your own reasonable method.
(90 points) 9 lines to implement commented with numbers from (1) to (9). See template for details.
Example:
s1 BYTE “GARDEN”
s2 BYTE “DANGER”
After the code completes EAX would have the value 1. (These are anagrams)
Another example:
s1 BYTE “CODE”
s2 BYTE “DOGS”
After the code completes EAX would have the value 0. (These are not anagrams)
Remember that your program must be flexible enough to handle a string of any length. I could test
with a string of length 2 or 100 or any number in between.