Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
Computer Architecture and Assembly
Write an IA32 Assembly program that will take 3 inputs, a, b, and c respectively, and perform the following functions:
- Raise number b to power a.
- Encode text string c to BASE64. As an extension, you can decode the resulting text back to the original ascii string c.
You are expected to submit a compressed archive (.zip), which will include your assembly code and a report documenting your code. The assembly code should be able to run on the Ubuntu-sec204 linux virtual machine. The report should be entitled ‘Computer Architecture and Assembly’. Apart from documenting your code, it should also discuss the range of values your program can deal with, as well as how robust it is to error or unexpected conditions.
The overall length of the individual documentation report (excluding references, appendices) should not exceed 1,000 words. The report that you present should be supported by appropriate evidence. Any such information that you present must be appropriately cited and referenced in your report – please use Harvard referencing style.
Although you will be expected to make use of printed and online literature in researching and producing your materials, it is not acceptable for you to simply copy and paste material from other sources (small quotes are acceptable, but they must be clearly indicated as being quotes and the source must be referenced appropriately).
Marking Criteria:
Accuracy of results (30%)
Does the assembly code compile and run on the Ubuntu-sec204 environment? Does the code produce accurate and expected results according to the documentation and the range of values?
Functionality and robustness (20%)
Does the assembly code contain all requested functionality? Can it deal with a wide range of input values, errors and unexpected user input?
Documentation and commenting (40%)
Does the documentation specify the intended execution of the code? Does it specify the equivalent high-level pseudocode? Does it specify any assumptions for input data types and the range of values the program can work with? Is the documentation and implementation informed by secure coding principles?
References & Evidence (10%)
Is the report supported by a wide set of references? Is the format correct and consistent?
Threshold Criteria (these are indicative only):
To achieve a pass (40%+), you must demonstrate basic understanding of assembly instructions and data types. The assembly code could provide partial functionality. Your documentation should demonstrate basic understanding of secure coding principles.
To achieve a good pass (50%+), you must demonstrate good understanding of assembly instructions and data types. The assembly code could provide good functionality of both elements, producing accurate results for basic user input. Your documentation should demonstrate good understanding of secure coding principles and draw evidence from different sources.
To achieve a merit mark (60%+), you must demonstrate very good understanding of assembly instructions and data types. The assembly code could provide robust functionality of both elements, producing largely accurate results for user input. Your documentation should demonstrate very good understanding of secure coding principles and draw evidence from different sources. The documentations should consider the rage of values the program can deal with, as well as different error conditions.
To achieve a distinction mark (70%+), you must demonstrate excellent understanding of assembly instructions and data types. The assembly code could provide robust functionality of both elements, producing accurate results for various user inputs and error conditions. Your documentation should demonstrate excellent understanding of secure coding principles and draw evidence from a wide variety of different sources. The documentations should consider the rage of values the program can deal with, as well as different error conditions.