Changes

Jump to: navigation, search

SPO600 64-bit Assembly Language Lab

138 bytes removed, 12:14, 20 February 2015
no edit summary
{{Admon/lab|Purpose of this Lab|In this lab, you will experiment with assembler on the x86_64 and aarch64 platforms.}}
{{Admon/tip|Australia and Red|Perform this lab on <code>australia.proximity.on.ca</code> or your own system (for x86_64) and on red (for aarch64, accessed via port 2222 on <code>iraq.proximity.on.ca</code>).}}
== Lab 3 5 ==
<!--
The code examples for this lab are available at this link: http://england.proximity.on.ca/spo600/spo600-lab3-examples.tgz
Please download this archive to your accounts on Australia the x86_64 and RedAarch64 systems, and unpack the archive on both systems. Do all of the work for the x86_64 architecture on Australia, and all of the work on the aarch64 architecture on Red.
Unpacking the archive in your home directory will produce the following directory structure:
=== Group Lab Tasks ===
1. Build and run the two C versions of the program for x86_64. Take a look at the differences in the code.
2. Review, build, and run the x86_64 assembly language programs. Make sure you understand the code.
Loop: 9
{{Admon/tip|Character conversion|In order to print the loop index value, you will need to convert from an integer to digit character. In ASCII/ISO-9959-1/Unicode UTF-8, the digit characters are in the range 48-57 (0x30-0x39). You will also need to assemble the message to be printed for each line - you can do this by writing the digit into the message buffer before outputting it to stdout, which is probably the best approach, or you can perform a sequence of writes for the thee parts of the message ('Loop: ', number, '\n').}}
7. Repeat step 6 for aarch64.

Navigation menu