Lab 3 - Aarch64 assembly challenge
Introduction This week, I tried to overcome the aarch64 compiler challenge at Lab3. The task is very simple, it is just creating multiply table from 1 to 12 with aarch64 assembly compiler. Before creating the code, I made it with C language. int main () { for ( int i = 1 ; i < 13 ; i ++ ){ for ( int z = 1 ; z < 13 ; z ++ ) { printf ( " %d X %d = %d \n " , z , i , i * z ); } printf ( "------------ \n " ); } return 0 ; } In order to make multiplication table, it needs to use double loop. Assembly Code once I created above program with C language I tried to make the assembly code based on the C code. set the outer index variable to 1. .text .globl _start min = 1 max = 13 _start : mov x19 , min // i = 1 Outer loop start: initially I set x15, x16 to 10 and 100 respectively to calculate tens and hundreds place. Once I calculate tens place of index in outer loop I conve...