Posts

Showing posts from March, 2024

GCC Project and My potential contribution

 In the following weeks, I will work with the GCC for Aarch64 machines . This is, for me, a very interesting project as well as challenging. In my whole life, I have never thought of actually modifying an existing compiler let along one of the most popular, powerful one. In this article, we will see what this project aims to do and my part as a contributor of the project Project description Normally, when we compile a program, we often compile it for a specific architecture. Everything would be fine if the architecture stays the same forever. However, like us, they are also improved, with more and more features, functionalities that could potentially provide faster runtime and better experience for their users. As the result, we programmer aims to make our programs faster and better, and one of the way to do so is to pick up new features whenever possible so that our programs can utilize all available resources that the machine offers them. This is a problem for the GCC compiler be...

Lab 3

 In this lab, I learned how to write a basic for loop and create if else conditions and I found a lot of fun.  During a previous class, professor taught me how the syntaxes of 2 architectures: x86_64 and aarch64. He showed me how to create a basic program that prints out the iteration index 10 times. My responsibility is to update the program and let it runs 30 times. At first I thought it was easy (in JavaScript it takes only 3 lines to do so) and then I realized that this was Assembly and I still have PTSD about the time I worked on lab 1 and 2. However, I think because I worked with 6502 before, this was not as difficult as I think. Or maybe because I didn't have to work with a screen, I don't really know. Anyways, here is the code: Aarch64:  .text  .globl _start  min = 0                          /* starting value for the loop index; **note that this is a symbol (constant)**, not a variable */ ...