You are on page 1of 3

BACS1113 COA: Assignment (JAN 2022) ver2.

BACS1113 ASSIGNMENT (JAN 2022)


Learning Outcome:
(P3: Practical Skills)
CLO3: Produce the solution on programming problem by using assembly language skills. (P3, PLO3)

NO Grouping
This is an Individual work. Please work independently.

Rules/ Instructions
1) Lecturers/ Tutors will not troubleshoot the assembly code for you.
2) Please do so independently. Use the Debugging Tools/ VS2019/ VS2022.
3) Please READ this document carefully.
4) Submission shall be instantaneously rejected if FORMATS are not adhered.
5) A Template.docx shall be provided. Please use it.
6) Please DO NOT do last minute work. Start immediately without delay.

Assessment
This assignment contributes an overall 30% weightage of your BACS1113 course.
20 % – (CW) E-Test
30 % – (CW) Assignment (100 marks – 30% weightage)
50 % - Final Examination

Student Ethics & Penalty


1) Any cheating, plagiarism, collusion or attempts to gain an unfair assessment advantage will result in penalty.
2) Students are NOT ALLOWED to share their work with others, but feel free to have discussion with them.
3) If CHEATING is discovered, BOTH parties will take equal blame (get ZERO).
4) Note that this MUST be your own work, although you may incorporate ideas from books/ online resources.
5) By copying materials directly from any sources of materials will lead to ZERO.
6) You have been warned. Whenever you face any problems, please seek advice from your lecture/tutor.

Submission Date
Assignment: Week 12, Thursday (5 pm)

Submission Details:
Grouping NONE : Individual Work
Date of Issue Week 4
Date of Submission Week 12 (Thurs– 5pm) Strictly no later
Deliverables (softcopy) Name.asm + Name.docx (Use Template.docx)
Submission Submit to Respective Practical Lab Tutor via Google Classroom (GC)
Submission Format Use provided Template.docx
Page Count (.docx) Strictly < 10 pages (use Template.docx)

Late Policy
The assignment should be submitted on the due date stated unless there are legitimate reasons as to why
a student cannot complete the assignment by due date. As a general rule, no extension of time will be
granted. Assignment received after the due date without legitimate reason will be penalized.
* Late 1 to 3 days after deadline of submission: minus 10 marks
* Late 4 to 7 days after deadline of submission: minus 20 marks
* Late more than 7 days after deadline of submission: 0 mark.

Feedback:
A Feedback will be returned to students latest by Week 13/ Week 14 by your respective tutor in
charge of Practical Assignment.
BACS1113 COA: Assignment (JAN 2022) ver2.0

ASSIGNMENT QUESTION
Write 32-bit assembly code for only ONE program/ module to implement any arithmetic
operation. (30 % weightage)
DUE: W12 (Thursday) by 5pm
INSTRUCTIONS:
1) Student suggest ONE program/ module which include arithmetic/ mathematical operation.

2) Students to implement arithmetic/mathematical operations into this 32-bit assembly language.

3) Students are advised to use Microsoft Visual Studio and Irvine library to develop your program.

4) Please briefly comment your ASM code.

5) Example Program/ Module (must include arithmetic computation):


Example: A calculator module with arithmetic/ logic functions
Example: Payment module for Restaurant
Example: FD interest module for Banking
Example: CGPA calculation module for University
Example: Ticketing module for Movies
Others (Choose ONE only)

6) Please include ALL the following features in your ONE single program/module:
(1) Provide a way for users to enter input.
(2) Verify user input with constructive guides. (E.g.: invalid. Enter only integers 0-9)
(3) Perform at least 3 arithmetic/ logic computation. (E.g. ADD SUB MUL DIV NEG etc.)
(4) Perform 2 decimal point calculation (in any one of your calculations).

7) Submit ONLY ONE (1) module (with the above features). No marks awarded for extra modules.

8) Submit (softcopy) (to respective practical class tutor Google Classroom):


(1) Name.asm
(2) Name.docx (MUST use Template.docx)

9) Please submit by DUE DATE: W12 (Thursday) before 5pm to avoid marks deduction.

References
Lecture notes: Lecture L6 L7 L8
L6 - Assembly Language (32-bits) - Assembly Language Fundamentals I
L7 - Assembly Language (32-bits) - Assembly Language Fundamentals II
L8 - Conditional Processing

Online Resources & BOOK (References)


[1] Kip R. Irvine, 2020. Assembly language for x86 processors. 8th edition. Pearson.
[Call Number (TARUC Library) : 005.265 IRV 8th ed]
online ref: http://www.asmirvine.com/
[2] Irvine - 32-bit Tutorials (VS2019)
https://www.asmirvine.com/gettingStartedVS2019/index.htm#tutorial32
[3] [80386] 32-bit ASM :
https://pdos.csail.mit.edu/6.828/2018/readings/i386/toc.htm
[4] [80386] 32-bit ASM:
https://www.tutorialspoint.com/assembly_programming/assembly_conditions.htm
[5] INTEL IA-32 Instruction Set & Manual
https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-
software-developer-instruction-set-reference-manual-325383.pdf
BACS1113 COA: Assignment (JAN 2022) ver2.0

Assessment Main Rubrics


Table 1: BACS1113 Main Rubrics (Assignment Assessment)
BACS1113
P3: Practical Skills
CLO3: Produce the solution on programming problem by using assembly language skills. (P3, PLO3)

Programme & Group (e.g. RIS2-G6) :


Name :
MAIN RUBRICS
Assessment
Excellent Good Average Poor Non-
Criteria
Submission
10 7-9 4-6 1-3 0
Flow Chart is Flow Chart is Flow Chart is Flow Chart is No Submission
FLOW Perfect. 100% >80% >50% < 50% or
CHART consistent consistent with consistent consistent with No Evidence
with ASM ASM code and with ASM ASM code and of any work done.
(.docx) code & has has 1 to 3 code and has has only 1 to 3
(10 marks) NO ERRORS ERRORS 40-60% items Correct
ERRORS

Excellent Good Average Poor Non-


Submission
[Use Table 2] 20 14-18 8-12 1-7 0
Perfectly Satisfies Satisfies Satisfies No Submission
CODE Satisfies ALL 14-18 points 8-12 points 1-7 points or
(.asm) 20 points of ASM Code of ASM Code of ASM Code No Evidence
of ASM Code Requirements Requirements Requirements of any work done.
(20 marks)
Requirements [use Table 2] [use Table 2] [use Table 2]
[use Table 2]
Marks (30 marks):

Marks /30 * 100 = TOTAL (100%):

Table 2: Sub-Rubrics (ASM Code Requirements)


ASM Code Requirements POINTS
Item (For 32-bit Assembly Program) Poor Average Good
(0-1) (1-2) (3-4) Points
1. Provide a way for users to enter input.

2. Perform at least 3 arithmetic/ logic computation


(E.g. ADD MUL NEG)

3. Verify user input with constructive guides.


(E.g.: Invalid. Enter 0-9 only)

4. Perform 2 decimal point calculation


(in one of student’s calculations).

5. Code is commented, well-organized and uses best


approach.
POINTS (TOTAL) :

You might also like