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.
- Show your work to get full credit. ZEROpoint without steps for a result.
- Please start early. ZERO point for late submission. After the 11:59pmon the due day, you can’t submit your assignment anymore.
- Check deliverables section below. ZEROpoint for hand-written or scanned homework.
- See my last announcement if you do not like to use visual studio. I provide a free and lightweight alternative.
Deliverables:
- Save your source of assembly program asa.asmdocument.
- (5 points) Name document asa “Firstname_Lastname.asm”.
- (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 businessdays 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:
Assume that I am a programmer and I tried to implement a MASM version of the java program“AnagramCounter.java’, I wrote this programProject4_template.asm.
Your job is to successfully implement the comments in the program.
(90 points) 9 lines to implement commented with numbers from (1) to (9).
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.