HW09: Register-Based Calling Conventions due Mon 11 Nov 23:59

Purpose

This assignment gives practice writing x86_64 assembly code that:

Allowed and Disallowed Resources

In completing this assignment you MAY use/access the following resources:

You may NOT use/access:

Failure to abide by these guidelines will result in a zero for the assignment and the incident will be reported to the university provost as a violation of the university academic integrity policy. A second incident of academic dishonesty (whether from this course or another computer science course) will result in an F in the course.

Problem Description

In this assignment you will work with the names.txt data file provided in the data directory of the homework repository. You may find it helpful to use your finished array_str.asm program as a starting point. Your work should be done in the hw09 directory.

The program will read the names from the data file into an array of strings. Then you will display the following information:

The purpose of the program is to learn how to write functions in assembly and how to interface with a high-level language. For that reason your solution must follow these additional guidelines:

To compile and run code from multiple sources:

nasm -f elf64 myprog.asm
gcc -c readstrings.c
gcc myprog.o readstrings.o
./a.out

Grading

Your program will be graded according to the following criteria:
Correctness/Completeness 20 pts
Documentation 2 pts
x86 Conventions 2 pts
Total 24 pts

See Homework #6 for instructions on proper documentation and on x86 assembly language conventions.

Assembly Language

Segmentation Fault Counter

1779736884