1,885
edits
Changes
no edit summary
== Lab 3 ==
=== Ireland - Configuration ===
The host ''Ireland'' (ireland.proximity.on.ca) has been set up so that you can use it normally as an x86_64 host, or [[SPO600 aarch64 QEMU on Ireland|use an emulation environment to build and run aarch64 binaries]].
The directory <code>~/arm64/spo600/examples<code>, which is also accessible as <code>~/spo600-examples</code>, contains these files:
── hello
├── assembler # 'hello world' example programs
│ ├── aarch64 # aarch64 assembler version
│ │ ├── hello.s
│ │ └── Makefile
│ └── x86_64 # x86_64 assembler versions
│ ├── hello-gas.s # 64-bit instructions for assembley with the gnu assembler (called 'gas', /usr/bin/as)
│ ├── hello-nasm.s # 32-bit instructions for assembley with the nasm assembler (/usr/bin/nasm)
│ └── Makefile
└── c
├── hello2.c # C version using the write() syscall wrapper
├── hello.c # C version using printf()
└── Makefile
Throughout this lab, take advantage of ''[[make and Makefiles|make]]'' whenever possible.
=== Lab Tasks ===
1. Build the C version of