联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2021-03-02 11:13

University of Liverpool

Department of Computer Science

COMP124 – Computer Systems

Coursework 1 – Assembly Language Programming

Deadline: Thursday 18th March at 17:00

Weighting: 15%

Follow the instructions at the end of this document to submit your work. Penalties for late work will be

applied in accordance with the Code of Practice on Assessment. The standard department marking

descriptors apply to this assessment.

Overview

The purpose of this assessment is to test your ability to write efficient assembly language code and

describe clearly how it works. Write a small assembly language program that…

• Asks the user how many numbers they would like to enter

• Loops for the given number of times

• Prompts the user to input a number each time round the loop

• Displays a summary of how many positive, negative and zero numbers were entered

Your assembly code will be inside an _asm block within a C program, with variables declared using C

syntax, as shown during the lab tasks. Create a new Visual Studio project from your existing template. The

screenshot below shows the expected output of the program.

All the aspects of the program have been covered in the lab tasks, so your program will be based on code

that you’ve already written. In particular, you will use code to output strings, input integers, test or

compare register values, jump according to status flags, and loop according to a counter register. You

should try to make your code as optimal and efficient as possible.

Useful Hint

This program will require a slightly more complex set of tests and jumps than the lab examples, because

you are testing for three possible values (positive, negative, and zero). Write an initial version that detects

only positive and negative numbers, because this will be easier. Submit this version if you can’t work out

how to detect zero values. You will still be able to obtain a passing mark for this assessment. A higher mark

will be awarded if your code can detect all three input possibilities.

Code Comments & Structure

Use the C style comment notation (comments start with //) or the assembly language comment notation

(comments start with ;) to place useful explanations within the code. However, do not write lengthy

comments that get in the way of readability. Include your student ID as a comment at the top of your

code.

Assembly language doesn’t make much use of indentation, but you should still make sure your code is easy

to understand, including correct placement of any code labels. The C code containing your _asm block

should be properly indented.

Short Report

You should also write a short report that describes how you implemented the loop, comparisons and

jumps, and any optimisations you made. This should be just a couple of paragraphs at most. Do not

provide excessive detail. If you encountered any problems (for example if your program doesn’t work),

write about that and show what you were trying to do. Include your student ID at the top of your report.

Show that you tested your program with a variety of input, so include a screenshot of your program

running within the console window. Paste this into your report so it’s all in one document.

Marking Breakdown

Your work will be marked according to the following criteria.

Report: 15% – Clarity, succinctness and understandability

Testing: 10% – Evidence of testing with a range of inputs

Style: 10% – Overall layout, presentation and structure of the code

Programming: 65% – Correctness and efficiency of the code

How to Submit

Locate the Visual Studio project folder in your file system and navigate to the source file. It will have a .cpp

extension. Refer back to the very first lab sheet for guidance on this. Copy this to another location so you

don’t corrupt your project, then change its name so it contains your username and student ID. Save your

report as a PDF document with the same name. For example, if your username is sgnabog and your

student ID is 201355426, your files should be named:

• sgnabog_201355426.cpp

• sgnabog_201355426.pdf

Submit just these two files via the assessment page on Canvas. Please don’t submit any other documents.

We can only mark your work if we can easily locate and open the files. Please do not submit the entire

Visual Studio project.


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp