Open main menu

CDOT Wiki β

Changes

SPO600 64-bit Assembly Language Lab

1,294 bytes added, 11:22, 23 January 2014
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