Lab-3
Exploring Assembly Language on x86_64 and AArch64 Introduction In this lab, we dive into the intricacies of assembler on both x86_64 and AArch64 architectures. We'll explore code examples, disassemble object files, and write simple assembly programs to understand the core differences and functionalities between these architectures. Setting Up First, we unpacked the provided code examples: cd ~ tar xvf /public/spo600-assembler-lab-examples.tgz This created a directory structure under ~/spo600/examples/ , containing various examples in C and assembly for both architectures. Building and Running C Programs We started with the C programs to establish a baseline: Building the C programs: cd ~/spo600/examples/c make Running the C programs: ./hello ./hello2 ./hello3 Observing the differences: hello.c uses printf() . hello2.c uses write() . hello3.c uses syscall() directly. Disassembling C Binaries Using objdump , we disassembled th...