CS6747 Extra Credit #1 - Get your assembly skillz up to speed! Solution
Instructions: Compile the hello world C code we saw in class into assembly code Code: #include <stdio.h> int main(int argc, char* argv[]) { if (argc == 2) printf("Hello %s
", argv[1]); return 0; } GCC Command: gcc -W -Wall -Wextra -Wpedantic -fno-asynchronous-unwind-tables -O0 -S -masm=intel hello.c -o hello.s For each line with an assembly instruction, add a comment explaining what that instruction is doing Be smart about it! No "moves 2 into eax" Instead say: "the number of args must be 2" Grade: 5 extra credit points (fills in lost points on real labs) Teams: This assignment can be done individually or in a team of 2. Please join a group in Gradescope if you are collaborating. Do not create or join a group in Canvas. Canvas groups are different from Gradescope groups. New to Gradescope? This link provides instructions for how to create groups in Gradescope: https://help.gradescope.com/article/m5qz2xsnjy-student-add-group-members Zoom can also provide the ability to collaborate and video conference with your teammate. Submission: Upload your commented assembly code file (called hello.s) to the assignment in Gradescope. Note: Gradescope will only check the formatting of your submission. Gradescope will not automatically check for correctness and provide a grade. What to do when you encounter technical difficulties? If you are experiencing technical difficulty such as being unable to access the AWS workspace, please submit a ticket to the “Digital Learning Tools and Platforms” team at https://gatech.servicenow.com/continuity. And on the ticket, please put “Route to the DLT Team” at the top of the ticket because it will help the Service Desk know where to send it. 1