Write assembly procedure that returns sum of two integers

Assignment Help Computer Engineering
Reference no: EM132148049

Computer Architecture & Operating Systems Assessment - Computer Architecture Assignment

Learning Outcomes -

a) Understand how to evaluate the performance of a computer system.

b) Understand the five classic components of a computer system.

The aim of this assignment is to give students the opportunity to learn more about assembly code, which maps very closely to the machine language itself. The machine language represents the lowest level interface between software and the underlying hardware, which makes assembly code the most direct way to interact with the hardware.

Instructions: This assignment is broken into three tasks, with each successive task building on the last.

In Task 1, students investigate how compilers translate code written in the high-level computer languages C to assembly code, how assemblers translate assembly to machine code, how linkers combine this machine code with library code, and finishing how the loader brings everything into memory for execution.

In Task 2, students learn how to disassemble C code in Visual Studio to its underlying assembly code.

This knowledge is then used to inspect the assembly instructions produced by a variety of C code snippet.

Finally in Task 3, students are asked to implement a number of short assembly procedures.

Task 1: Translation & Start Up of C Programs

1523_figure.png

The above diagram shows the standard four steps to translate a program written in the high-level C language to assembly, then to the machine code, linked with other library machine code, and finally loaded into memory for execution the underlying hardware.

Briefly describe both the processes (ovals) and files/data (rectangles) in the above diagram. The total length of the description should be limited to 800 words. You do not need to go into exhaustive detail on any one topic. Try to highlight the primary goals as well as the key operations / structures.

Task 2: Disassembling C Code in Visual Studio

In the accompanying Task 2 project you will find a number of small C code snippets. You are asked to give the disassembled result for each of these code snippets, with your own inline commenting explaining what the assembly instructions are doing.

You will be marked on your commenting, not on the disassembly you provide. If you do not annotate the disassembly you will not receive any marks.

We will go through the process of disassembling the first code snippet in a lab session.

Task 3: Complete assembly procedures

In the accompanying Task 3 project you will find a number of incomplete assembly procedures. Complete each of these assembly procedures so that the test harness completes without errors. Note that each procedure to be completed has a significant amount of context information about what has been provided and what needs to be done, as well as a discussion of several potential instructions / approaches that may be applicable.

Note that it is essential to provide comments for each line of assembly to make it clear that you understand not only what each line of assembly is doing, but also the structure of the function as a whole. Lack of comments will be heavily penalised.

Task 3 - Problem 1: Write an assembly procedure that returns the sum of two integers.

Task 3 - Problem 2: Write an assembly procedure that returns the minimum of two integers.

Task 3 - Problem 3: Write an assembly procedure that returns the Greatest Common Divisor (GCD) of two integers.

Attachment:- Assignment File.rar

Reference no: EM132148049

Questions Cloud

List and describe three dom objects : List and describe three (3) DOM objects that you believe are essential to a user-friendly Web Application.
Discuss changes in that organizations physical security : Propose and discuss possible changes in that organization's physical security that could have prevented the breach/failure.
Ages of ceos of companies throughout the united states : Ages of CEOs of companies throughout the United States, and answer the questions that follow.
To aid viewers with understanding what the project is about : According to Kirk (2016), viewers need some assistance consuming visualizations. Annotations can be used to help explain certain features of a visualization.
Write assembly procedure that returns sum of two integers : CAO201: Computer Architecture & Operating Systems Assessment - Computer Architecture Assignment, Laureate International Universities, U.S.
Calculate the standardized test statistic : A random sample of 86 eighth grade? students' scores on a national mathematics assessment test has a mean score of 292.
What services should be restored first : Describe the minimum services that must be maintained for that company after the disaster. What services should be restored first ?
Mean and standard deviation of a sampling distribution : Find the mean and standard deviation of a sampling distribution of sample means with sample
List the qualities this position demands that you lack : The facilities coordinator is a critical role. Put yourself in the position of the facilities coordinator.

Reviews

len2148049

10/23/2018 5:45:11 AM

Length Three tasks: Task 1: 800 words max, Task 2: Annotated disassembly of C programs and Task 3: Visual Solution to programming tasks. Submission Instructions: Assignments should be submitted as a single zip file containing the following: Task 1 – A .PDF & .DOCX of the 800 word description of the compilation / execution process. Task 2 – A .PDF & .DOCX containing annotated explanation of assembly produced for each of the C code snippets. Task 3 – Release build zip – A release build executable must be zipped and included with the submission. Ensure that the project settings are set to Release when creating the build. Task 3 – Source code zip – All relevant source code files and project files must be zipped and included with the submission.

len2148049

10/23/2018 5:45:04 AM

Task 1 – 40 marks - Students are only expected to write 800 words, so all of the low-level details of each process is not expected. However, students should be able to succinctly describe what each process if doing, and some of the special operations performed, as well as the format / structure of the files / data between processes. Simply mentioning the operations performed by each process may be sufficient given the tight word count constraints. Task 2 – 40 marks - Students will be marked on their comments of the disassembly from the provided C code snippets. Both the understanding of the individual instructions as well as their context will account for the majority of the marks, but indications of additional inquiry should be given additional award.

len2148049

10/23/2018 5:44:59 AM

Task 3 – 80 marks - Since assembly code does not lend itself to self-documenting code, students will need to comment their assembly code heavily to make it clear that they understand both the individual instructions but also the structure of the procedure as a whole. Correctness of implementation should account for 70% of the marks, this style, efficiency, and simplicity accounting for the remaining 30% of the mark. High Distinction is awarded for work of outstanding quality in achieving all learning outcomes together with outstanding integration and understanding of theory and application of skills. Evidence of in-depth research, reading, analysis, original and creative thought is demonstrated. A consistent academic referencing system is used and sources are appropriately acknowledged.

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd